微机原理第三章习题答案

合集下载

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

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

第3章8086CPU指令系统1.写出完成以下要求的变量定义语句:〔1〕在变量var1中保存6个字变量:4512H,4512,-1,100/3,10H,65530;〔2〕在变量var2中保存字符串:’BYTE’, ’word’, ’WORD’;〔3〕在缓冲区buf1中留出100个字节的存储空间;〔4〕在缓冲区buf2中,保存5个字节的55H,再保存10个字节的240,并将这一过程重复7次;〔5〕在变量var3中保存缓冲区buf1的长度;〔6〕在变量pointer中保存变量var1和缓冲区buf1的偏移地址。

解:var1 DW 4512H,4512,-1,100/3,10H,65530var2 DB ’BYTE’,’word’,’WORD’buf1 DB 100 DUP〔?〕buf2 DB 7 DUP〔5 DUP〔55H〕,10 DUP〔240〕〕var3 DB LENGTH buf1pointer DW var1,buf1 〔或者pointer D W OFFSET var1,OFFSET buf1〕2.设变量var1的逻辑地址为0100:0000,画出以下语句定义的变量的存储分配图:var1 DB 12,-12,20/6,4 DUP〔0,55H〕var2 DB ‘Assemble’var3 DW ‘AB’, ‘cd’, ‘E’var4 DW var2var5 DD var2解:3.指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因〔设VAR1, VAR2为字变量, L1为标号〕:〔1〕MOV SI,100 〔2〕MOV BX,VAR1[SI]〔3〕MOV AX, [BX] 〔4〕MOV AL, [DX]〔5〕MOV BP, AL 〔6〕MOV VAR1, VAR2〔7〕MOV CS, AX 〔8〕MOV DS, 0100H〔9〕MOV [BX][SI], 1 〔10〕MOV AX, VAR1+VAR2〔11〕ADD AX, LENGTH VAR1 〔12〕OR BL, TYPE VAR2〔13〕SUB [DI], 78H 〔14〕MOVS VAR1, VAR2〔15〕PUSH 100H 〔16〕POP CS〔17〕XCHG AX, ES 〔18〕MOV DS, CS〔19〕JMP L1+5 〔20〕DIV AX, 10〔21〕SHL BL, 2 〔22〕MOV AL, 15+23〔23〕MUL CX 〔24〕XCHG CL, [SI]〔25〕ADC CS:[0100], AH 〔26〕SBB VAR1-5,154解:〔1〕MOV SI,100 正确。

微机原理第三章作业答案

微机原理第三章作业答案

3.1 简要分析8086的指令格式由哪些部分组成,什么是操作码?什么是操作数?寻址和寻址方式的含义是什么?8086指令系统有哪些寻址方式?【解答】8086的指令格式由操作码和操作数字段组成。

操作码:要完成的操作。

操作数:参与操作的对象。

寻址:寻找操作数或操作数地址的过程。

寻址方式:指令中给出的找到操作数或操作数地址采用的方式。

8086指令系统的寻址方式主要有立即数寻址、寄存器寻址、存储器寻址和I/O端口寻址。

其中,存储器寻址可进一步分为直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址;I/O端口指令IN和OUT使用的端口寻址方式有直接寻址和间接寻址。

