执行前 ax=0000
mov ax,2000H 执行后ax=2000 bx=0000
mov ss,ax 执行后 ss=2000 sp=13ef
mov sp,0 执行后 sp=0 栈顶 74ff
add sp,10执行后 sp=0a 栈顶 fe00
pop ax 执行后 ax=13fe bx=0000 栈顶 060e
pop bx 执行后 ax=13fe bx=3206 栈顶 4632
push ax 执行后 ax=13fe bx=3206 栈顶 fe0e
...
- [younggay] to 1楼: 不好意思,我看错了。你说得对,不过,由于这个题目是在debug下面查看的,涉及到中断 04/03 10:36
- [younggay] 不同意一楼的。 sp是栈顶指针,不是栈顶的内容,pop ax 相当于 mov ax,ss:[s 04/03 10:30
- [游客] 博主的结果有问题,add sp,10执行后 sp=0a 栈顶内容为 fe00,那么pop ax 04/03 09:57
- [xhy2107] 谢谢 04/02 22:44
- [游客] 根据一楼的解释,则 0001H*10H+FFFFH=1000FH 偏移地址最大为FFFFH。 04/01 14:54
- [游客] 回答正确。 04/01 14:51
- [xhy2107] 谢谢 辛苦你了哦 03/27 21:04
- [xhy2107] 还是不明白 03/27 21:03
- [xhy2107] 谢谢 crazyman 03/27 21:00
- [xhy2107] 谢谢 呵呵 大家加油 03/27 20:59
[2009-04-03 01:02] 实验3
阅读全文 |
评论次数(3) |
浏览次数(407) |
所属类型(汇编作业)
[2009-03-31 21:12] 监测点3.2
(1).补全下面的程序,使其可以将10000H至1000FH中的8个字,逆序拷贝到20000H至2000FH中.
mov ax,1000H
mov ds,ax
__1__ mov ax,2000H
__2__ mov ss,ax
__3__ mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
pus...
mov ax,1000H
mov ds,ax
__1__ mov ax,2000H
__2__ mov ss,ax
__3__ mov sp,0010H
push [0]
push [2]
push [4]
push [6]
push [8]
push [A]
push [C]
pus...
阅读全文 |
评论次数(2) |
浏览次数(422) |
所属类型(汇编作业)
[2009-03-27 13:25] 检测点3.1
第三章 检测点3.1
1.在debug中用"d 0:0 1f"查看内存,结果如下:
0000:0000 70 80 f0 30 ef 60 30 e2-00 80 80 12 66 20 22 60
0000:0000 62 26 e6 d6 cc 2e 3c 3b-ab ba 00 00 26 06 66 88
下面的的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值,
mov ax,1
mov ds,ax
mov ax,[0000] AX= 2662
mov bx,[0001] BX= e626
mov...
1.在debug中用"d 0:0 1f"查看内存,结果如下:
0000:0000 70 80 f0 30 ef 60 30 e2-00 80 80 12 66 20 22 60
0000:0000 62 26 e6 d6 cc 2e 3c 3b-ab ba 00 00 26 06 66 88
下面的的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值,
mov ax,1
mov ds,ax
mov ax,[0000] AX= 2662
mov bx,[0001] BX= e626
mov...
阅读全文 |
评论次数(2) |
浏览次数(427) |
所属类型(汇编作业)
[2009-03-27 11:28] 检测点2.3
四次
第1次:读入mov ax, bx到缓冲器→ip改→执行
第2次:读入sub ax, ax到缓冲器→ip改→执行
第3 4次:读入jmp ax到缓冲器→ip改→执行 →ip改
第4次:执行完jmp ax后; IP等于寄存器ax的值,为0000H。
IP是在执行命令(jmp ax)之前修改的,修改之后再执行jmp ax
。执行命令过程中又修改一次。。。。。
不知道我的这种想法对不对?
希望高人指点.........
第1次:读入mov ax, bx到缓冲器→ip改→执行
第2次:读入sub ax, ax到缓冲器→ip改→执行
第3 4次:读入jmp ax到缓冲器→ip改→执行 →ip改
第4次:执行完jmp ax后; IP等于寄存器ax的值,为0000H。
IP是在执行命令(jmp ax)之前修改的,修改之后再执行jmp ax
。执行命令过程中又修改一次。。。。。
不知道我的这种想法对不对?
希望高人指点.........
阅读全文 |
评论次数(2) |
浏览次数(429) |
所属类型(汇编作业)
[2009-03-27 11:19] 检测点2.2
给定段地址0001H,仅通过变化偏移地址寻址,CPU的寻址范围从(00010h)到(0ffffh)
有一数据存在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是
最小为(1001h)最大为(2000h)...
有一数据存在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元,则SA应满足的条件是
最小为(1001h)最大为(2000h)...
阅读全文 |
评论次数(4) |
浏览次数(501) |
所属类型(汇编作业)
[2009-03-27 11:14] 检测点2.1
ax的值分别为:
1. f4a3H
2. 31a3 H
3. 3123 H
4. 6246H
5. 826c H
6. 6246 H
7. 826c H
8. 04d8 H
9. 0482H
10. 6c82H
11. d882H
12. d888 H
13. d810 H
14. 6246H...
1. f4a3H
2. 31a3 H
3. 3123 H
4. 6246H
5. 826c H
6. 6246 H
7. 826c H
8. 04d8 H
9. 0482H
10. 6c82H
11. d882H
12. d888 H
13. d810 H
14. 6246H...
阅读全文 |
评论次数(2) |
浏览次数(407) |
所属类型(汇编作业)
[2009-03-25 22:58] 检测点1.1
1、1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13
2、1KB的存储器有 1024 个存储单元,编号从 0 到 1023
3、1KB的存储器可以存储 2^13 个Bit, 2^10 个Byte
4、1GB、1MB、1KB分别是 依次为 2^30、2^20、2^10 个Byte
5、8080、8088、80286、80386的地址总线分别为16、20、24、32,则它们的寻址能力分别为:64KB 1MB 16MB 4GB
6、8080、8088、8086、80286、80386的数据总线分别为8、8、16、16、32,则它们一次可以传输的数据分...
2、1KB的存储器有 1024 个存储单元,编号从 0 到 1023
3、1KB的存储器可以存储 2^13 个Bit, 2^10 个Byte
4、1GB、1MB、1KB分别是 依次为 2^30、2^20、2^10 个Byte
5、8080、8088、80286、80386的地址总线分别为16、20、24、32,则它们的寻址能力分别为:64KB 1MB 16MB 4GB
6、8080、8088、8086、80286、80386的数据总线分别为8、8、16、16、32,则它们一次可以传输的数据分...
阅读全文 |
评论次数(1) |
浏览次数(325) |
所属类型(汇编作业)