属専色灰 发表于 2012-12-28 05:30:27

汇编语言小甲鱼第10章ret那个我没想清楚,帮忙一下

本帖最后由 属専色灰 于 2012-12-28 06:52 编辑

assume cs:code

stack segment   这里是申请内存,我知道
db 16 dup (0)
stack ends

code segment
   mov ax,4c00h    这里是最后要跳转的地方
         int 21h

start: mov ax,stack   关联
       mov ss,ax       赋值
         mov sp,16       指明栈的长度
         mov ax,0      这里指明位置,也就是偏移地址
         push ax         送入栈
         mov bx,0         这句干嘛的?我就是这里不明白 ,求解答一下
      
         ret            这里跳到CS :IP 的地址执行代码

code ends

end start

属専色灰 发表于 2012-12-28 05:31:25

为什么要把bx清零呢!

张国祥 发表于 2012-12-28 06:17:09

mov sp,16       指明栈的长度————应该是指明栈顶
mov bx,0;对本程序来说无实际意义,去掉他对程序正确执行无影响

属専色灰 发表于 2012-12-28 06:51:59

张国祥 发表于 2012-12-28 06:17 static/image/common/back.gif
mov sp,16       指明栈的长度————应该是指明栈顶
mov bx,0;对本程序来说无实际意义,去掉他对程序正确 ...

好的,明白了。原来是这样

牡丹花下《》 发表于 2012-12-28 22:02:44

这个程序感觉为什么最后执行mov ax,4c00h

牡丹花下《》 发表于 2012-12-28 22:03:48

这个程序为什么最后执行mov ax,4c00h;int 21h;????

GUZHEN 发表于 2016-3-8 11:09:06

将存储器指针清零
页: [1]
查看完整版本: 汇编语言小甲鱼第10章ret那个我没想清楚,帮忙一下