习题1 (P14)
4、试用示意图说明内存单元的地址和内存单元的内容,二者有何联系和区别? 解:
地址 | 内容 |
00000H | 10110010 |
00001H | 11000111 |
00002H | 00001100 |
…… | …… |
F0000H | 丰田质量管理 00111110 |
…… | …… |
FFFFFH | 00000000 |
| |
内存单元的地址和内容
如图,在存储器中,每个存储单元都有一个地址,每个单元可存放一个字节。任何相邻字节单元可以存放一个字,一个字占用2个地址中小的那个地址作为该字的地址,并且较高存储器地址的字节是该字节的高8位,较低存储器地址的字节是该字节的低8位。
如图X表示某存储单元的地址,则X单元的内容(X)表示。假如X单元中存放着Y,则(X)=Y。而Y又是一个地址(数值上),则可用((X))来表示Y单元里的内容。
9、把下列十进制数转化为二进制数、八进制数和十六进制数。
(1)4.85 (2)255 (3)256
解:(1)4.85=100.1B=4.6Q=4.DH
(2)255=11111111B=377Q=0FFH
(3)256=100000000B=400Q=100H
10、把下列数转化为十进制数。
(1)10001100B (2)27Q (3)1FH
解:(1)10001100B=2^7+2^3+2^2=140
(2)27Q=2*8+7=23
(3)1FH=16+15=31
15、给出十进制数—30的原码、反码、补码(8位二进制数)的形式,并指出8位二进制原码、反码、补码所能表示的数值范围(用十进制数表示)。
解:[—30D]原=10011110B=9EH
[—30D]反=11100001B=0E1H
[—30D]补=11100010B=0E2H
8位二进制数原码表示的数值范围:—127~+127;反码表示的数值范围:—127~+127;
当补码表示无符号数时,表示的数值范围为:0~255,当补码表示有符号数时,表示的 数值范围为:—128~+127.
16、用组合和非组合BCD码分别表示十进制数388和12。海尔小王子
解:组合:388D=(0011 1000 1000)BCD
12D=(0001 0010)BCD
非组合:388D=(00000011 00001000 00001000)BCD
12D=(00000001 00000010)BCD
习题2 (P43)
3、8086CPU的标志寄存器中有哪些标志位?它们的含义和作用是什么? 解:(1)有6个状态标志位CF、OF、ZF、SF、AF、PF;3个控制标志位DF、IF、和TF。
(2)状态信息由中央处理机根据计算机的结果自动设置,6位状态标志位的意义说明如下:
OF 溢出标志:带符号数计算溢出时为1;
SF 符号标志:运算结果为负时为1,取最高有效位;
ZF 零标志:运算结果为0时为1;
CF 进位标志:运算结果有进位为1;
AF 辅助进位标志:第3位有进位置1(半字节);
PF 奇偶进位标志:运算结果中1的个数位为偶数置1;
(3)控制信息由系统程序或用户程序根据需要用指令设置;
DF 方向标志:DF为1,SI、DI减量,由高地址向低地址处理;DF为0,SI、DI增量,由低地址向高地址处理;
IF 中断标志:IF为1时允许中断;
TF 陷阱标志:每执行一条指令就引起一个内部中断。用于单步方式操作,TF为1,指令执行完后产生陷阱,由系统控制计算机;TF为0,CPU不产生陷阱,正常工作。
5、8086CPU的地址线有多少位?其寻址范围是多少? 解:(1)8086CPU的地址线有20位;
(2)其寻址范围为1MB。地址范围为:00000﹏FFFFFH。
10、什么是段基址、偏移地址和物理地址?它们之间有什么关系?
解:(1)段基址:存储器分段时,每个段的起始地址低4位为0,高16位为段基址,放入段寄存器中;
偏移地址:段内某内存单元的物理地址相对于段起始地址的偏移量成为段内偏移地址,也叫有效地址;
物理地址:8086/8088有20条地址线,最大内存容量为1MB,其中任何一个内存单元都有一个唯一的20位的地址,称为内存单元的物理地址。
(2)物理地址(PA)=段基址*10H+偏移地址(EA)
12、对于8086,当(CS)=2020H时,物理地址为24200H,则当(CS)=6520H时,物理地址应转移到什么地方?
解:计算公式:物理地址(20)=段基址(16位)*16+偏移地址(16位)
因为 (CS)=2020H,物理地址为24200H
所以 偏移地址为24200H-2020H*16=24200H-20200H=4000H
当 (CS)=6520H 时,
物理地址=6520H16+4000H=69200H
13、什么是总线周期?什么是时钟周期?一个典型的总线周期最小包括几个时钟周期?什么情况下需要插入等待周期Tw?
解:(1)总线周期:总线接口部件完成一个取指令或者传送数据的完整操作所需要的最少时钟周期数。
(2)时钟周期:CPU输入的CLK时钟信号。
(3)需要4个
(4)当被写入数据或者读取数据的外设或存储器不能及时地配合CPU传送数据。这时,外设或者存储器会通过“READY”信号线在T3状态启动之前向CPU发一个“数据未准备好的信号”,于是CPU会在T3之后插入一个或多个附加的时钟周期Tw。
习题3 (P78)
2、指出下列指令中源操作数和目的操作数的寻址方式。
(1)MOV AX, 0AH (2)ADD [BX], DX
(3)PUSH CS (4)POP DS
(5)MUL BL (6)MOV DX,[1200H]
(7)MOVSB (8)SUB AX, 5[BP+DI]
解:(1)SRC为立即数寻址,DEST为寄存器寻址。
(2)SRC为寄存器寻址,DEST为寄存器间接寻址。
(3)SRC为寄存器寻址,DEST为隐含堆栈指针寄存器间接寻址。
(4)SRC为隐含堆栈指针寄存器间接寻址,DEST为寄存器寻址。
(5)SRC为寄存器寻址,DEST为寄存器寻址。
(6)SRC为直接寻址,DEST为寄存器寻址。
(7)SRC为寄存器间接寻址,DEST为寄存器间接寻址。
(8)SRC为基址变址相对寻址,DSET为寄存器寻址。
5、分别指出下列指令中源操作数和目的操作数的寻址方式。若是存储器寻址,试写出其有效地址和物理地址。设(DS)=6000H,(ES)=2000H,(SS)=1500H,(SI)=00A0H,(DI)=6010H,(BX)=0800H,(BP)=1200H,数据变量VAR1984美国忌讳第二部4桥矿的内容为1800H,其有效地址为0050H。
解:(1)MOV AX,3050H
弾孔>腺鼠疫
SRC为立即数寻址,DEST为寄存器寻址。
(2)MOV DL,80H
SRC为立即数寻址,DEST为寄存器寻址。
(3)MOV AX,VAR
SRC为直接寻址,DEST为寄存器寻址。
有效地址=0050H;
物理地址=(DS)*16+(VAR)=60050H;
(4)MOV AX,VAR[BX][SI]
SRC为基址变址相对寻址,DEST为寄存器寻址。
一个小村庄的故事教学设计
有效地址=(BX)+(SI)+(VAR)=0800H+00A0H+0050H=08F0H;
物理地址=(DS)*16+(BX)+(SI)+(VAR)=608F0H;
(5)MOV AX,[BX+25H]
SRC为寄存器相对寻址,DEST为寄存器寻址。
有效地址=(BX)+25H=0825H;
物理地址=(DS)*16+( BX)+25H =60825H;
(6)MOV DI,ES:[BX]
SRC为寄存器间接寻址,DEST为寄存器寻址。
有效地址=(BX)=0800H;
物理地址=(ES)*16+( BX)=20800H;