微机原理课后答案1

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

4. 本章作业:(带答案)

1、试分别说明下列指令中源操作数和目的操作数采用的寻址方式:

答案:

目的操作数源操作数(1)MOV AX,0FFFFH 寄存器立即

(2)MOV ES,AX 寄存器寄存器

(3)XOR CL,[100H] 寄存器直接

(4)ADD [SI],DX 寄存器间寄存器(5)MOV ES:[2000H],CL 直接寄存器

(6)SUB [BX+SI],1 基+变立即

(7)ADC AX,[BX+SI+10H] 寄存器相对基+变(8)PUSH DS 隐含寄存器(9)CLD 隐含

(10)CMP [BP+DI],CL 基+变寄存器

2、若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,试确

定由这些寄存器和下列寻址方式产生的有效地址和物理地址:

答案:

EA 物址(1)直接寻址;0313H 19A23H (2)用BX的寄存器间接寻址;1123H 1A833H (3)用BX的寄存器相对寻址;1436H 1AB46H (4)用BX和SI的基址变址寻址;2A8BH 1C19BH (5)用BX和SI的相对基址加变址寻址。2D9EH 1C4AEH 3、连续执行以下指令,并在空格中填写执行指令的结果。

答案:

MOV AX,2060H AL=60H AH=20H CF=

MOV DS,AX DS=2060H AH=20H CF=

ADD AL,AH AL=80H AH=20H CF=0

INC AX AL=81H AH=20H CF=0

MOV DX,512 DL=00H DH=02H CF=0

SUB AX,DX AL=81H AH=1EH CF=0

4、编写程序实现下述功能:

答案:

(1)将BX寄存器的低8位清零,其余位不变。AND BX , 0FF00H

(2)将DL寄存器的最高位置1,其余位不变。OR DL , 80H

(3)将CL寄存器的高4位保持不变,低4位取反。XOR CL , 0FH

(4)测试CX中的最低位,当最低位为0时将AL置1,否则AL置0。

答案:

TEST CX ,01H

JZ L1

MOV AL ,0

HLT

L1: MOV AL , 1

HLT

(5)测试SI,如果SI为奇数将AL置1,否则AL置0。

答案:

TEST SI ,01H

JNZ L1

MOV AL ,0

HLT

L1: MOV AL , 1

HLT

本章典型例题分析:

【例1】若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不变,负数都取补后送回。

DA TA SEGMENT

ORG 0200H

STRING DB 4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0))

DA TA ENDS

STACK SEGMENT PARA STACK 'STACK'

DB 100 DUP (?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,ES:DATA,SS:STACK

START PROC FAR

BEGIN: PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA

MOV DS, AX

MOV ES, AX

MOV CX, 100

LEA SI, STRING

AGAIN: MOV AL, [SI]

AND AL, AL

JNS OVER ;AL>0,跳至OVER

NEG AL ;AL<0,对AL求补

OVER: MOV [SI], AL

INC SI

LOOP AGAIN

INT 3

RET

START ENDP

CODE ENDS

END BEG

1.本章作业(带答案):

1、计算下列程序分别执行后AX寄存器的内容。

(1)MOV AX,0

MOV BX,3456H

TEST BX,1000H

JZ NEXT 答案:

INC AX

NEXT:HLT (AX) = 1

(2)MOV AX,0

XOR BX,BX

AGAIN:INC BX

ADD AX,BX

CMP BX,5

JB AGAIN

HLT (AX) =((((( 0+1) + 2 ) + 3 ) + 4 ) + 5 ) = 15 (3)MOV AL,0FFH

CBW

INC AX

INC AX

XCHG AH,AL

SHR AH,1

RCR AL,1

HLT (AX) = 0080H

(4)MOV AX,0

MOV BX,1234H

MOV CX,16

AGAIN:

SHL BX,1

JNC NEXT

INC AX

NEXT:LOOP AGAIN

HLT 检测1的个数(AX) = 5

2、若在自2000H单元开始有一个1000个字节的数据块,要把它传送到自2200H 开始的存储区中去,用以下三中方法,分别编制程序:

(1)不用串操作指令。

(2)用单个传送的串操作数据传送指令。

(3)用带重复前缀的串操作数据传送指令。

程序如下:

DATA SEGMENT

ORG 2000H

N1 DB n1,n2,…n1000

N2 EQU 2000H+1000–1

CON EQU 1000

DATA ENDS

STACK SEGMENT STACK ‘STACK’

DW 100DUP(?)

相关文档
最新文档