文档库 最新最全的文档下载
当前位置:文档库 › 微机原理第3章 习题答案

微机原理第3章 习题答案

微机原理第3章 习题答案
微机原理第3章 习题答案

第3章习题参考答案

分别指出下列指令中的源操作数和目的操作数的寻址方式。

答:源操作数目的操作数(1)MOV AX,[SI] 寄存器寻址寄存器间接寻址

(2)MOV DI,100 寄存器寻址立即寻址

(3)MOV [BX],AL 寄存器间接寄存器

(4)MOV [BX][SI],CX 基址+变址寄存器

(5)ADD DX,106H[SI] 寄存器变址

(6)PUSH AX 寄存器

(7)ADD DS:[BP],AX 带段超越寄存器间接寻址寄存器

(8)OR AX,DX 寄存器寄存器

2.设寄存器(DS)=2000H,(SS)=1500H,(ES)=3200H,(SI)=0A0H,(BX)=100H,(BP)=10H,数据段中变量VAL的偏移地址为50H。试指出下列各条指令中源操作数的寻址方式是什么?对于存储器操作数,其物理地址是多少?

答:操作数的寻址方式存储器操作数PA (1)MOV AX,[100H] 直接寻址20100H

(2)MOV CX,ES:[BX] 带段超越的寄存器间接寻址32100H

(3)MOV DX,[BX][SI] 基址+变址寻址200F0H

(4)MOV AX,V AL[SI] 变址寻址200F0H

(5)MOV BX,1234[BX] 基址寻址205D2H

(6)MOV AX,[BP] 寄存器间接寻址15010H

3. 判断下列指令有误错误,若有,则改之。

答:

(1)PUSH CL 有错,对堆栈操作数总是16位的。改为:PHSH CX (2)ADCAX,0ABH 无,只是CF的值是不确定的(0或1)

(3)OUT 3EBH, AX 有,输出设备的端口地址若超过8位,应使用DX 间接寻址。改为:

MOV DX, 3EBH

OUT DX,AX

(4)MUL AL, CL 有错。乘法指令中有AX或AL寄存器是隐含的。改为:

MUL CL

(5)MUL AX, 25 有错。乘法指令中不能用立即数。改为:

MOV BX,25

MUL BX

(6)ROL DX,5 有错。移位的次数由CL寄存器控制。改为:

MOV CL,5

ROL DX,CL

(7)CALL FAR SUM 无错。

(8)POP FR 有错。寄存器FR是不能单独操作的,改为:POPF

(9)MOV 234H, BX 有错。立即数不能作为目的操作数。改为:

MOV BX, 234H

(10)INC [SI] 有错。该错误主要是针对汇编程序的。由于翻译这条指令时,不知是8位的还是16位的目标码,故要加入宏汇编的综合运算符PTR。改为:INC BYTE PTR [SI]

(11)ADD [BX],456H有错。改为:ADD WORD PTR [BX], 456H

(12)INT O有错。这条指令是没有的

(13)DIV AX ,BX 有错。除法指令中,AX或DX.AX作为被除数是隐含的。改为:DIV BX

(14)DEC [BP] 有错。与题(10)有类似的错误。改为:

DEC WORD PTR [BP]

(15)XLAT BX XLAT的操作数是隐含的,它是一条复合指令,在执行该指令之前,将BX指向表的手地址,AL中存入被转换的码,然后执行该指令。

(16)ADD CX+1 有错。操作数CX+1是完全错误的。改为:INC CX (17)DAA AX 有错。调整指令是专门对AL寄存器的内容进行调整的,故指令中操作数是隐含的。改为:DAA

4选择题

(1)带符号数-86所表示的二进制数值是(A)

A. B

B. B

C. B

D. B

(2)执行MOV DL, 2AH 和SHR DL,1两条指令后,DL寄存器与CF标志分别为(D)

A. DL= CF=1

B. DL= CF=0

C. DL= CF=1

D. DL= CF=1

(3)可将AX寄存器中D0, D5, D8和D11位求反,其余位不变的指令是(C)

A. AND AX,921H

B. OR AX,910H

C. XOR AX,0921H

D. XOR AX,0110H

(4)某存储单元物理地址为3B4FH,其段地址和偏移地址可选为(B)

A. 3B4FH和104EH

B. 3B40H和00FEH

C. 2A00H和114FEH

D. 3B4FH和0H

(5)两个8位二进制数及做“异或”操作后,寄存器FR的下面3个状态标志分别是(C)

A. PF=1 SF=1 ZF=0

B. PF=0 SF=1 ZF=1

C. PF=0 SF=1 ZF=0

D. PF=1 SF=1 ZF=1

(6)当执行存储器写指令时,如MOV [SI],AX, 则CPU的外部管脚状态是(D)

