标题:____xyz call 指令问题
取消只看楼主
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
结帖率:97.3%
已结贴  问题点数:10 回复次数:2 
____xyz call 指令问题
程序代码:
assume cs:code, ss:stack

stack segment
    dw  0,0,0,0,0,0,0,0
stack ends

code segment
    start:
        mov     ax, 0       ;0,1,2
        call    far ptr s   ;3,4,5,6,7    前面共占7字节,可是call后栈中的IP却为8.为什么.?  

        ;call指令相当于push cs , push ip , jmp far ptr 标号.        
        ;也就是说会把当前cs,ip压入栈中,可为什么ip入栈后是8...      = =#怎么感觉这个问题这么弱智。。。

        inc     ax
    s    :
        pop     ax
        add     ax, ax
        pop     bx
        add     ax, bx

        mov     ax, 4c00h
        int     21h


code ends

end start

搜索更多相关主题的帖子: color 
2012-09-29 09:12
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
得分:0 

        call指令
        相当于push cs
        push ip ,
        jmp far ptr 标号.

 我只是奇怪为什么ip入栈是8

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-09-29 09:33
admin_xyz
Rank: 2
等 级:论坛游民
帖 子:195
专家分:77
注 册:2012-6-24
得分:0 
回复 5楼 有容就大
谢谢了,差不多明白了。

总有人比你努力,可怕的是比你牛的人比你还努力。
2012-09-29 21:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382305-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.552848 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved