这个程序段每一步是什么意思,初学不太懂
发布网友
发布时间:2022-05-05 23:47
我来回答
共3个回答
热心网友
时间:2022-06-28 08:17
assume cs:code
code segment
start:
mov bx,6
mov ax,0 ;ax初始化为0, 因为ax存放的是最终结果
mov cx,5
loop1: add ax,bx ;这里应该是add ax,bx,因为要算的是6+7+8+9+10
;如果是mov ax,bx就不符合楼主你的问题了
inc bx ;bx依次是6,7,8,9,10
loop loop1 ;cx = cx - 1, 当cx不为0, 继续执行loop1
;loop的功能是先将cx-1,然后判断cx是否为0,如果不为0,继续执行loop1, 如果为0,结束循环
mov ax,4c00h ;功能:程序正常结束
int 21h
code ends
end start
PS:若有不明白的地方,可以追问
热心网友
时间:2022-06-28 08:17
首先要了解mov指令,(mov 目的,源),mov bx,6的意思可以理解为将bx赋值为6.
inc是自增指令,inc bx即 bx=bx+1;
mov ax,4ch
int 21h 这两句是配合使用的,使用DOS功能调用输出结果。追问为啥要把0赋值给Ax呢?loop 不是cx-1!=0,否则顺序执行的意思吗,在这什么意思啊?。。
追答loop本身循环一次就会自动执行cx-1。
热心网友
时间:2022-06-28 08:18
4c00h是返回dos的功能调用,配合int 21h可以是汇编程序返回都是界面,从而使程序程序可以更方便的结束