ms1234 发表于 2022-8-29 21:19:24

汇编,第10章的问题,救急,求大佬解答

本帖最后由 ms1234 于 2022-8-29 21:37 编辑

第10章的
call和ret指令02的
10.6 转移地址在内存中的call指令

10.6 转移地址在内存中的call指令
比如下面的指令:
mov sp,10h
mov ax,0123h
mov ds:,ax
call word ptr ds:
执行后·(IP)=0123H   (sp)=0EH
为什么执行后IP是0123H?不理解,求大佬解答
呜呜呜

我初步理解是信息ds:内存里是0123H
然后   执行call word ptr ds:指令
也就是puship
jmpword ptrds:
因为ds:内存里是0123H,所以ip变成了0123H

是这样子吗?各位大佬

jackz007 发表于 2022-8-29 21:43:07

本帖最后由 jackz007 于 2022-8-29 21:44 编辑

      需要调用的函数地址 ax 被放进了 ds: 中,那么
      call ds:
      其实就是
      call ax
      或者,是
      call 0123
      这 3 条指令都是一回事
      既然是 call 0123,那么,下一条指令的 IP 自然就是 0123 了。

ms1234 发表于 2022-8-29 21:56:14

jackz007 发表于 2022-8-29 21:43
需要调用的函数地址 ax 被放进了 ds: 中,那么

      其实就是


好的好的,谢谢大佬
页: [1]
查看完整版本: 汇编,第10章的问题,救急,求大佬解答