汇编_循环的使用

loop对cx寄存器进行自减操作,即
(cx) = (cx) - 1
当(cx)不等于0时,跳转到指定的地址。

//计算2的12次方
assume cs:code//将code定义为代码段

code segment

start://定义代码开始地址
    mov ax, 2;
    mov cx, 11;

s:  add ax, ax;
    loop s;//跳转地址

    mov ax, 4c00h;
    int 21h;

code ends
end start;//代码结束

debug时,可以用p命令进行快速执行循环,或者使用g命令执行到目标地址(偏移量)

//计算[ffff6]*2^123
assume cs:code

code segment

    mov ax, 0ffffh;
    mov ds, ax;//定义段地址

    mov bx, 6;//只有bx寄存器才可以进行偏移
    mov ax, [bx];//设置偏移地址,最终地址为ffff6

    mov cx, 123;
s:  add ax, ax;
    loop s;

    mov ax, 4c00h;
    int 21h;

code ends
end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值