第一章作业
1-12 在实模式操作下,段寄存器的用途是什么?
答:段寄存器是用来定义数据段得起始地址的。在实模式下,它定义一个最大64KB存储段的起点。
注:在保护模式下,它选择一个描述数据段起始地址和长度的描述符。
1-15 实模式存储器寻址允许访问哪个地址以下的存储器?
答:在实模式下,存储器寻址允许访问低于FFFF:FFFF地址的存储区。
1-18 堆栈存储器由(堆栈)段加(基址指针)偏移的组合来寻址。
1-19 如果基址针(BP)寻址存储器,则寻址的数据在(堆栈)段中。
1-20 试确定由以下实模式80286寄存器组合所寻址的存储单元:
(a)DS=1000H和DI=2000H
1000H*10H+2000H=12000H
(b)DS=2000H和SI=1002H
2000H*10H+1002H=21002H
(c)SS=2300H和BP=3200H
2300H*10H+3200H=26200H
(d)DS=A000H和BX=1000H
A000H*10H+1000H=A1000H
(f)SS=2900H和SP=3A00H
2900H*10H+3A00H=2CA00H
二、单选
1. 十六进制数88H可以被其他形式的数所表示, 下列哪种表示方法是错的?
A. 无符号十进制136 C.BCD码 88
B. 带符号十进制–120 D. 带符号数据 –8
2. 如果DH=10H, 执行NEG DH 指令, 正确的结果是(D).
A. DH=10H C=1 C. DH=10H C=0
B. DH=0F0H C=0 D. DH=0F0H C=1
3.哪个是指令指针寄存器? (A)
A.IP B.SP C.BP D.PSW(程序状态字)
4. 如果 AX=1000H,
NEG AX
NEG AX
上面两条指令执行后, AX= (C ).
a.1001H b.1002H c.1000H d.0F000H
2.2 有两个16位的字1EE5H 和 2A3CH 存储在IBM PC 的000B0H 和000B03H 的内存单元中,请以图表的形式说明内存中的存储情况
内存地址 | 内容 |
000B4H | 2AH |
000B3H | 3CH |
000B2H |
|
000B1H | 1EH |
000B0H | E5H |
2.3 如下图, 展示的是IBM PC的内存信息, 请说明30022H 字节单元和30024H字节单元的内容,和30021H 字单元和30022H 字单元的内容。
存储器
30020H 12H 30022H字节单元的内容=0ABH
30021H 34H 30024H字节单元的内容=0EFH
30022H ABH 30021H字单元的内容=0AB34H
30023H CDH 30022H字单元的内容=0CDABH
30024H EFH
2.4 3017:000A的段地址的物理地址和偏移量是什么? 3015:002A和3010:007A的段地址和偏移是什么?
答:
物理地址1:PA= 3017 × 10H + 000AH = 3017AH
物理地址2: PA=3015 × 10H +002AH = 3017AH
物理地址3: PA=3010 × 10H +007AH = 3017AH
2.5 运行程序之前, (CS)=0A7F0H,(IP)=2B40H, 程序的第一个字的物理地址是什么?
PA=(CS)×10H+(IP)= 0A7F00H + 2B40H = 0AAA40H
2.6 在内存中,每一段都顶多有10000H字节。下面是用DEBUG的命令“r”来在终端上展示寄存器的内容。请以图表的形式显示内存是如何划分成段的,还有OF,SF,ZF,CF的值。
2.8哪类型的寄存器可以用来显示内存地址
答:CS, DS, ES,SS, EAX, EBX, ECX, EDX, EBP, EIP, ESP, EDI, IP, SP, BP, BX, DI, SI
5. 假定DS = 5788H, 偏移地址94H, 字节的PA(物理地址) 是( B ).
a.57974H b.57914H c. 5883H d. 58ECH
物理地址:5788H*10H+94H=57974H
6.在段中寻址的时候,在8086CPU的寄存器中,哪些寄存器可以提供偏移地址(B)
A.AX, BX, CX, DX C. SP, IP, BP, DX
B. BX, BP, SI, DI D. CS, DS, ES, SS