第五题:
代码如下:
-------------------------------------------------------
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:mov ax,a
mov es,ax
...
- [ismylord] 嗯,谢谢。 10/24 12:05
- [游客] 正确。 10/22 19:42
- [游客] 正确。 10/22 19:41
- [游客] 正确。 10/22 19:41
- [游客] 前面debug跟踪,最后一问,数据的确定方式很多,ds:[bx] push等等。指令也可以当做数据来 10/22 19:41
- [游客] 可以用本章自己总结的公式,三个段使用一个或两个段地址,段的首地址加上一个段所占空间大小,就找到第二个 10/22 19:39
- [游客] 不错,可以用本章实验学的debug验证一下,一举两得,又能验证又能熟练debug。 10/22 19:38
[2010-10-22 00:39] 第六章实验5
阅读全文 |
评论次数(2) |
浏览次数(591) |
所属类型(默认类型)
[2010-10-19 00:12] 检测点3.1
①
AX:2662H
BX:E626H
AX:E626H
AX:2662H
BX:D6E6H
AX:FD48H
AX:2C14H
AX:0000H
AX:00E6H
BX:0000H
BX:0026H
AX:000CH
②执行的指令:
mov ax,6622H
jmp 0ff0:0100
mov ax,2000
mov ds,ax
mov ax,[0008]
mov ax,[0002]
③
指令 AX BX IP CS ...
AX:2662H
BX:E626H
AX:E626H
AX:2662H
BX:D6E6H
AX:FD48H
AX:2C14H
AX:0000H
AX:00E6H
BX:0000H
BX:0026H
AX:000CH
②执行的指令:
mov ax,6622H
jmp 0ff0:0100
mov ax,2000
mov ds,ax
mov ax,[0008]
mov ax,[0002]
③
指令 AX BX IP CS ...
阅读全文 |
评论次数(1) |
浏览次数(601) |
所属类型(汇编作业)
[2010-10-18 17:15] 检测点2.3
①假设初始IP=0000H
读入 mov ax,bx后
IP=IP+2=0002H
执行 mov ax,bx后
IP=0002H
读入 sub ax,ax后
IP=IP+2=0004H
执行 sub ax,ax后
IP=0004H
读入 jmp ax后
IP=IP+2=0006H
执行 jmp ax后
IP=ax=0000H
所以CPU修改了4次IP值,分别在第一条、第二条、第三条代码读入后,以及第三条代码执行后,IP最终值为ax,即0000H...
读入 mov ax,bx后
IP=IP+2=0002H
执行 mov ax,bx后
IP=0002H
读入 sub ax,ax后
IP=IP+2=0004H
执行 sub ax,ax后
IP=0004H
读入 jmp ax后
IP=IP+2=0006H
执行 jmp ax后
IP=ax=0000H
所以CPU修改了4次IP值,分别在第一条、第二条、第三条代码读入后,以及第三条代码执行后,IP最终值为ax,即0000H...
阅读全文 |
评论次数(2) |
浏览次数(580) |
所属类型(汇编作业)
[2010-10-18 00:59] 检测点2.2
①00010H~1000FH
②1001~2000
20000
-
FFFF
─────────────
10001
10001H不是16倍数,而大于10001H且为16倍数的最小数为10010,即段地址为1001H
(又犯一错误,将30000-FFFF,没考虑到求的是起始地址,起始地址不能大于20000,即段地址必须小于2000H)
结果应该是:1001H~2000H...
②1001~2000
20000
-
FFFF
─────────────
10001
10001H不是16倍数,而大于10001H且为16倍数的最小数为10010,即段地址为1001H
(又犯一错误,将30000-FFFF,没考虑到求的是起始地址,起始地址不能大于20000,即段地址必须小于2000H)
结果应该是:1001H~2000H...
阅读全文 |
评论次数(0) |
浏览次数(490) |
所属类型(汇编作业)
[2010-10-18 00:44] 检测点2.1
①62627十进制转十六进制为F4A3H,即ax=F4A3H
②mov ah,31H >>ah=31H,ax=31A3H (这里出过次意外,把mov当add用了,指令混淆。)
③3123H
④6246H
⑤826CH
⑥6246H
⑦826CH
⑧04D8H(十六进制加法运算的时候将6+6+1进了一位,做了十进制进位,结果成了05D8H)
⑨04D8H
⑩0482H
⑾6C82H
⑿D882H
⒀D888H
⒁D810H
⒂6246H
⒃ mov ax,2
add ax,ax
add ax,ax
add ax,ax...
②mov ah,31H >>ah=31H,ax=31A3H (这里出过次意外,把mov当add用了,指令混淆。)
③3123H
④6246H
⑤826CH
⑥6246H
⑦826CH
⑧04D8H(十六进制加法运算的时候将6+6+1进了一位,做了十进制进位,结果成了05D8H)
⑨04D8H
⑩0482H
⑾6C82H
⑿D882H
⒀D888H
⒁D810H
⒂6246H
⒃ mov ax,2
add ax,ax
add ax,ax
add ax,ax...
阅读全文 |
评论次数(1) |
浏览次数(590) |
所属类型(汇编作业)
[2010-10-15 18:23] 检测点1.1
1> 13
2> 1024 0~1023
3> 2^13 2^10
4> 2^30 2^20 2^10
5> 2^6 1 2^4 2^2
6> 1 1 2 2 4
7> 2^9 2^8
8> 二进制...
2> 1024 0~1023
3> 2^13 2^10
4> 2^30 2^20 2^10
5> 2^6 1 2^4 2^2
6> 1 1 2 2 4
7> 2^9 2^8
8> 二进制...
阅读全文 |
评论次数(1) |
浏览次数(521) |
所属类型(汇编作业)