微型计算机技术 第三章部分答案

发布时间 : 星期四 文章微型计算机技术 第三章部分答案更新完毕开始阅读

3.2什么是机器码?什么是助记符?什么是操作码?什么是操作数?不同指令的机器码字节数都相同吗?

3.3什么是寻址?什么是寻址方式?操作数可能在哪些地方?对应的操作数名称和寻址方式名称分别是什么?

3.4 16位操作数在存储器中存放的规则是什么?什么叫“低对低、高对高”? 3.7指令中寻址存储器操作数使用物理地址还是逻辑地址?逻辑地址转换成物理地址的算法是什么?在指令中要确定一个存储器操作数应该提供哪三种信息? 3.8写出存储器寻址方式中有效地址EA的通式。简单归纳段寄存器的默认规则。 解:3.2:机器码:它指的是将硬件序列号经过一系列加密、散列形成的一串序

列号,即使指令的二进制编码。

助记符:是便于人们记忆、并能描述指令功能和指令操作数的符号 操作码:组成机器指令的一部分用来说明指令的性质和功能。 操作数:用来说明操作的对象。可以是具体的数值、寄存器或存储器地址。

不同指令的机器码字节数不一样。 3.3:寻址:寻找操作数会操作数的地址

寻址方式:寻找操作数地址的方法即为寻址方式。 对应的操作数名称和寻址方式名称见下表:

操作数的位置 在指令中 在寄存器中 在存储器中 在I/O端口中 操作数名称 立即数 寄存器操作数 存储器操作数 I/O操作数 寻址方式名称 立即寻址 寄存器寻址 存储器寻址 I/O端口寻址 3.4:16位操作数在存储器中存放的规则是:低字节在低地址中,高字节在高地址中,即所谓的低对低、高对高。

3.7指令中寻址存储器操作数使用的是逻辑地址。

逻辑地址转换成物理地址的算法是:段地址x16+偏移地址=物理地址

在指令中要确定一个存储器操作数要提供三种信息:段地址、偏移地址和数据类型。

3.8存储器寻址方式中有效地址EA的通式: EA=()基址+()地址+DISP偏移量

段寄存器的默认规则:如果有效地址的表达式中有基址寄存器BP则默认堆栈段SS,其他一律默认数据段DS。

3.9设段寄存器DS=1000H,SS=2000H,ES=3000H,通用寄存器BX=4000H,BP=5000H,SI=6000H,DI=70000H。在下列各指令中指出存储器操作数的寻址方式,求出有效地址EA、物理地址PA、并分别用物理地址和逻辑地址说明指令执行结果。

(1)MOV CX,[2300H] (2)MOV BYTE PTR[BX],8FH (3)MOV DH,[BP+3000H] (4)MOV ES:[SI+1210H] ,AX (5)MOV [BX+DI+50H],AX (6)INC WORD PTR[BX+SI]

解:(1)MOV CX,[2300H]直接寻址;

数据段中偏移地址为2300H所对应的字送CX中。

有效地址EA=2300H,物理地址PA=DS*16+EA=10000H+2300H=12300H

执行结果:(12300H)→CL,(12301H)→CH

(2)MOV BYTE PTR[BX],8FH寄存器间接寻址;

立即数8FH,送入数据段偏移地址为BX所对应的字节中。

有效地址EA=BX=4000H,物理地址PA=DS*16+EA=10000H+4000H=14000H 执行结果:8FH→ (14000H) (3)MOV DH,[BP+3000H]基址寻址;

数据段中偏移地址为BP内容与3000H之和所对应的字节送至DH 有效地址EA=BP+3000H=8000H

物理地址PA= SS*16+EA=20000H+8000H=28000H 执行结果:(28000H)→DH (4)MOV ES:[SI+1210H] ,AX变址寻址;

AX内容送入数据段中偏移地址SI与1210H之和所对应的字中 有效地址EA=SI+1210H=6000H+1210H=7210H 物理地址PA=ES*16+EA=3000H*16+7210H=37210H 执行结果:AL→(37210H),AH→(37211H) (5)MOV [BX+DI+50H],AX基址变址寻址;

AX内容送入数据段中偏移地址为BX内容与DI内容及50H内容之和所对应的字节中

有效地址EA=BX+DI+50H=4000H+70000H+50H=74050H 物理地址PA=DS*16+EA=1000H*16+74050H=84050H 执行结果:AL→ (84050H)

(6)INC WORD PTR[BX+SI] 基址变址寻址;

堆栈中偏移地址为BX内容与SI内容所对应的字加1 有效地址EA=BX+SI=4000H+6000H=A000H 物理地址PA=DS*16+EA=1000H*16+A000H=1A000H 执行结果:1A000H中存放的字的值加1

3.10 分别说明指令MOV AX,2000H和指令MOV AX,[2000H]以及指令MOV AX,BX和指令MOV AX,[BX]的区别。

解:MOV AX,2000H将立即数2000H送入寄存器AX

MOV AX,[2000H]将数据段中偏移地址为2000H的数据送入AX; MOV AX,BX将寄存器BX操作数传入AX

MOV AX,[BX]将数据段中偏移地址为BX的内容所对应的字送入AX

3.11 指出下列指令中源操作数的寻址方式。 (1)MOV BL,0F9H (2)ADD [BX],SI (3)SUB CL,[4000H] (4)CMP DX,[SI] (5)AND AL,[BX+1]

(6)OR BP,[DI+2100H] (7)XOR AX,[BP+SI] (8)MOV CX,300

解:(1)MOV BL,0F9H 立即寻址

(2)ADD [BX],SI 寄存器寻址寻址 (3)SUB CL,[4000H] 直接寻址 (4)CMP DX,[SI] 寄存器间接寻址 (5)AND AL,[BX+1] 基址寻址 (6)OR BP,[DI+2100H] 变址寻址 (7)XOR AX,[BP+SI] 基址变址寻址 (8)MOV CX,300 立即寻址

3.12下列指令都是非法的,指出各指令错在哪里? (1)MOV SI,AH (2)MOV 70H,BL (3)MOV CX,F123H (4)MOV [BX],6AH (5)MOV ES,5000H (6)MOV [DI],[3000H] (7)MOV DS,SS (8)MOV CS,AX (9)MOV AL,[CX] (10)MOV [BX+BP],DX (11)MOV BH,[SI+DI+2] (12)PUSH AL (13)LEA AX,BX (14)LDS BL,[5100H] (15)IN AH,DX (16)OUT 288H,AL

联系合同范文客服:xxxxx#qq.com(#替换为@)