您的位置:首页 > 其它

8086汇编语言自学经验分享 call word ptr指令示例

2016-07-25 16:40 477 查看
镇场诗:吾心为他人,此智不私藏。学术有小成,愿帮大家忙。诚心说愿望,愿见文者得启发。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

assume cs:code

code segment
start:
mov ax,0700h  ;设置栈的地址
mov ss,ax
mov sp,10h

mov ax,1234h  ;设置存储数据的地址
mov ds,ax

mov ax,4321h  ;向存储数据的地方,投放数据
mov ds:[0],ax

call word ptr ds:[0]
mov ax,1111h  ;push的ip地址是 mov ax,1111h的

pop ax

mov ax,4c00h
int 21h
code ends
end start









下面的命令没有执行,为什么呢?

mov ax,1111h  ;push的ip地址是 mov ax,1111h的

pop ax
因为,

call word ptr ds:[0]
进行的过程是,

push ip

jmp word ptr ds:[0] 这一步改变了IP的值,所以他下面的指令改变了 .这一步的指令相当于 mov ip,ds:[0]。虽然不能这么写,但是可以这样解释。

王爽老师的解释方法:用已学的解释未学的,太有用了!感恩王爽老师

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

学习汇编语言,为微机原理课程打一下基础。我自学的书籍是 汇编语言 王爽 清华大学出版社。这本书通俗易懂。王爽老师写的真不错,推荐新手入门选择这本书。

我将学习中一些知识点写到博客中,是因为自学的道路很苦,所以想通过分享自己的经验让大家自学的道路好一些。二是,通过博客的记录,可以有效地防止知识的遗忘。三是,知识随着网络的发展将碎片化的趋势,顺着趋势走。

如果您发现我有什么写的不对的地方,请您指正。我会尽快修改的。我用的是dos box,安全稳定。

我不是大神,我只是一个正在奋斗的普通人。所以希望大家看了我的文章,能够得到一些启发。如果能解决问题,那就太好了。

注:此文仅用于学术研究。如果我侵犯了您的权益,请告知。看到您的告知后,我将及时作出处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: