《零基础入门学习汇编语言》实验二
本帖最后由 shuiyu 于 2017-6-29 22:45 编辑小白刚学,不对的请各位大佬指正,谢谢{:10_254:}
由于鱼C论坛的回档,我昨天的笔记消失了.... 所以今天先补回昨天的两个笔记。
实验二
(1)使用DEBUG,将上面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。(红色的为填空)
mov ax,ffff
mov ds,ax
mov ax,2200
mov ss,ax
mov sp,0100
mov ax, ;ax= 5BEAH
add ax, ;ax= 5CCAH
mov bx, ;bx= 30F0H
add bx, ;bx= 6027H
push ax ;sp= 00FEH ,修改的内存单元地址是 2200:00FE 内容为 5CCAH
push bx ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 6027H
pop ax ;sp= 00FEH ,ax= 6027H
pop bx ;sp= 0100H ,bx= 5CCAH
push ;sp= 00FEH ,修改的内存单元地址是 2200:00FE 内容为 30F0 内容是根据前面的mov bx, ;bx= 30F0H 得到的因为都是这个内存单元的数据
push ;sp= 00FCH ,修改的内存单元地址是 2200:00FC 内容为 2F37 内容是根据前面的add bx, ;bx= 6027H得到的,用结果减掉前面bx的值就得到内容了
我的一些操作见下图:
(2)
仔细观察图3.19中的实验过程,然后分析:为什么2000:0~2000:F中的内容会发生改变?
书本给出的答案:
答:因为在debug使用T等指令引发了中断造成的,中断过程使用当前栈空间存放cpu关键数据,所以,你的栈里就有些不是你操作的数据了。
这个问题后面会学到,不过这里也要有个印象,因为如果是在中断过程中压栈是栈越界的话,在windows下的命令窗口会强制关闭的。这个可能在你跟踪一些程序的时候会遇到,到时候有个思考方向。
自己的理解:当使用T命令引起中断,这其实也是一个异常(就是出错的意思);而一旦发生异常,CPU会调用某些程序,某些命令或机制去处理这些异常,或许也不是CPU主动的去调用,也可能是被动的要去调用执行。调用这些肯定要占用内存,刚好我们使用的内存段就在这;所以我们的内存段被占用了,从而发生了改变。
谢谢小甲鱼带来的视频教程,感谢!! {:10_303:}
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢{:10_254:} 本帖最后由 BellXu 于 2017-7-9 14:42 编辑
为什么我内存里FFFF:0000开始的内容不一样呢?
BellXu 发表于 2017-7-9 14:40
为什么我内存里FFFF:0000开始的内容不一样呢?
每个计算机的内存地址都不一样,王爽汇编语言前面提到过。 BellXu 发表于 2017-7-9 14:40
为什么我内存里FFFF:0000开始的内容不一样呢?
每一个电脑的内存里的数据都不一定是一样的哦{:10_254:},所以我们的答案都是不一样的,这题没有标准答案 我是大神哥哥 发表于 2017-7-9 15:10
每个计算机的内存地址都不一样,王爽汇编语言前面提到过。
明白了 感谢! shuiyu 发表于 2017-7-9 23:44
每一个电脑的内存里的数据都不一定是一样的哦,所以我们的答案都是不一样的,这题没有标准答案
明白了 感谢! 为什么2000:0~2000:F中的内容会发生改变? 这个问题我也思考了一下,首先栈段是自己安排的,CPU并不会由于这种安排,就在执行push、pop等栈操作指令时自动地将我们定义的栈段当作栈空间来访问。这段话,可以在王爽汇编语言第三版,第三章 栈段 找到。
可想而知,当时设计人员为了不使出错,所以出现中断这么一个说法。具体想要了解得更清楚,所以需要学习到中断哪里。
我是大神哥哥 发表于 2017-7-15 17:30
为什么2000:0~2000:F中的内容会发生改变? 这个问题我也思考了一下,首先栈段是自己安排的 ...
嗯嗯{:5_106:}毕竟现在知识有限,自己也不好多加推断和评论{:5_109:} 为什么我的 mov ax, 老是提示错误啊 华灯初上7923 发表于 2017-10-27 10:16
为什么我的 mov ax, 老是提示错误啊
问题解决了吗?没有的话截图发上来我帮你看看呗{:5_109:} shuiyu 发表于 2017-10-27 13:54
问题解决了吗?没有的话截图发上来我帮你看看呗
好像说什么是软件版本之类的问题? ERROR- -09E7 我至今搞不明白课本上例程的相关软件怎么弄。。。老是各种非法命令、、、{:5_100:} shuiyu 发表于 2017-10-27 13:54
问题解决了吗?没有的话截图发上来我帮你看看呗
shuiyu 发表于 2017-10-27 13:54
问题解决了吗?没有的话截图发上来我帮你看看呗
我用QQ的快捷键截图了但好像传不上来啊。。。 华灯初上7923 发表于 2017-10-31 21:22
我用QQ的快捷键截图了但好像传不上来啊。。。
额。。。你是在32位系统里面运行的吗?我用的是XP的{:10_312:} shuiyu 发表于 2017-11-1 16:49
额。。。你是在32位系统里面运行的吗?我用的是XP的
后来加进群里有一位老铁帮我解决了兄弟加个Q以后和你探讨探讨 792355718{:5_100:}
页:
[1]