(1)将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe
assume cs:codesg
codesg segment
mov ax,2000H
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00H
int 21H
codesg ends
end
(2)用Debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内存和栈顶的内容
答:
C:\>debug t1.exe
-r
AX...
- [游客] 但是这里提到了cpu的无论怎么变化啊.万一变个32位的cpu对应的地址总线编程了32位.这样就不行了 08/12 17:58
- [squaaa] 谢谢 可以继续下一章的学习啦 01/28 17:09
- [tomato] 正确!继续加油! 01/23 12:01
- [younggay] 回答正确。 01/19 17:46
- [younggay] 回答的都没问题。继续加油。 01/19 16:53
- [squaaa] 谢谢crazyman的点拨,当段地址在小于1001H或大于2000H时,CPU无论怎么变化偏移地址都 01/18 20:29
- [squaaa] 多谢crazyman 01/18 20:22
- [crazyman] 思考题 当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元? ======= 01/18 16:01
- [crazyman] 分析正确。 01/18 15:49
- [squaaa] 谢谢 mess ,我会继续加油的 ! 01/17 14:45
[2009-01-22 00:21] 第4章实验3
阅读全文 |
评论次数(2) |
浏览次数(1002) |
所属类型(汇编作业)
[2009-01-19 16:58] 检测点3.2
分析:(1)看程序是push指令,是向20000H~2000FH中做进栈操作,设置栈顶指针,初始化为空栈,故答案如下;
(2)看程序是pop指令,是从10000H~1000FH单元中做出栈操作,设置栈顶指针,ss=1000H,sp=0000H,pop [E].出栈数据放到2000EH中,依次出战.
(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序copy到20000H~2000FH中。
mov ax,1000H
mov ds,ax
答:
mov ax,2000H
mov ss,ax
mov sp,0010H
push ...
(2)看程序是pop指令,是从10000H~1000FH单元中做出栈操作,设置栈顶指针,ss=1000H,sp=0000H,pop [E].出栈数据放到2000EH中,依次出战.
(1) 补全下面的程序,使其可以将10000H~1000FH中的8个字,逆序copy到20000H~2000FH中。
mov ax,1000H
mov ds,ax
答:
mov ax,2000H
mov ss,ax
mov sp,0010H
push ...
阅读全文 |
评论次数(1) |
浏览次数(810) |
所属类型(汇编作业)
[2009-01-19 02:14] 检测点3.1
在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
MOV AX,1
MOV DS,AX
MOV AX,[0] AX=2662H
MOV BX,[1] BX=E626H
MOV AX,BX AX=E626H
MOV AX,[0] AX=2662H
MOV BX,[2] BX=D6E6H
ADD AX...
0000:0000 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
MOV AX,1
MOV DS,AX
MOV AX,[0] AX=2662H
MOV BX,[1] BX=E626H
MOV AX,BX AX=E626H
MOV AX,[0] AX=2662H
MOV BX,[2] BX=D6E6H
ADD AX...
阅读全文 |
评论次数(1) |
浏览次数(883) |
所属类型(汇编作业)
[2009-01-17 18:59] 检测点2.3
检测2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP的值是什么?
mov ax,bx
sub ax,ax
jmp ax
答:CPU四次修改了IP的值,第一次是读mov ax,bx 之后。第二次是读sub ax,ax ,第三次读jmp ax之后,而最后一次是由jmp ax执行的结果所影响,修改了ip的值。最后一次IP=0000H....
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP的值是什么?
mov ax,bx
sub ax,ax
jmp ax
答:CPU四次修改了IP的值,第一次是读mov ax,bx 之后。第二次是读sub ax,ax ,第三次读jmp ax之后,而最后一次是由jmp ax执行的结果所影响,修改了ip的值。最后一次IP=0000H....
阅读全文 |
评论次数(2) |
浏览次数(867) |
所属类型(汇编作业)
[2009-01-17 14:41] 检测点2.2
1.00010H 1000FH
2.有一数据存放在内存20000H单元中,现给定段地址为SA,
若想用偏移地址寻到此单元,则SA应满足条件是:
最小为1001H 最大为 2000H_。
思考题 当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
,我认为FFFA FFFB FFFC FFFD FFFE FFFF 这些段地址都不能使CPU寻到20000H单元。...
2.有一数据存放在内存20000H单元中,现给定段地址为SA,
若想用偏移地址寻到此单元,则SA应满足条件是:
最小为1001H 最大为 2000H_。
思考题 当段地址给定为多少,CPU无论怎么变化偏移地址都无法寻到20000H单元?
,我认为FFFA FFFB FFFC FFFD FFFE FFFF 这些段地址都不能使CPU寻到20000H单元。...
阅读全文 |
评论次数(3) |
浏览次数(942) |
所属类型(汇编作业)
[2009-01-17 14:01] 检测点2.1
检测点2.1
----------------------
(1)写出每条汇编指令执行后相关寄存器中的值。
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ...
----------------------
(1)写出每条汇编指令执行后相关寄存器中的值。
第一空:F4A3H
第二空:31A3H
第三空:3123H
第四空:6246H
第五空:826CH
第六空:6246H
第七空:826CH
第八空:04D8H
第九空:0482H
第十空:6C82H
第十一空:D882H
第十二空:D888H
第十三空:D810H
第十四空:6246H
(2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
解答如下:
mov ax,2
add ...
阅读全文 |
评论次数(2) |
浏览次数(834) |
所属类型(汇编作业)
[2009-01-17 12:40] 第一章 检测点答案
第一章 检测点答案
(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。[8*1024-1=1111111111111]
(2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。
(3)1KB的存储器可以存储8192个bit,1024个Byte。
(4)1GB、1MB、1KB分别是1073741824、1048576、1024Byte。
(5)8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8...
(1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。[8*1024-1=1111111111111]
(2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。
(3)1KB的存储器可以存储8192个bit,1024个Byte。
(4)1GB、1MB、1KB分别是1073741824、1048576、1024Byte。
(5)8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为:64(KB)、1(MB)、16(MB)、4(GB)。
(6)8080、8088、8...
阅读全文 |
评论次数(3) |
浏览次数(634) |
所属类型(汇编作业)