汇编网首页登录博客注册
gnunix的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
友情链接

[2012-05-12 11:33] 检测点3.1 && 3.2

下面是我做出来的答案:
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
检测点3.1
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

(1)

mov ax,1

mov ds,ax

mov ax,[0000]   AX=2662H

mov bx,[0001]   BX=E626H

mov ax,bx       AX=0C88H

mov ax,[0000]   AX=2662H

mov bx,[0002]   BX=D6E6H

add ax,bx       AX=FD48H

add ax,[0004]   AX=2C14H

mov ax,0        AX=0000H

mov al,[0002]   AX=0002H

mov bx,0        BX=0000H

mov bx,[000c]   BX=0026H

add al,bx       AX=000CH

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

(2)

各寄存器的初始值:CS=2000H,IP=0,DS=1000H,AX=0,BX=0;

我把①②两小问综合在一起了,以下是我的解答:

mov ax,6622H   取指令;IP=0003;执行命令;AX=6622H;

jmp 0ff0:0100  取指令;IP=0008;跳转,CS=0FF0,IP=0100H;

mov ax,2000H   取指令;IP=0103;执行命令;AX=2000H;

mov ds,ax      取指令;IP=0105;执行命令;DS=2000H;

mov ax,[0008]  取指令;IP=0108;执行命令;AX=C389H;

mov ax,[0002]  取指令;IP=010B;执行命令;AX=EA66H;

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

我认为数据和程序在内存中没有区别;数据通过数据段地址知道,程序通过代码段地址知道。

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
检测点3.2
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

(1)
空缺处填:

mov ax,2000H

mov ss,ax

mov sp,10H

;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

(2)
空缺处填:

mov ax, 1000H

mov ss,ax

mov sp,10H  ;这里应该sp应该是0000,因为栈满,sp指向栈顶
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
评论次数(3)  |  浏览次数(535)  |  类型(汇编作业) |  收藏此文  | 

[  tomato   发表于  2012-05-12 23:09  ]

检测点3.2的第二小题填写的有问题。

[  gnunix   发表于  2012-05-13 09:47  ]

第二小题的sp设置的有问题吧?

[  tomato   发表于  2012-05-13 23:39  ]

是的,改对了。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码