实验八

作者: 退堂鼓国家一级艺术家 | 来源:发表于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