3.2 设(DS)=2000H,(ES)= 2100H,(SS)= 1500H,(SI)= 00A0H,(BX)= 0100H,(BP)= 0010H,数据变量VAL的偏移地址为0050H,请指出下列指令的源操作数字段是什么寻址方式?它的物理地址是多少?(1) MOV AX,21H (2) MOV AX,BX (3) MOV AX,[1000H](4) MOV AX,VAL (5) MOV AX,[BX] (6) MOV AX,ES:[BX](7) MOV AX,[BP] (8) MOV AX,[SI] (9) MOV AX,[BX+10](10) MOV AX,VAL[BX] (11) MOV AX,[BX][SI] (12) MOV AX,VAL[BX][SI]【解答】(1)MOV AX,21H立即寻址,源操作数直接放在指令中(2)MOV AX,BX寄存器寻址,源操作数放在寄存器BX中(3)MOV AX,[1000H]直接寻址,EA = 1000H,PA =(DS)×10H+EA = 2000H×10H+1000H = 21000H(4)MOV AX,VAL直接寻址,EA = [V AL] = 0050H,PA =(DS)×10H+EA = 2000H×10H+0050H = 20050H(5)MOV AX,[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(DS)×10H+EA = 2000H×10H+0100H = 20100H(6)MOV AX,ES:[BX]寄存器间接寻址,EA =(BX)= 0100H,PA =(ES)×10H+EA = 2100H×10H+0100H = 21100H(7)MOV AX,[BP]寄存器间接寻址,EA =(BP)= 0010H,PA =(SS)×10H+EA = 1500H×10H+0010H = 15010H(8)MOV AX,[SI]寄存器间接寻址,EA =(SI)= 00A0H,PA =(DS)×10H+EA = 2000H×10H+00A0H = 200A0H(9)MOV AX,[BX+10]相对寄存器寻址,EA =(BX)+10D = 0100H+000AH= 010AH,PA =(DS)×10H+EA = 2000H×10H+010AH = 2010AH(10)MOV AX,VAL[BX]相对寄存器寻址,EA =(BX)+[V AL]= 0100H+0050H= 0150H,PA =(DS)×10H+EA = 2000H×10H+0150H = 20150H(11)MOV AX,[BX][SI]基址变址寻址,EA = (BX)+(SI)= 0100H+00A0H = 01A0H,PA = (DS)×10H +EA = 2000H×10H+01A0H = 201A0H(12)MOV AX,VAL[BX][SI]相对基址变址寻址,EA = (BX)+(SI)+[V AL]= 0100H+00A0H+0050H = 01F0H,PA =(DS)×10H+EA = 2000H×10H+01F0H = 201F0H3.3 给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。

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

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

第三章2、对于下列存储容量的存储器芯片⑴Intel 2114(1K×4bit)⑵Intel 2167(16K×1bit)⑶Zilog 6132(4K×8bit)各需要多少条地址线寻址?需要多少条数据线?若要组成64K×8bit的存储器,选同一芯片各需要几片?答:存储器芯片的存储容量=存储单元个数×每个存储单元存放的二进制信息位数。

存储单元个数决定了存储器芯片的地址线条数,地址线条数N=㏒2(存储单元个数),每个存储单元存放的二进制信息位数决定了存储器芯片的数据线条数,数据线条数M=每个存储单元存放的二进制信息位数。

∴⑴Intel 2114(1K×4bit)芯片,需要N=㏒2(210)=10条地址线寻址,需要M=4条数据线。

⑵Intel 2167(16K×1bit)芯片,需要N=㏒2(214)=14条地址线寻址,需要M=1条数据线。

⑶Zilog 6132(4K×8bit)芯片,需要N=㏒2(212)=12条地址线寻址,需要M=8条数据线。

若要组成64K×8bit的存储器,选上述同一芯片,则:⑴选Intel 2114(1K×4bit)芯片,需要64K×8bit÷(1K×4bit)=64×2 =128片;即位扩展需2片一组,字扩展需64组,共需128片。

⑵选Intel 2167(16K×1bit)芯片,需要64K×8bit÷(16K×1bit)=4×8 =32片;即位扩展需8片一组,字扩展需4组,共需32片。

⑶选Zilog 6132(4K×8bit)芯片,需要64K×8bit÷(4K×8bit)=16×1 =16片;即不需位扩展,字扩展需16组,共需16片。

3、用16K×4bit的SRAM芯片组成64K×8bit的存储器,要求画出该存储器组成的逻辑框图。

微机原理第三章课后习题解答

微机原理第三章课后习题解答

3.1已知DS=091DH,SS=1E4AH,AX=1234H,BX=0024H,CX=5678H,BP=0024H,SI=0012H,DI=0032H,(09226H)=00F6H,(09228H)=1E40H , (1E4F6H)=091DH。

在以上给出的环境下,试问下列指令段之行后的结果如何?(1)MOV CL,[BX+20H][SI];物理地址=DS*10H+BX+SI+20H=091D0H+0024H+0012H+0020H=09226H(09226H)=00F6H,(09226H)=F6H, (09227H)=00H执行后:CL=F6H(2)MOV [BP][DI], CX物理地址=SS*10H+BP+DI=1E4A0H +0024H+0032H=1E4F6HCX=5678H 执行后:(1E4F6H) = 5678H(3)LEA BX, [BX+20H][SI];BX=BX+20H+SI=0056HMOV AX, [BX+2];物理地址=DS*10H+BX+2=091D0H +0058H=09228H(09228H)=1E40H 执行后:AX=1E40H(4)LDS SI, [BX][DI];物理地址=DS*10H+BX+DI=091D0H +0056H=09226H(09226H)=00F6H (09228H)=1E40H执行后:BX=(09226H)=00F6HDS=(09228H)=1E40HMOV [SI],BX物理地址=DS*10H+SI =1E400H +0012H=1E412HBX=0024H,执行后:(1E412H)=0024H(5)XCHG CX,[BX+32H]物理地址=DS*10H+BX+32H =091D0H +0056H =09226H(09226H)=00F6H , CX=5678H执行后:(09226H)=5678H , CX=00F6HXCHG [BX+20H][SI], AX物理地址=DS*10H+BX+20H+SI =091D0H +0056H =09226H(09226H)=5678H , AX=1234H执行后: (09226H)=1234H , CX=5678H3.2设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1350H,SI=1354H,(11350H)=0A5H,(11351H)=3CH,(11352H)=0FFH,(11353H)=26H,(11354H)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H。

微机原理第三章习题答案

微机原理第三章习题答案

习题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, BX3. 写出实现下列功能的指令序列。

(1) 判断AX的值,若AX等于0,则转到标号LABEL处。

(请写出3种方法)方法1:CMP AX, 0JZ LABEL ; 如果ZF = 0,说明AX为0,因为CMP指令是做减法,但是不写回结果; 因此指令执行后AX内容不会受到破坏方法2:TEST AX, 0FFHJZ 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, ALAND AL, 0FH ; AL高4位通过与清零,而低4位保持不变MOV CL, 4SHR AH, CL ; 这两条指令通过逻辑右移将AH的高4位清零,因为SHR在右移后,高位补零(3) 若AX和BX中的数恰好1个是奇数、1个是偶数,则将奇数放入AX,偶数放入BX;否则,AX和BX不变。

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

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

习题一、选择题1.寻址方式指出了操作数的地点,一般来说_______。

A.立刻寻址给出了操作数的地点B.寄存器直接寻址的操作数在寄存器内,而指令给出了储存器C.直接寻址直接给出了操作数自己D.寄存器直接寻址的操作数包括在寄存器内,由指令指定寄存器的名称答案: D2.寄存器寻址方式中,操作数在_________。

A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: A3.寄存器间接寻址方式中,操作数在_________ 。

A. 通用寄存器B. 货仓C.内存单元D.段寄存器答案: C4.以下指令中的非法指令是 ______。

A. MOV [SI+BX], AXB.MOV CL, 280C.MOV [0260H], 2346HD.MOV BX, [BX]答案: B5.设 (SP)=0100H ,(SS)= 2000H ,履行 PUSH BP 指令后,栈顶的物理地点是 _____。

A.200FEHB.0102HC. 20102HD.00FEH答案: A6.指令 LEA BX, TAB 履行后,其结果是 ______。

A. 将 TAB 中内容送 BXB.将 TAB 的段基址送 BXC.将 TAB 的偏移地点送 BXD.将 TAB 所指单元的储存内容送 BX答案: C7.以下正确的指令格式有______。

A.MOV [BX], 1B.MOV AL, 0345HC.MOV ES: PTR[CX], 3D. XLAT答案: D8.设 (AX)=C544HA.CF=0,OF=0 ,在履行指令B.CF=0,OF=1ADD AH,AL 以后,C.CF=1,OF=0______。

D,CF=1,OF=1答案: C9.若 AL 、 BL 再履行 DAA 中是压缩BCD后, (AL)=_____数,且在履行。

ADD AL, BL 以后,(AL)=0CH , CF=1 ,AF=0 。

A.02HB.12HC.62HD.72H 答案: B10.履行以下程序后AL 的内容为 _____。

第三章微机原理习题答案

第三章微机原理习题答案

第三章习题答案一、单选题1.8086是高性能的第三代微处理器,是Intel系列的 B 位微处理器。

A.8 B.16 C.32 D.642.8086有20根地址线,可以寻址到的内存空间能达到 B 字节。

A.1K B.1M C.1G D.1T3.80486的内部所有部件都连接在 A 上,并通过 B 交换数据A.内部总线B.数据总线C.地址总线D.外部总线4. C 的任务就是在内部控制总线信号的控制下,把内部数据总线上的数据送上外部地址总线,或与外部数据总线的某些位交换数据,并产生相应的外部控制信号。

A.高速缓存部件B.代码预取部件C.总线接口部件D.指令译码部件5.在指令流水线技术中,预取指令部件一次可以从内部Cache取 C 字节的指令代码,送预取指令队列等候执行。

A.4 B.8 C.16 D.326.当存储器的读出时间大于CPU要求的时间时,为了保证CPU与存储器的周期配合,就要利用一个READY信号,使CPU插入一个 D 状态。

A.T1B.T2C.T3D.Tw7.指令队列的作用是 D 。

A.暂存操作数地址B.暂存操作数C.暂存指令地址D.暂存预取指令8.在80486微处理器中设置有4个系统地址寄存器,用来在保护方式下管理4个系统表。

其中用来存放全局描述符表的是 A 。

A.全局描述符表寄存器B.中断描述符表寄存器C.局部描述符表寄存器D.任务状态寄存器9.段寄存器和 D 一起为操作系统完成内存管理、多任务环境、任务保护提供硬件支持。

A.调试寄存器B.系统地址寄存器C.标志寄存器D.指令指针寄存器10. B 为中断允许标志。

该位置为1时,允许响应外部可屏蔽中断(INTR);该位置为0时,禁止响应外部可屏蔽中断。

A.OF B.IF C.DF D.ZF二、判断题1.8086的内部结构由总线接口部件BIU和执行部件EU两部分组成。

(T )2.总线实际上是一组导线,是各种公共信号线的集合,用于作为微型计算机中所有各组成部分传输信息共同使用的“公路”。

微机原理作业与答案第三章

微机原理作业与答案第三章

8086第三章作业3-11在实模式下,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址(1)1000H 10000H-1FFFFH(2)1234H 12340H-2233FH(3)E000H E0000H-EFFFFH(4)AB00H AB000H-BAFFFH3-12对于下列CS:IP组合,计算出要执行的下条指令存储器地址。

(1)CS=1000H和IP=2000H 答:下条指令存储器地址:12000H(2)CS=2400H和IP=1A00H 答:下条指令存储器地址:25A00H(3)CS=1A00H和IP=B000H 答:下条指令存储器地址:25000H(4)CS=3456H和IP=ABCDH 答:下条指令存储器地址:3F12DH3-37 指出下列指令源操作数的寻址方式(1)MOV AX,1200H;立即数寻址(2)MOV BX,[1200H];直接寻址(3)MOV BX,[SI];变址寻址(4)MOV BX,[BX+SI+1200];相对基变址寻址(5)MOV [BX+SI],AL;寄存器寻址(6)ADD AX,[BX+DI+20H];相对基变址寻址(7)MUL BL ;寄存器寻址(8)JMP BX ;间接寻址(9)IN AL,DX ;寄存器间接寻址(10)INC WORD PTR[BP+50H] ;相对基址寻址小结:虽然对存储器的访问指令、输入/输出指令(IN指令和OUT指令)、跳转指令(JMP指令)都有直接寻址和间接寻址,但是形式是有很大差别的:1.直接寻址:(1)对于存储器的访问用方括号括起来的二进制数,如:MOV BX,[1200H](2)对于输入/输出指令(IN指令和OUT指令)用二进制数如:IN AX,8FH 又如: OUT 78H,AL(3)对于跳转指令(JMP指令)是以目标标号为直接地址的如: JMP ADDR12.间接寻址:(1)对于存储器的访问有分为基址寻址、变址寻址、基址加变址寻址以及带位移量的所谓相对基址寻址、相对变址寻址、相对基址加变址寻址如:MOV AX,[BP](2)对于输入/输出指令用DX做间接寻址寄存器如:IN AX,DX 又如: OUT DX,AL(3)跳转指令直接写明寄存器即可 (段内)如: JMP BX段间需组合:如: JMP DWORD PTR [BX+ADDR1]3-38指出8086/8088下列指令中存储器操作数地址的计数表达式。

微机原理 第三章答案

微机原理 第三章答案

第三章作业1答案思考题:1、简述80C51的指令寻址方式。

答:80C51的指令寻址方式有:寄存器寻址、立即寻址、寄存器间址、直接寻址、变址寻址、相对寻址、位寻址2、访问特殊功能寄存器SFR,可使用哪些寻址方式?答SFR只能直接寻址3、若访问外部RAM单元,可使用哪些寻址方式?答:外间RAM单元,只能通过MOVX指令进行寄存器间接寻址。

4、若访问内部RAM单元,可使用哪些寻址方式?答:片内RAM低128字节,可直接寻址、寄存器间接寻址。

(只能使用R0, R1作为间址寄存器。

片内RAM20~2FH单元,可以位寻址。

5、MOV、MOVC、MOVX指令有什么区别?分别用于哪些场合?答:MOV指令用于对内部RAM的访问。

MOVC指令用于对程序存储器的访问,从程序存储器中读取数据(如表格、常数等)。

MOVX指令采用间接寻址方式访问外部数据存储器,有Ri和DPTR两种间接寻址方式。

执行MOVX 指令时,在P3.7引脚上输出RD有效信号,或在P3.6 引脚上输出WR有效信号,可以用做外部数据存储器或I/O的读/写选通信号,与单片机扩展电路有关。

作业:1.给下段汇编语句加注释,汇编成机器语言,并说明该段程序的作用ORG 0000H 机器码MOV SP,#5FH ;栈顶指针指向内部RAM5FH单元C:0X0000 75815FMOV R7,#08H ;R7<- 08H,R7为计数器0X0003 7F08MOV R0,#3FH ;R0指向内部RAM3FH单元0X0005 783FCLOOP: POP ACC ; ACC<- (SP), SP<- SP-1 0X0007 D0E0 MOV @R0,A;把A中内容送入R0指向的单元(3FH)0X0009 F6DEC R0 ;R0<- R0-1 0X000A 18DJNZ R7,CLOOP ;R7<-R7-1 ,R7不为0跳转0X000B DFFASJMP $ ;原地踏步0X000D 80FE程序段作用:把内部RAM中58H-5FH单元的内容依次存入从38H-3FH的八个单元2.阅读下列程序,分析其功能。

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

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

微机原理第3章习题(答案)1.下列各条指令是否有错?如果有,请指出错误之处并改正(1)MOVDS 1000H(2)MOV[100],23H(3)ADDAX [BX + BP+ 6](4)PUSHDL(5)INAX, [3FH](6)0UT3FFH AL(7)LESSS [SI](8)POP[AX](9)IMUL4CH(10)SHLBX 5(11)INT300(12)XCHGD, 0FFFH答:(1)错误。

不允许直接向段寄存器送立即数,可改为:MOVAX 1000HMOVD, AX(2)错误。

该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上BYTEPT或WORDPT说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:MOVBYTEPTR[1O0] 23H(3)错误。

不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:ADDAX [BX + DI + 6](4)错误。

堆栈操作应以字为单位进行,而DL是一个字节。

可改为:PUSHDX(5)错误。

在输入/输出指令中,8位端口地址应直接写在操作数处。

可改为:INAX, 3FH(6)错误。

端口地址3FFH已超出8位二进制表示范围,16位端口地址应用DX可改为:MOVD, 3FFHOUTDXAL(7)错误。

LES指令的目操作数应该是通用寄存器,不能是段寄存器。

可改为:LESBX [SI](8)错误。

AX不能用于间接寻址,间接寻址只能用BXBP、SI、DI四个寄存器之一。

可改为:POP[BX](9)错误。

立即数不能做乘法指令的操作数,可改为:MOVBJL 4CHIMULBL(10)错误。

当逻辑移位的次数大于1时,应该用CL指示次数。

可改为MOVCL 5SHLBX CL(11)错误。

操作数300>255,已超出有效的中断类型码范围。

(12)错误。

XCHG指令不允许立即数做它的操作数。

可改为:MOVC, 0FFFHXCHGDXCX2•请指出以下各指令的源、目的操作数所使用的寻址方式(1)MOVSI 2100H(2)SBBDISP[BX], 7(3)AND[DI] , AX(4)ORAX [609EH](5)MOV[BXb DI + 30H], CX(6)PUSHES [BP](7)CALL[DI]DISP(8)JNZShort_label答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址(2)源操作数:立即数寻址;目的操作数:基址寻址(3)源操作数:寄存器寻址;目的操作数:寄存器间接寻址(4)源操作数:直接寻址;目的操作数:寄存器寻址5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的寄存器间接寻址;目的操作数:隐含寻址(7)只有一个操作数,为变址寻址(8)只有一个操作数,为相对寻址3. 已知DS=2000H 有关的内存单元值为:(21000H)=00H,(21001H)=12H,(21200H)=00H,(21201H)=10H,(23200H)=20H,(23201H)=30H,(23400H)=40H,(23401H)=30H,(23600H)=60H,(23601H)=30H,符号COUNT 勺偏移地址为1200H。

微机原理第3章习题

微机原理第3章习题
ZF=0,SF=0,OF=1
• 3.13将+46和-38分别乘以2,可应用什 么指令来完成?如果除以2呢?
解:
①将+46和-38分别乘以2,可分别用逻辑左 移指令SHL和算术左移指令SAL完成。 SHL针对无符号数,SAL针对有符号数, 也可用MUL(无符号数)和IMUL(有符 号数)
②除以2,用SHR或DIV实现+46/2,用SAR 或IDIV实现-38/2。
无物理地址
4 基址-变址-相对寻址
PA=(DS)×10H+VAR+(BX)+(SI)=608F0H
5 立即寻址
无物理地址
6 寄存器间接寻址
PA=(ES)× 10H+(BX)=20800H
7 寄存器间接寻址PA=(SBiblioteka )× 10H+(BP)=16200H
8 寄存器相对寻址
PA=(DS) × 10H+(BX)+20H=60820H
• 3.4试说明指令MOV BX,5[BX]与指令LEA BX, 5[BX]的区别。
答:
①MOV BX,5[BX]是数据传送类指令,表示将数据段中 以(BX+5)为偏移地址的16位数据送寄存器BX中。
② LEA BX,5[BX]是取偏移地址指令,结果为
(BX)=(BX)+5,即操作数的偏移地址为(BX)+5 • 3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,
(4)(AX)=1322H,执行SUB AX,76EBH后, (AX)=1322H-76EBH=9C37H
标志位状态分别为:CF=1,SF=1,ZF=0, OF=0,PF=0,AF=1
补充习题
• 1. 一个有16个字的数据区,起始地址为 70A0H:DDF6H,则这个数据区末字单 元的物理地址是( )

微机原理第3章习题答案

微机原理第3章习题答案

微机原理第3章习题答案第3章习题参考答案1 分别指出下列指令中的源操作数和目的操作数的寻址方式。

答:源操作数目的操作数(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] 寄存器间接寻址15010H3. 判断下列指令有误错误,若有,则改之。

答:(1)PUSH CL 有错,对堆栈操作数总是16位的。

改为:PHSH CX (2)ADCAX,0ABH 无,只是CF的值是不确定的(0或1)(3)OUT 3EBH, AX 有,输出设备的端口地址若超过8位,应使用DX 间接寻址。

改为:MOV DX, 3EBHOUT DX,AX(4)MUL AL, CL 有错。

乘法指令中有AX或AL寄存器是隐含的。

改为:MUL CL(5)MUL AX, 25 有错。

乘法指令中不能用立即数。

改为:MOV BX,25MUL BX(6)ROL DX,5 有错。

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

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

微型计算机原理第三章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存放源串在数据段内的偏移地址。

微机原理第三章及答案

微机原理第三章及答案

第三章习题集二.选择题(每小题1分,共15分)1. 逻辑地址1000:2000对应的物理地址为( B )。

A、1200HB、12000HC、2100HD、21000H2. 下面哪个寄存器使用时的默认段寄存器为SS( C )。

A、AXB、BXC、SPD、SI3. 当使用BP寄存器作基址寻址时,若无指定段替换,则内定在( B )段内寻址。

4.在下面四组寄存器中,第 D 组都可用于对存储器间接寻址方式的寄存器。

A. AX,BX,CX,IP;B. BX,SP,DX,SIC. IP,SP,BP,AXD. BP,BX,SI,DI5. 含有立即数的指令中,该立即数被存放在 A 。

A. 累加器中B. 指令操作码后的内存单元中C. 指令操作码前的内存单元中D. 由该立即数所指定的内存单元中6. 用段基值及偏移量来指明内存单元地址的方式称为( C )。

A、有效地址B、物理地址C、逻辑地址D、相对地址7. 已知物理地址为0FFFF0H,且段内偏移量为0B800H,若对应的段基地址放在DS中,则DS=( B )。

A、0FFFFHB、0F47FHC、2032HD、0F000H8. 含有立即数的指令中,该立即数被存放在 B 。

A. 累加器中B. 指令操作码后的内存单元中C. 指令操作码前的内存单元中D. 由该立即数所指定的内存单元中9.寄存器间接寻址方式中,操作数在 C 中。

A. 通用寄存器B. 堆栈C. 存储单元D. 段寄存器10.下列指令中,有语法错误的指令是(B D)。

A. MOV AX,[1000H]B. LEA AL,1000HC. MOV [1000H],ALD. MOV 1000H,AX11. 下列指令语法有错的是:CA. MOV AX,1000HB. MOV AX,BXC. MOV [AX],[1000H]D. MOV AX,[1000H]12. 8086/8088中除___C___两种寻址方式外,其它各种寻址方式的操作数均在存储器中。

东华理工微机原理第三章习题答案

东华理工微机原理第三章习题答案

东华理工微机原理第三章习题答案3.1给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用BX的寄存器寻址(4) 使用BX的简接寻址(5) 使用BX的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) EA=D=7237H;(3) 无EA,操作数为(BX)=637DH;(4) EA=(BX)=637DH;(5) EA=(BX)+D=0D5B4H;(6) EA=(BX)+(SI)=8E18H;(7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。

3.2试根据以下要求写出相应的汇编语言指令(1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。

(2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。

(3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。

(4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。

(5) 把数0B5H与(AL)相加,并把结果送回AL中。

答:(1) ADD DX, BX(2) ADD AL, [BX][SI](3) ADD [BX+0B2H], CX(4) ADD WORD PTR [0524H], 2A59H(5) ADD AL, 0B5H3.3写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。

要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1) MOV BX, OFFSET BLOCK ADD BX, (6–1)*2MOV DX, [BX](2) MOV BX, OFFSET BLOCKMOV DX, [BX+(6–1)*2]BLOCK[BX](3) MOV BX, OFFSET BLOCKMOV SI, (6–1)*2MOV DX, [BX][SI]3.4现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H,试说明下列各条指令执行完后AX寄存器的内容。

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

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

第三章习题与参考答案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] 相对基址变址寻址 11150H3.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、某存储器模块的容量为64K 字节,若采用2164(64K ×1位)组成,则需要2164 8 片,若改用2764(8K ×8位),则需 8 片。

解答:容量单个存储器芯片的存储存储器系统的存储容量=片个数构成存储器系统所需芯所以:64*82164=864*1K bitK bit=所需芯片个数片64*82764=88*8K bitK bit=所需芯片个数片2、1K ⅹ8位的RAM 芯片有 10 条地址线, 8 条数据线,若用其组成16K ⅹ8位存储器需要 16 片。

解答:存储单元的个数(字长)通常与地址线的位数相关,每个存储单元存储的二进制位数(位数)与数据线的位数相关。

存储容量为1K*8bit (8K*8位),表示每片RAM 有1K 个存储单元(K 1210=),每个存储单元存储8位二进制数,也可以写为1KB (B 表示8位二进制数,即1个字节Byte ),因此该RAM 芯片有10根地址线(A 0-A 9),8根数据线(D 0-D 7)。

3、现要用6116SRAM 芯片构成8K ×32位的存储器,共需此种芯片 16 片。

解答:8*326116=162*8K bitK bit=所需芯片个数片二、选择题1、SRAM 芯片6116的3个信号CE 、OE 、WE 电平分别为 时,6116的工作方式为读出。

( D )A.1,0,0 B.0,0,0 C.0,1,1 D.0,0,1解答:3个信号CE 、OE 、WE 为6116的控制信号,CE (书中用CS 表示):片选信号,低电平有效,CE 为低电平时,芯片被选中,此时可以进行读写操作,WE :写允许信号,低电平有效时允许将数据写入芯片,OE :输出允许信号,低电平有效时为读操作。

因此当6116处于读工作方式时CE 为0,OE 为0,WE 为1;处于写工作方式时CE 为0,OE 为1,WE 为0。

微机原理与接口技术第三章试题及答案

微机原理与接口技术第三章试题及答案

第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B)SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。

4.MCS-51的相对转移指令最大负跳距是127B。

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

“微处理器系统原理与嵌入式系统设计”第三章习题解答
3.1什么是冯·诺伊曼计算机结构?其运行的基本原理如何?
冯.诺依曼计算机由运算器、控制器、存储器、输入设备和输出设备构成,采用二进制表示信息,以存储器为中心,按存储程序原理工作。

存储程序原理指编好的程序首先放入存储器,开始工作后,由控制器自动、高速依次从存储器中取出指令并执行。

3.2. 微处理器的体系结构可以分为几种?试分别说明各种体系结构的优缺点。

3.3 高级编程语言、汇编语言以及机器语言之间有哪些不同?
机器语言是直接用二进制代码表达的计算机语言。

指令用“0”和“1”组成,并分成若干段,各段的编码表示不同的含义。

机器语言面向硬件,是唯一可以由硬件直接执行的语言。

汇编语言采用符号代替机器语言中的二进制码:用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。

汇编语言与机器语言一一对应,因此不具有移植性,但更易于读写和理解。

汇编语言源程序需要汇编成机器语言才能交给硬件执行。

高级编程语言语法和结构更类似普通英文,且由于远离对硬件的直接操作,因此移植性较好。

高级语言源程序需要编译(或解释)成机器语言才能交给硬件执行。

3.5 什么是计算功能指令、数据传输指令以及控制流程指令?
计算功能指令:对数据进行处理完成算术运算或逻辑运算等的指令。

数据传输指令:负责把数据、地址或立即数传送到寄存器、I/O端口或存储单元中,或者反方向传送的指令。

控制流程指令:用来控制程序执行流程的指令,有测试、转移、跳转等子类。

3.6 解释跳转、分支、调用以及中断所需进行的操作。

跳转:根据“跳转”指令指计算目的地址,修改程序指针。

分支:根据“分支”指令判断执行条件,计算跳转地址,修改程序指针。

调用:保存断点,根据“调用”指令计算子程序入口地址,修改程序指针,执行完毕后恢复断点。

中断:保护断点及现场,查找中断向量表以确定中断程序入口地址,修改程序指针,执行完毕后恢复现场及断点。

3.7固定长度指令编码有什么优缺点?
可以简化硬件设计、减小指令译码的时间,但指令编码的效率不高,信息冗余度大,可扩展性差。

3.8 在处理器工作频率、CPI 和处理器性能方面,哪些因素会增加流水线深度?
时钟周期越小,则要求组合电路的延迟越小,流水线级数越多,但过多的流水线无助于处理器工作频率的提高。

CPI 越大,为了提高运算效率则流水级数需求越多。

处理器性能和流水线级数是一个动态平衡的关系,需要具体在设计流水线的同时考虑冲突。

3.9一个时钟频率为2.5 GHz 的非流水式处理器,其平均CPI 是4。

此处理器的升级版本引入了5级流水。

然而,由于如锁存延迟这样的流水线内部延迟,使新版处理器的时钟频率必须降低到2 GHz 。

(1) 对一典型程序,新版所实现的加速比是多少?
(2) 新、旧两版处理器的MIPS 各是多少?
(1)对于一个有N 条指令的程序来说:
非流水式处理器的总执行时间s N N T 990106.1)105.2/()4(-⨯=⨯⨯=
5级流水处理器的总执行时间s N N T 99110)4(2)102/()15(-⨯+=⨯-+=
加速比=4
2.310+=N N T T ,N 很大时加速比≈
3.2 (2)非流水式处理器CPI=4,则其执行速度=2500MHz/4=625MIPS 。

5级流水处理器CPI=1,则其执行速度=2000 MHz /1=2000 MIPS 。

3.10随机逻辑体系结构的处理器的特点是什么?详细说明各部件的作用。

随机逻辑的特点是指令集设计与硬件的逻辑设计紧密相关,通过针对特定指令集进行
硬件的优化设计来得到逻辑门最小化的处理器,以此减小电路规模并降低制造费用。

主要部件包括:产生程序地址的程序计数器,存储指令的指令寄存器,解释指令的控制逻辑,存放数据的通用寄存器堆,以及执行指令的ALU等几个主要部分构成。

3.11分别详细说明采用可变时钟周期与多时钟周期改进随机逻辑体系结构的原理。

CPU内部时序信号的定时方式可以分成同步控制、异步控制、联合控制三种方式。

其中同步控制指在任何情况下,所有指令在执行时所需的机器周期数和时钟周期数都固定不变。

同步控制的一种实现方式就是可变时钟周期,指CPU根据当前指令的操作特性调整时钟周期,将大多数指令操作安排在一个较短的机器周期内完成,对某些复杂操作,则采取延长机器周期的办法来解决。

而异步控制的一种实现方式就是多时钟周期,指时钟周期不变,但CPU每条指令的执行周期可由多少不等的机器周期数组成。

3.12 什么是微代码体系结构?微指令的作用是什么?
在微码结构中,控制单元的输入和输出之间被视为一个内存系统。

控制信号存放在一个微程序内存中,指令执行过程中的每一个时钟周期,处理器从微程序内存中读取一个控制字作为指令执行的控制信号并输出。

微指令只实现必要的基本操作,可以直接被硬件执行。

通过编写由微指令构成的微代码,可以实现复杂的指令功能。

微指令使处理器硬件设计与指令集设计相分离,有助于指令集的修改与升级,并有助于实现复杂的指令。

3.13微码体系结构与随机逻辑体系结构有什么区别?
(1)指令集的改变导致不同的硬件设计开销。

在设计随机逻辑结构时,指令集和硬件必须同步设计和优化,因此设计随机逻辑的结构比设计微码结构复杂得多,而且硬件和指令集二者中任意一个变化,就会导致另外一个变化。

在微码结构中,指令设计通过为微码ROM编写微码程序来实现的,指令集的设计并不直接影响现有的硬件设计。

因此,一旦修改了指令集,并不需要重新设计新的硬件。

(2)从性能上比较
随机逻辑在指令集和硬件设计上都进行了优化,因此在二者采用相同指令集时随机逻辑结构要更快一些。

但微码结构可以实现更复杂指令集,因此可以用较少的指令完成复杂的功能,尤其在存储器速度受限时,微码结构性能更优。

3.14说明流水线体系结构中的4个阶段的操作。

能否把流水线结构分为5阶段?如果可能,试给出你的方案。

流水线若分为四个阶段应包括:取指,译码,执行,数据回写
流水线若分为五个阶段应包括:取指,译码,执行,存储器操作,数据回写
3.15 什么是超标量体系结构?
超标量是通过内置多条流水线或多个流水部件以实现多条指令的同时执行,其实质是以空间换取时间。

而超流水线是通过细化流水、提高主频,使得在一个机器周期内完成一步甚至多步操作,其实质是以时间换取空间。

3.16 指令的乱序执行可以带来什么好处?
通过将指令执行顺序重新排序,让满足执行条件的指令尽早地执行,从而提高处理器性能。

指令的乱序执行可以减少流水线冲突,减轻流水操作时由于数据等待、控制等待、资源冲突等中断时,其他无关指令也必须等待的问题,从而提高了流水线的效率。

3.17 讨论:假设处理器速度和主存储器时延之间的差距不断增大,计算机性能是否可能决定于存储器访问时间?在这种情况下,哪些微处理器架构特性会提高处理器性能?哪些不会?如果计算机具有一个比现在快100倍的处理器,但是存储器速度仅仅是现在存储器的两倍,这样的计算机和当前计算机在设计方法上有什么区别?
可能。

如果出现这种情况,采用微码结构、流水线结构以及超标量结构(一次取多条指令)都可以提高处理器性能,尤其是微码结构。

而随机逻辑结构则不合适。

如果出现一个比现在速度快100倍的处理器,而存储器速度仅快两倍,则设计计算机体系结构时首先应该考虑如何尽量减少访问存储器的次数。

相关文档
最新文档