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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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

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

助记符:是便于人们记忆、并能描述指令功能和指令操作数的符号

操作码:组成机器指令的一部分用来说明指令的性质和功能。

操作数:用来说明操作的对象。可以是具体的数值、寄存器或存储器地

址。

不同指令的机器码字节数不一样。

3.3:寻址:寻找操作数会操作数的地址

寻址方式:寻找操作数地址的方法即为寻址方式。

对应的操作数名称和寻址方式名称见下表:

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

相关文档
最新文档