(1)
1、data中数据 0123h 0456h 0789h 0abch 0defh 0fedh
0cbah 0987h
2、cs=0ba7 ss=0ba5 ds=0ba6
3、我做的时候加载后data的段地址为0b95 stack的段地址为
0ba5 code的段地址为0ba7 不满足ss=X-2 ds=X-1
当程序执行到mov ds,ax 后才满足上述关系 我看了一些同学的
答案都是ss=X-2 ds=X-1 不知道是不是我做的有问题
(2)
1 data:0 f 23 01 56 04 0 0 0 0
2-3同(1)中
4 当N能被16整除时段空间即为N字节当不能被16整除时段空间为
(N/16+1)*16
段空间一定为16的整数倍
(3)
1 data:0 f 23 01 56 04 0 0 0 0
2 cs=0ba5 ss=0ba8 ds=0ba9
3 程序返回前data段地址X+4 stack段地址X+3 但加载后不是 我一
直没弄明白为什么别人的答案都是程序返回前的
(4)
程序加载后有一个程序运行入口,当没有用end伪指令指出程序运行
入口的时候,程序就会从psp后面的地址处运行程序。(1)(2)中
psp后不是代码因此不能执行。只有(3)中psp后是指令,因此(3)
程序可正常执行。
(5)
start:mov ax,a
mov ds,ax
mov ax,b
mov es,ax
mov ax,c
mov ss,ax
mov sp,10h
mov bx,0
mov cx,8
s: add ds:[bx],es:[bx]
push ds:[bx]
inc bx
inc bx
loop s
mov ax,4c00h
int 21h
(6)
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10h
mov bx,o
mov cx,8
s:push [bx]
add bx,2
loop s
mov 4c00h
int 21h
这章有点难弄 好费劲呢
- [12sunfeng34] 哦 对 08/24 19:34
- [12sunfeng34] 对 (2)中的sp应该是0 谢谢 08/24 07:14
- [mess] 第一题注意段地址是1,即偏移地址为0时(取偏移地址最小值),物理地址=1*10h+0=10H 08/23 15:20
- [mess] sp都设置等于16,有问题。 08/23 15:19
- [mess] 把第一个答案转换成十六进制的。 学完第二章的实验,会了debug,可以用a命令写入指令,然后t 08/23 15:18
- [mywiil] 注意借鉴后的吸收哟。 08/21 03:29
- [12sunfeng34] 对应该是 我算错了 08/19 18:54
- [12sunfeng34] 谢谢 08/19 18:52
- [whfeiya] 这个好像不对吧,应该倒数第四个是D882,D888,D810 08/18 12:49
- [beichenyibei] 您好!我之前写错了,像“指令 寄存器,寄存器”这种形势的指令,每次读取后ip+2不是+3,。 像“ 08/17 10:05