| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 601 人关注过本帖
标题:____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
快速回复:____xyz call 指令问题
数据加载中...
 
   



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

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