A. WR=1 RD=1 M\IO=0

B. WR=0 RD=1 M\IO=1

C. WR=1 RD=0 M\IO=1

D. WR=0 RD=1 M\IO=1

5:已知(DS)=2000H,(BX)=100H,(SI)=02H,从物理地址20100H单元开始,依次存放数据12H,34H,56H,78H,而从物理地址21200H单元开始,依次存放数据2AH,,4CH,8BH,98H。试说明下列各条指令单独执行后AX寄存器的

内容。

答:

(1)MOV AX,3600H 3600H

(2)MOV AX,[1200H] 4C2AH

(3)MOV AX,BX 0100H

(4)MOV AX,[BX] 3412H

(5)MOV AX,1100H[BX] 4C2AH

(6)MOV AX,[BX][SI] 7856H

6.设堆栈指针SP的初值为2400H,

(AX)=4000H,(BX)=3600H,问:

(1)执行指令“PUSH AX”后,SP=?

(2)再执行“PUSH AX”和”POP AX”后,(SP)=? (AX)=?

(BX)=?

试画出堆栈变化示意图。

答:

(1)执行指令“PUSH AX”后,则将AX的内容推入

堆栈,SP先减2((SP)=23FEH),以指示栈顶位置,AL

的内容推入23FEH,而AH的内容推入23FFH

(2)再执行“PUSH AX”,SP先减2((SP)=23FCH),BL的内容推入23FCH,而BH的内容推入23FDH

(3)再执行“POP AX”,从SP指针指示的单元(23FCH)中弹出数据,存入AX中,SP加2((SP)=23FEH),指示栈顶位置。

故3条指令执行完毕,

(SP)=23FEH (AX)=3600H (BX)=3600H

7. 指出下面指令序列的执行结果。

答:

(1)MOV DX, 2000H

MOV BX, 1000H

XHGH BX, DX

(BX)=2000H, (DX)=1000H

(2)MOV AX,1234H

PUSH AX

POP BX

(AX)=1234H, (BX)=1234H

(3)LEA DX,[ 2000H]

MOV BX, DX

(BX)=2000H

(4)MOV AL,08

ADD AL,08

AAA

(AX)=0106

(5)MOV AL,48H

ADD AL,39H

DAA

(AL)=87H

(6)AND AL,AL

MOV AL,80

ADC AL,AL

(AL)=0A0H

(7)MOV DX,OFFFH

NEG DX

(DX)=0001H

(8)MOV BL,OB8H

ROR BL,1

(BL)=5CH, CF=0(9)SUB AX,AX

AND DX,AX

(DX)=0

(10)MOV CL,3

MOV AH,42H

SHR AH,XL

(AH)=08H,CF=0 (11)MOV AX, 34EBH

MOV CL,5FH

DIV CL

(AX)=8FH

(12)MOV AL,08H

MOV BL,09

MUL BL

AAM

(AX)=0702H

(13)MOV BL,9

MOV AX,0702H

AAD

DIV BL

(AX)=0008H

(14)MOV AL98H

CBW

(AX)=0FF98H

(15)MOV AH,2

MOV DL,`W`

INT 21H

结果=执行DOS的2号功能调用,在屏幕上显示字母W

微型计算机原理 (第三章课后答案)教学教材

微型计算机原理(第三章课后答案)

