汇编语言
1. 循环语句loop
loop指令的格式是:loop 标号,CPU执行loop指令的时候,要进行两部操作
- cx = cx - 1;
- 判断cx中的值,不为0则转至标号处执行程序,如果为0则向下执行
- 循环使用loop来实现,循环次数存放在cx当中
- cx相当于计数器(count)
2. 编程计算2^12,结果存在ax中
//code.asm文件代码
assume cs:codesg //相当于c++头文件
codesg segmentmov ax,2mov cx,11s: //相当于Python的函数定位,函数名:add ax,ax //相当于二进制右移一位loop s //cx不为0,回到循环前int 21h //结束代码codesg ends
end//code.asm编译、链接和运行
mount c d:masm
c:
dir
masm
code
link
code
debug code.exe
r
t
3. 循环tips
3.1 u 076a:0000
- 代码被放在cs:0000里面,如076a:0000
- 我们可以提前查看代码,来确定程序将执行到的地址,不然每次都按t执行代码很麻烦
3.2 g 0012
- g 0012 这一行代码可以执行到程序的最后一步
- g(go) 偏移地址,直接执行到这一步
3.3 p指令
- 我们希望循环一次执行完,可以使用p命令来达到目的
- 在遇到loop时,可以用p命令一次执行完循环
4. 实现从1加到100
assume cs:codesg
codesg segmentmov ax,0mov bx,0mov cx,100s:inc axadd bx,axloop sint 21h
codesg ends
end