实验八

作者: c3f53297fc45 | 来源:发表于2017-07-10 20:05 被阅读19次

说明

  1. 先让ax=0
  2. 执行s中的两条nop,作用大概是将ip+2
  3. 把s2中的第一条指令写到s里去
  4. 跳到s去
  5. 执行s2里的命令,但是要注意的是,对于s2来说,跳转到s1去只需要往上移三条指令
mov ax,0
int 21h
mov ax,0

就到了s1。而由于jmp short 标号这个机器码记录的不是目的地址,而是转移到目的地址的位移。当把s2的指令写给s时,对应于该转移的初始位置变成了s,因此往上移三条指令到了源程序的第3行(mov ax,4c00h),而不是s1里的(mov ax,0)。

由此可见:

  1. jmp short 标号这一条指令转成机器码后记录的是到目的地址的位移。
  2. 传送指令传送的也是机器码,而不是汇编指令。

相关文章

网友评论

    本文标题:实验八

    本文链接:https://www.haomeiwen.com/subject/bmuuhxtx.html