汇编_循环的使用

Posted 一只特立独行的猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编_循环的使用相关的知识,希望对你有一定的参考价值。

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

以上是关于汇编_循环的使用的主要内容,如果未能解决你的问题,请参考以下文章

汇编程序循环无法正常执行

《Linux内核 核心知识全解析(完)》

汇编:增加2(或更大数字)而不破坏ADC循环中的CF?

汇编_双重循环

常用python日期日志获取内容循环的代码片段

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销