注册 登录
编程论坛 汇编论坛

王爽汇编中的问题2

djxh77710 发布于 2008-10-28 23:50, 1213 次点击
现在看到[BX]与LOOP使用了.
但是有一个地方不理解了.希望版主大哥帮忙一下.

assume cs:abc

abc    segment

       mov ax,0
       mov cx,236
     s:add ax,123
       loop s
       mov ax,4c00h
       int 21h
abc ends

end
这个程序是做123X236.但是MOV AX,4C00H这是干什么?书里面每个例子里面都有这一句.
这个程序加完以后,值是保存在AX寄存器里面,而跳出循环以后,又把4C00H复盖在AX里面,那这个程序的意义不就没有了吗?

[[it] 本帖最后由 djxh77710 于 2008-11-3 13:47 编辑 [/it]]
4 回复
#2
ONEPROBLEM2008-10-29 00:13
呵呵~~有意思.
为了防止 MOV AX,4C00H把原来AX中的值覆盖掉,那你可以在这条指令之前把AX的值保存起来呀?
每个程序都会有这么一句,等你学到"中断调用"部分的内容,就会明白了,它是为了保证程序的正常退出(结束)呀.
#3
djxh777102008-10-29 09:15
[bo][un]ONEPROBLEM[/un] 在 2008-10-29 00:13 的发言:[/bo]

呵呵~~有意思.
为了防止 MOV AX,4C00H把原来AX中的值覆盖掉,那你可以在这条指令之前把AX的值保存起来呀?
每个程序都会有这么一句,等你学到"中断调用"部分的内容,就会明白了,它是为了保证程序的正常退出(结束)呀.
     呵呵,谢谢啦.
#4
cnhanxiao2008-11-01 01:23
"这个程序是做123的236次方"???
#5
qinrentuan2008-11-02 20:30
这个程序应该是实现123*236吧.
1