微型计算机原理 第三章 80X86微处理器 1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过 程。答: (1) BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。 (2) EU的作用:执行指令,并为BIU提供所需的有效地址。 (3) 并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令 队列中。这样就实现了取指和执行指令的并行工作。 2.8086/8088CPU内部有哪些寄存器?其主要作用是什么? 答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄 存器4个和控制寄存器2个。其主要作用是: (1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。 AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简化,提高指令的执行速度。 此外,所有的I/O指令都使用该寄存器与外设端口交换信息。 BX(Base)称为基址寄存器。用来存放操作数在内存中数据段内的偏移地址, CX(Counter)称为计数器。在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化, 有利于提高程序的运行速度。 DX(Data)称为数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长

乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。 (2) 地址寄存器:一般用来存放段内的偏移地址。 SP(Stack Pointer)称为堆栈指针寄存器。在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时, 每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。 BP(Base Pointer)称为基址寄存器。作为通用寄存器,它可以用来存放数据,但更经常更重要的 用途是存放操作数在堆栈段内的偏移地址。 SI(Source Index)称为源变址寄存器。SI存放源串在数据段内的偏移地址。 DI(Destination Index)称为目的变址寄存器。DI存放目的串在附加数据段内的偏移地址。 (3) 段寄存器:用于存放段地址 CS(Code Segment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。 CS的内容 左移4位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。 DS(Data Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。 DS的内容左 移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。 SS(Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。堆栈是存 储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程

微机原理第3章习题与答案

习题 一、选择题 1.寻址方式指出了操作数的位置,一般来说_______。 A.立即寻址给出了操作数的地址 B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身 D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:C 4.下列指令中的非法指令是______。 A.MOV[SI+BX],AX B.MOVCL,280 C.MOV[0260H],2346H D.MOVBX,[BX] 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。 A.200FEH B.0102H C.20102H D.00FEH 答案:A 6.指令LEABX,TAB执行后,其结果是______。 A.将TAB中内容送BX B.将TAB的段基址送BX C.将TAB的偏移地址送BX D.将TAB所指单元的存储内容送BX 答案:C 7.下列正确的指令格式有______。 A.MOV[BX],1 B.MOVAL,0345H C.MOVES:PTR[CX],3 D.XLAT 答案:D 8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。 A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0D,CF=1,OF=1 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。再执行DAA后,(AL)=_____。 A.02H B.12H C.62H D.72H 答案:B 10.执行下列程序后AL的内容为_____。 MOVAL,25H SUBAL,71H DAS A.B4H B.43H C.54H D.67H

微机原理与接口技术-第三章-课后答案

第三章参考答案 1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令: ⑴将一个立即数送入寄存器BX; ⑵将一个立即数送入段寄存器DS; ⑶将变址寄存器DI的内容送入一个存储单元中; ⑷从存储单元中取一个数送到段寄存器ES中; ⑸将立即数0ABH与AL相加,结果送回AL中; ⑹把BX与CX寄存器内容相加,结果送入BX; ⑺用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。解:(1)MOV BX, 1234H (2)MOV AX, 1234H MOV DS, AX (3)MOV [BX], DI (4)MOV ES,[BX] (5)ADD AL,0ABH (6)ADD BX,CX (7)MOV AX,[BX] ADD AX,1234H MOV [BX],AX 2.执行下面程序,完成指令后的填空: MOV AX,2000H ;AH= 20H MOV DS,AX ;AL= 00H DS= 2000H MOV SS,AX ;SS= 2000H AX= 2000H MOV BX,2030H ;BH= 20H BL= 30H MOV SI,BX ;SI= 2030H MOV DI,3040H ;DI= 3040H MOV SI,DI ;SI= 3040H MOV SP,50FFH ;SP= 50FFH MOV DX,SP ;DH= 50H DL= FFH MOV CL,25 ;CL= 19H MOV BL,CL ;CL= 19H BL= 19H MOV AH,0F0H ;AH= F0H MOV CH,AH ;CH= F0H MOV BYTE PTR[DI],64 ;(DI)= 40H MOV WORD PTR[SI],256 ;(SI)= 00H (SI+1)= 01H MOV DL,[SI+1] ;DL= 01H MOV DH,1+[SI] ;DH= 00H MOV AL,1[SI] ;AL= 01H MOV WORD PTR[BX][SI],34 ;(BX+SI)= 22H (BX+SI+1)= 00H MOV [BX+SI+4],BL ;(BX+SI+4)= 19H MOV BP,2[BX+DI] ;BP= 00H MOV [BP],AL ;(BP)= 01H MOV AX,[BP][DI] ;AX= 0100H MOV BL,AL ;BL= 00H MOV ES,BX ;ES= 2000H PUSH BX ;SP= 50FDH (SP,SP+1)= 2000H PUSH DI ;SP= 50FBH (SP,SP+1)=

《微机原理及应用》教材课后习题参考答案

《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案 第三章 3-5 (1)MOV SI, 2100H 源:立即数;目标:寄存器 (2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器 (3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI (4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器 (5)源:寄存器;目标:寄存器 (6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器 (7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器 (8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器 (9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP (10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-2 3-7 (1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI] (2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式 (3)错,立即数不能直接传给段寄存器 (4)错,CS不能作为目标操作数 (5)错,立即数不能作为目标操作数,两个操作数互换位置即可 (6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误 (7)错,段寄存器不能直接传给段寄存器 (8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL (9)错,NOT操作符只有一个操作数 (10)对,CS不能作为目标操作数,但可以作为源操作数 (11)错,不能直接将立即数压入堆栈 (12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX (13)错,LEA指令的第二操作数必需为存储器寻址方式 (14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一 3-8 (1)AX=3355H, SP=1FFEH (2)AX=3355H, DX=4466H, SP=1FFCH 3-9 BX=4154H, [2F246H]=6F30H 3-10 BX=139EH 3-11 SI=0180H, DS=2000H 3-12 (1) CL=F6H (2) [1E4F6H]=5678H (3) BX=9226H, AX=1E40H

微机原理第三章习题与参考答案

第三章习题与参考答案 3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。指出下列指令的寻址方式和物理地址。 (1) MOV AX,0ABH 立即寻址无 (2) MOV AX,BX 寄存器寻址无 (3) MOV AX,[l000H] 直接寻址 10000H (4) MOV AX,DATA 直接寻址 (DS*16+DATA ) (5) MOV AX,[BX] 寄存器间接寻址 10100H (6) MOV AX,ES:[BX] 寄存器间接寻址 20100H (7) MOV AX,[BP] 寄存器间接寻址 30200H (8) MOV AX,[SI] 寄存器间接寻址 10050H (9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH (10) MOV AX,DISP[BX] 寄存器相对寻址 11100H (1l) MOV AX,[BX+SI] 基址变址寻址 10150H (12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H 3.2 分别说明下例指令采用的寻址方式和完成的操作功能。 (1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器 (2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器 (3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器 (4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元 (5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元 (6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元 (7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器 (8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元 (9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元 3.3 判断下列指令正误,如果错误请指出原因。 (1)MOV CH,2000H 错两个操作数的长度不一致 (2)XOR DL,BH 对 (3)ADD 100,AH 错目的操作数不能为立即数 (4)MOV DS,2200H 错立即数不能直接传送给段寄存器 (5)IN AL,250H 错源操作数必须为口地址 (6)MOV [BX][SI],[DI] 错两个操作数不能同时为存储器 (7) LEA AX,BL 错源操作数必须为地址标号 (8)MOV CX,ES:BX 错寄存器寻址不能用段超越前缀 3.4 设DS=1000H,SS=2000H,AX=1000H,BX=0020H,CX=2000H,BP=0002H,SI=0010H,DI=0030H,

第三章微机原理课后习题参考答案_2012

第三章微机原理课后习题参考答案 1. 指出下列指令的错误原因。 (1) AND AX, DL ;类型不匹配 (2) ADD CS, DX ;CS不能作为目的操作数 (3) MOV AX, IP ;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI] ;两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES:DX ;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI] ;没有[SI][DI]这种操作数形式 (7) JGE AX ;条件转移指令的操作数只能是标号 (8) PUSH DL ;对堆栈不能进行字节操作 2. 用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0 ;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3. 写出实现下列功能的指令序列。 (1) 判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0 JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果,因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFFF H JZ LABEL ; 如果ZF = 0,说明AX为0 方法3: AND AX, 0FFFF H JZ LABEL (2) 将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位

清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后, 高位补零 (3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入 BX;否则,AX和BX不变。 MOV DX,AX ;首先判断是否是1奇1偶,如是则保持不变 ADD DX,BX TEST DX,01H ;检测AX与BX是否同为偶数或同为奇数 JZ CONTINUE TEST AX, 01H ;检测AX的最低位 JNZ CONTINUE XCHG AX, BX CONTINUE : ….;无需处理,AX,BX中内容将不变 4. 分析下列指令序列完成什么功能。 MOV CL, 4 SHL DX, CL MOV BL, AH SHL AX, CL SHR BL, CL OR DL, BL 答案:将DX.AX中的32位数整体逻辑左移4位。 5. 给出下列各条指令执行后AL以及CF、OF、SF、和ZF的值。 指令AL CF OF SF ZF 备注 MOV AL, 100 100/64H MOV指令不影响标志位 XOR AL, AL 100/64H 0 0 0 1 除NOT外,逻辑运算后CF=OF=0,其余 据结果设置;逻辑运算指令下,AF标志

微机原理及应用陈继红徐晨课后习题答案

微机原理及应用(陈继红、徐晨)课后习题答案 第三章 8086/8088指令系统和寻址方式习题答案(部分) 3.1 总结计算机中十进制、二进制、八进制及十六进制数的书写形式。 123D、0AFH、 77Q、1001110B分别表示什么计数制的数 答案:123D、0AFH、77Q、1001110B分别表示十进制、十六进制、八进制、二进制。3.2字长为 8位、16位二进制数的原码、补码表示的最大数和最小数分别是什么 答案:8位原码表示的最大数:(27-1)、8位补码表示的最大数:(27-1)、8位原码表示的最小数:-(27-1)、8位补码表示的最小数 -27。 16位原码表示的最大数:(215-1)、16位补码表示的最大数:(215-1)、16位原码表示的最小数:-(215-1)、16位补码表示的最小数 -215。 3.3 把下列十进制数分别转换为二进制数和十六进制数。 (1)125 (2)255 (3)72 (4)5090 答案:(1) 125二进制数: 0111 1101B;十六进制数: 7DH。 (2)255二进制数: 1111 1111B;十六进制数:0FFH。 (3)72二进制数: 0100 1000B;十六进制数: 48H。 (4)5090二进制数: 0001 0011 1110 0010B;十六进制数: 13E2H。 3.4 把下列无符号二进制数分别转换为十进制数和十六进制数。 (1)1111 0000 (2)1000 0000 (3)1111 1111 (4)0101 0101 答案:(1)1111 0000十进制数: 240D;十六进制数: 0F0H。 (2)1000 0000十进制数: 128D;十六进制数: 80H。 (3)1111 1111十进制数:255D;十六进制数: 0FFH。 (4)0101 0101十进制数: 85D;十六进制数: 55H。 3.5 把下列无符号十六进制数分别转换为十进制数和二进制数。 (1)FF (2)ABCD (3)123 (4)FFFF 答案:(1)FF十进制数:255D;二进制数;

微机原理第三章习题答案

习题3答案 1.指出下列指令的错误原因。 (1) AND AX, DL;类型不匹配 (2) ADD CS, DX;CS不能作为目的操作数 (3) MOV AX, IP;IP不能作为指令的操作数 (4) MOV [BP][SI], [SI];两个操作数不能同时为内存操作数 (5) SUB [BP][SI], ES: DX;段超越前缀只能用在内存操作数之前 (6) XCHG AL, [SI][DI];没有[SI][DI]这种操作数形式 (7) JGE AX;条件转移指令的操作数只能是标号 (8) PUSH DL;对堆栈不能进行字节操作 2.用一条指令将BX清0。(请给出3种方法) 方法1:MOV BX, 0 方法2:SUB BX, BX 方法3:AND BX, 0;将BX和0做与,可以将BX清零 方法4:XOR BX, BX 3.写出实现下列功能的指令序列。 (1)判断AX的值,若AX等于0,则转到标号LABEL处。(请写出3种方法) 方法1: CMP AX, 0

JZ LABEL ;如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果;因此指令执行后AX内容不会受到破坏 方法2: TEST AX, 0FFH JZ LABEL ;如果ZF = 0,说明AX为0,TEST指令做与运算,可是不写回结果,只影响标志位。 ;和0与清零,和1与不变,所以和FFH做与的结果是AX本身,但是此时标志位已;经改变了,所以可以利用标志位来判断,但是AX内容却没有受到任何破坏方法3: AND AX, 0FFH ;这个方法的原理和方法2其实是完全一致的 JZ LABEL (2)将AL的高4位与低4位分别放入AH与AL的低4位,并将AH与AL的高4位清0。 MOV AH, AL AND AL, 0FH ; AL高4位通过与清零,而低4位保持不变 MOV CL, 4 SHR AH, CL ;这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零 (3)若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。 TEST AX, 01H ;TEST做与运算,通过与来检测AX的最低位 JNZ CONTINUE ;如果ZF = 1,说明AX的最低位是0,那么AX中的数是偶数,就跳转,否则,;说明AX中的是奇数,而BX中的是偶数,符合结果要求,不用动了XCHG AX, BX

微机原理(第三版)课后练习答案

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

第三章微机原理 习题课

第三章习题课 一、选择题 1、在汇编语言程序得开发过程中使用宏功能得顺序就是()。 A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略得项就是()。 A、名字项 B、操作项 C、操作数项 D、注释项 3、下列叙述正确得就是( ) A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令 4、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件得指令有( )、 A、CMP B、SUB C、AND D、MOV 5、测试BL寄存器内容就是否与数据4FH相等,若相等则转NEXT处执行,可实现得方法就是( )。 A TEST BL,4FH JZ NEXT B XOR BL,4FH JZ NEXT C AN D BL,4FH JZ NEXT D OR BL,4FH JZ NEXT 6、检查BUF得内容就是否为正偶数,如就是正偶数,则令AL=0。下面程序段正确得就是( )。 A、MOV AL,BUF JS K1 SHR AL,1 JNC K1 MOV AL,0 K1:……B、MOV AL,BUF AND AL,11 JNZ K2 MOV AL,0 K2:……

C、MOV AL,BUF TEST AL,81H JNZ K3 MOV AL,0 K3:…… 7、下列描述中,执行循环得次数最多得情况就是()。 A.MOV CX,0 B.MOV CX,1 LOP:LOOP LOP LOP:LOOP LOP C.MOV CX,0FFFFH D.MOV CX,256 LOP:LOOP LOP LOP:LOOP LOP 8、在下列指令中, 指令得执行会影响条件码中得CF位。 A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 9、下列指令执行时出错得就是()。 A.ADD BUF1,BUF2 B.JMP DWORD PTR DAT [BX] C.MOV AX,[BX+DI] NUM D.TEST AL,08H 10、在下列指令得表示中,不正确得就是()。 A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 11、在进行二重循环程序设计时,下列描述正确得就是()。 A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 12、下面就是多字节加法程序,第一个数就是8A0BH,第二个数就是D705H。 DA TA SEGMENT FIRST DB (1), (2),0H SECOND DB (3), (4) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START:MOV AX,DA TA MOV DS,AX MOV CX, (5) MOV SI,0 (6) NEXT: MOV AL,SECOND[SI] ADC FIRST[SI],AL INC SI LOOP NEXT MOV AL,0 ADC AL, (7) MOV FIRST[SI],AL MOV AH,4CH INT 21H CODE ENDS

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

微机原理与接口技术习题答案

微机原理第三章习题与参考答案 3.1 已知 (DS) = 1000H,(ES) = 2000H,(SS) = 3000H,(SI) = 0050H,(BX) =0100H,(BP) =0200H,数据变量DISP的偏移地址为1000。指出下列指令的寻址方式和物理地址。 (1) MOV AX,0ABH 立即寻址无 (2) MOV AX,BX 寄存器寻址无 (3) MOV AX,[l000H] 直接寻址 10000H (4) MOV AX,DATA 直接寻址 (DS*16+DATA ) (5) MOV AX,[BX] 寄存器间接寻址 10100H (6) MOV AX,ES:[BX] 寄存器间接寻址 20100H (7) MOV AX,[BP] 寄存器间接寻址 30200H (8) MOV AX,[SI] 寄存器间接寻址 10050H (9) MOV Ax,[BX+l0] 寄存器相对寻址 1010AH (10) MOV AX,DISP[BX] 寄存器相对寻址 11100H (1l) MOV AX,[BX+SI] 基址变址寻址 10150H (12) MOV AX,DISP[BX][SI] 相对基址变址寻址 11150H 3.2 分别说明下例指令采用的寻址方式和完成的操作功能。 (1) MOV CX,2000H 立即寻址将立即数2000H送CX寄存器 (2) MOV DS,AX 寄存器寻址将AX寄存器内容送DS段寄存器 (3) AND CH,[1000H] 直接寻址将[DS*16+1000H]单元的内容送CH寄存器 (4) ADD [DI],BX 寄存器间接寻址将CL寄存器的内容送[DS*16+DI]单元 (5) MOV SS:[3000H],CL 直接寻址将CL寄存器的内容送[SS*16+3000H]单元 (6) SUB [BX][SI],1000H 直接寻址将立即数1000H送[DS*16+BX+SI+50H]单元 (7) ADD AX,50H[BX][SI] 相对基址变址寻址将[DS*16+BX+SI+50H]单元的内容送AX寄存器 (8) PUSH DS 寄存器寻址将DS寄存器的内容送[SS*16+SP]单元 (9) CMP [BP][DI],AL 寄存器寻址将AL寄存器的内容送[SS*16+DI+BP]单元 3.3 判断下列指令正误,如果错误请指出原因。 (1)MOV CH,2000H 错两个操作数的长度不一致 (2)XOR DL,BH 对 (3)ADD 100,AH 错目的操作数不能为立即数 (4)MOV DS,2200H 错立即数不能直接传送给段寄存器 (5)IN AL,250H 错源操作数必须为口地址 (6)MOV [BX][SI],[DI] 错两个操作数不能同时为存储器 (7) LEA AX,BL 错源操作数必须为地址标号 (8)MOV CX,ES:BX 错寄存器寻址不能用段超越前缀 3.4 设DS=1000H,SS=2000H,AX=1000H,BX=0020H,CX=2000H,BP=0002H,SI=0010H,DI=0030H,

(完整版)微机原理第三章(1)及答案

第三章习题集 二.选择题(每小题1分,共15分) 1. 逻辑地址1000:2000对应的物理地址为( B )。 A、1200H B、12000H C、2100H D、21000H 2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。 A、AX B、BX C、SP D、SI 3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。 A.程序 B.堆栈 C.数据 D.附加 4.在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。 A. AX,BX,CX,IP; B. BX,SP,DX,SI C. IP,SP,BP,AX D. BP,BX,SI,DI 5. 含有立即数的指令中,该立即数被存放在 A 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。 A、有效地址 B、物理地址 C、逻辑地址 D、相对地址 7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中, 则DS=( B )。 A、0FFFFH B、0F47FH C、2032H D、0F000H 8. 含有立即数的指令中,该立即数被存放在 B 。 A. 累加器中 B. 指令操作码后的内存单元中 C. 指令操作码前的内存单元中 D. 由该立即数所指定的内存单元中 9.寄存器间接寻址方式中,操作数在 C 中。 A. 通用寄存器 B. 堆栈 C. 存储单元 D. 段寄存器 10.下列指令中,有语法错误的指令是(B D)。 A. MOV AX,[1000H] B. LEA AL,1000H C. MOV [1000H],AL D. MOV 1000H,AX 11. 下列指令语法有错的是:C A. MOV AX,1000H B. MOV AX,BX C. MOV [AX],[1000H] D. MOV AX,[1000H] 12. 8086/8088中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。 ( ) A. 立即寻址和直接寻址 B. 寄存器寻址和直接寻址 C. 立即寻址和寄存器寻址 D. 立即寻址和间接寻址 13.指令( C )的源操作数的寻址方式为直接寻址。 A. MOV [2000H],AL B. IN AL,DX C. XOR AL,[2000H] D. MOV AX,2000H 14. 下列指令中,执行速度最快的指令是(__A__)。 A. ADD AX,10 B. ADD AL,[SI+10H] B. ADD AX,CX C. ADD AX,[BX] 15. 下列指令中,不影响进位的指令是:( C ) A. ADD AX,BX B. MUL BL C. INC BX D.SUB AL,BH

微机原理与接口技术第三章_答案

1、 操作码、操作数 2、 提供的是偏移地址;物理地址=偏移地址+程序段基址 3、 答:立即寻址是指指令所需的操作数直接存放在指令中,即指令的操作数字段就是真正的操作数。 直接寻址是在指令中直接给出操作数所在的内存单元的段内偏移量。 寄存器寻址是指操作数存放在寄存器中,指令的操作数字段指出使用的寄存器。 寄存器间接寻址是指寄存器内存放的是操作数的地址,而不是操作数本身,即操作数是通过寄存器间接得到的。 4、 (1)MOV AX,420H 立即数寻址 (2)MOV [BX],SI 基址寻址 (3)MOV AX,[90] 直接寻址 (4)MOV [DI+90],AH 变址寻址 (5)MOV AL,[BP+SI+20] 基址变址寻址 5、 DS DS ES SS 6、 (1)MOV AX,[2345H] 2345H (2)MOV AX,[BX] 2010H (3)MOV AX,ES:[DI+200] 00B8H------------100B8H(溢出) (4)MOV AX,DS:[BP+DI] 0410H----------------10410H(溢出) MOV AX,[BX+DI+114H] 2114H---------------12114H(溢出) 7、 8、 是通过寄存器SS和SP组织的,当SP的值小于零时说明栈空,当SP 的值为FFFFH时栈满。 9、

10、LEA CX, [BX+SI] 11、 BX=40ABH 没有变化 BL=47H CF;OF;ZF;SF=1;1;0;1 AL=E5H 没有变化 AX=1111 1111 1110 0101B 标志位不变 BH=25H OF:SF:ZF:CF=0:0:0:1 BX=2561H OF:SF:ZF:CF=0:0:0:1 AX=6H OF:SF:ZF:CF=0:0:0:1 BH=2EH OF:SF:ZF:CF=0:0:0:1 12 、 操作数之一和结果都放在固定的寄存器中进行寻址13、 MOV AL,DL MUL DL MUL DL MUL DL 14、 (1)AND DH,11111000B MOV BH,DH (2)OR DI,11111000 00000000B (3)OR AX,1110 0000 0000 0000B XOR AX,0000 0011 1000 0000B AND AX,1111 1111 1111 1000B (4)TEST BX,0010 0100 0100 0000B (5)NOT CX TEST 0100 00100 0001 0000B (6)NOT AX TEST AX,2205H (7)TEST DX,4812H

微机原理第3章练习题及答案

第3章 80x86微处理器 一、自测练习题 ㈠选择题 1.因为8086 CPU的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单元,所以其堆栈指针SP( )。 A.最好指向偶地址单元 B.可以指向任何地址单元 C.只能指向偶地址D.只能指向奇地址 2.8086/8088微处理器内部能够计算出访问内存储器的20位物理地址的附加机构是( )。 A.ALU B.加法器C.指令队列 D.内部通用寄存器3.8086CPU外部的数据总线和地址总线分别为( )位。 A.16,16 B.20,16 C.16,20 D.20,20 4.指令代码的地址存放在寄存器( )中。 A.DS和SI B.BX和BP C.ES和DI D.CS和IP 5.最大方式中,控制总线的信号来自( )。 A.8282 B.8284 C.8288 D.8286 6.在8086中,一个基本的总线周期由( )个时钟周期组成。 A.1 B.2 C.3 D.4 7.在8086CPU中,数据地址引脚( )采用时分复用。 A.AD0~AD15 B.AD0~AD9 C.AD0~AD20 D.AD10~AD2 8.8086CPU把1MB空间划分为若干逻辑段,每段最多可含( )的存储单元。 A.1KB B.8KB C.16KB D.64KB 9.当标志寄存器FLAGS中OF位等于1时,表示带有符号的字运算超出数据( )范围。 A.-128~+127 B.-32768~+32767 C.000~FFFFH D.0~FFH 10.总线写周期中,在( )时不需要像读周期时要维持一个周期的浮空状态以作缓冲。 A.-32767~+32767 B.-32767~+32768 C.-32768~+32767 D.-32766~+32769 11.CPU执行指令过程中,BIU每完成一次对存储器或I/O端口的访问过程,称为( )。 A.时钟周期 B.总线周期 C.总线读周期 D.总线写周期 12.BHE与A0配合以决定访问存储器的数据是高字节还是低字节工作,其BHE仅在总线周期开始的( )周期有效。 A.T1 B.T2 C.T3 D.T4 13.最小方式下原8086微处理器最大方式下S2、S1、S0引脚应改为( )。 A.M/IO、DEN、DT/R B.DT/R、M/IO、DEN C.M/IO、DT/R、DEN D.DEN、M/IO、DEN 14.最大方式下引脚25号和24号分别为QSo和QSl,若工作于最小方式下则分别为( )。 A.INTA和ALE B.ALE和INTA C.TEST和INTA D.DEN和ALE 15.复位时,由于( )被清零,使从INTR输入的可屏蔽中断就不能被接受。 A.标志寄存器B.通用寄存器C.暂存寄存器 D.内部通用寄存器

2020年智慧树知道网课《微机原理及应用》课后章节测试满分答案

第一章测试 1 【单选题】(2分) 在CPU的框架中,主要包括哪三个组成部分 A. 运算器、控制器、处理器 B. 运算器、执行器、寄存器 C. 存储器、执行器、寄存器 D. 运算器、控制器、寄存器 2 【多选题】(2分) 微型计算机包括 A. 存储器 B. 输入输出接口电路 C. CPU D. 存储器接口电路

3 【多选题】(2分) 微型计算机从设计的复杂程度和应用领域可以分为哪两大类 A. 专用微型计算机 B. 通用微型计算机 C. 超级计算机 D. 高速计算机 4 【单选题】(2分) 单片微型计算机是以()为核心的 A. 输入输出接口电路 B. CPU C. 存储器接口电路 D. 存储器

5 【单选题】(2分) 单片微型计算机具有微型计算机的全部功能和特征,是微型计算机的()存在形式。 A. 集成 B. 缩小 C. 放大 D. 特殊 6 【单选题】(2分) 1956年8月5日,我国第一个计算机技术研究机构,中国科学院计算机技术研究所筹备委员会成立,著名数学家()任主任。 A. 陈景润 B. 华罗庚 C. 陈省身 D. 苏步青

第二章测试 1 【单选题】(2分) 我们选择的研究范例ATMEGA16是()位的单片微型计算机 A. 16位 B. 8位 C. 32位 D. 4位 2 【单选题】(2分) ATMEGA16单片微型计算机有()个引脚 A. 40 B. 24 C.

48 D. 64 3 【单选题】(2分) ATMEGA16的内部CPU执行指令过程中,算数运算和逻辑运算由()执行。 A. 程序存储器 B. 数据存储器 C. 通用寄存器 D. 算数逻辑运算单元(ALU) 4 【多选题】(2分) ATMEGA16的内部CPU执行完毕一条指令后,其结果可能送到() A.

微机原理第3章作业及答案

第3章指令系统 习题解答 1. 若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,说明下列各条指令执行后,AX中的内容是什么?并说明各条指令中源操作数的寻址方式。 (1) MOV AX,DS (2) MOV AX,[2000H] (3) MOV AX,[SI] (4) MOV AX,[BP] (5) MOV AX,[BP+SI] 【解】 (1)AX=3000H 寄存器寻址 (2)AX=4000H 直接寻址 (3)AX=6020H 寄存器间接寻址 (4)AX=4000H 寄存器间接寻址 (5)AX=6020H 基址加变址寻址 2. 指出下列指令中的非法指令。 (1) MOV BX,AL (2) MOV CS,2000H (3) PUSH 4567H (4) XCHG VAR1,VAR2 (5) ADD AL,148H (6) MOV DS,2000H (7) MOV BH,SI (8) SUB 38H,AL 【解】非法指令: (1) MOV BX,AL BX和AL的长度不一致 (2) MOV CS,2000H CS段寄存器不能作目的操作数 (3) PUSH 4567H 只能将寄存器或存储单元的内容压入堆栈,不能是立即数 (4) XCHG VAR1,V AR2 两个存储单元之间不能直接交换数据 (5) ADD AL,148H 运算溢出 (6) MOV DS,2000H 立即数不能直接传送给DS段寄存器 (7) MOV BH,SI BH和SI的长度不一致 (8) SUB 38H,AL 目的操作数不能是立即数 3. 若SP=2000H,AX=3355H,BX=4466H,试指出下列指令或程序段执行后有关寄存器的内容。 (1) PUSH AX 执行后AX=?,SP=? (2) PUSH AX PUSH BX POP DX

相关文档
相关文档 最新文档