第一章1.选择题(1)C (2) D A(3) C3填空(1)CPU,微型计算机,系统软件,外围设备,微型计算机系统(2)10,3,12(3)阶数(4)10010010B,01000100B,11010110B,FF4EH(5)3F7H,1C3H,243H,277H,4简答题(1)微处理器,微型计算机和微型计算机系统三者有何联系与区别?微处理器是把原来的中央处理单元CPU的复杂电路(包括运算器和控制器)做在一片或几片大规模集成电路的芯片上。
把这种微缩的CPU大规模集成电路称为微处理器。
微型计算机是以微处理器为核心,再配备上用大规模集成电路工艺制成的存储器和I/O接口就构成了微型计算机。
以微计算机为核心,再配备上系统软件、I/O设备、辅助电路和电源就构成了微机系统。
微型计算机系统包括硬件和软件了两大部分。
(2)试述在计算机中常采用二进制的缘由?(3)简述如何从补码判断真值的符号?(4)BCD码与纯二进制数有何区别?主要区别是二者对应的二进制位所表示的二进制真值不同,(5)试述机器数的定点和浮点数表示形式。
第2章2填空题(1)递增,A7,A5,A3,A1.(2)地址总线的宽度,00000H~0FFFFFH(3)寄存器,运算器,控制器;运算和控制(4)SS,SP(5)MN/MX(6)主频,总线宽度(7)20,163简答题(1)什么是指令周期?什么是总线周期?一个总线周期至少包括几个时钟周期?指令周期是一条指令执行所需的时钟周期,cpu在执行指令过程中,凡需执行访问存储器或访问I/O端口的操作都统一交给BIU的外部总线完成,进行一次访问所需的时间称为一个总线周期。
一般一个基本的总线周期由4个时钟周期组成。
(2)8086CPU在最小模式下构成计算机系统至少应该包括哪几个基本的部分?(3)8086CPU中,标志寄存器包含哪些标志位?各标志位为‘0’,‘1’分别表示什么含义?(4)8086CPU中有哪些通用寄存器和专用寄存器?说明他们的作用。
(5)在8086CPU中,已知CS寄存器和IP寄存器的内容分别如下所示,请确定其物理地址.1) CS=1000H ,IP=2000H 物理地址: CS*16+IP=10000H+2000H=12000H2) CS=1234H ,IP=0C00H物理地址: CS*16+IP=12340H+0C00H=12F40H(6)设(AX)=2345H,(DX)=5219H,请指出两个数据相加或相减后,FLAG中状态标志位的状态. 相加:CF=0,SF=0,ZF=0,AF=0,OF=0,PF=0相减:0010 0011 0100 01011101001000011001补1010 1101 1110 01111101 0001 0010 1110CF=0,SF=1,ZF=0,AF=0,OF=0,PF=0(7)8086CPU工作在最小模式下:访问存储器要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线。
访问I/O要利用:M/IO、ALE、BHE、RD、WR、DT/R、DEN、READY和数据、地址总线。
当HOLD有效并得到响应时,CPU置高阻的信号有:数据/地址总线、数据状态总线及M/IO、BHE、RD、WR、DT/R、DEN、INTA。
第三章P1341.选择题(1)D (2)C (3)A(4)A2.填空题(1)递增(2)60H 0(3)1F02CH4.请指出下列指令中源操作数和目的操作数的寻址方式。
(1)源操作数为立即寻址,目的操作数为寄存器寻址(2)源操作数为立即寻址,目的操作数为寄存器间接寻址(3)源操作数为寄存器间接寻址,目的操作数为寄存器寻址(4)源操作数为寄存器寻址,目的操作数为寄存器寻址(5)单一操作数(源操作数)为寄存器寻址(6)单一操作数(目的操作数)为寄存器寻址(7)源操作数为相对基址变址寻址,目的操作数为寄存器寻址(8)源操作数为寄存器间接寻址,目的操作数为寄存器寻址(9)源操作数为立即寻址和寄存器寻址,目的操作数寄存器寻址(10)单一操作数为段间直接寻址(相对变址寻址)5.请写出如下程序片段中每条逻辑运算指令执行后标志ZF、SF、和PF的状态:MOV AL, 0AH ; 各标志位保持不变AND AL, 0FH ; ZF=0 SF= 0 PF=1OR AL, 04BH ; ZF=0 SF= 0 PF=1XOR AL, AL ; ZF=1 SF= 0 PF=16.请写出如下程序片段中每条算术运算指令执行后标志CF、ZF、SF、OF、PF和AF的状态:MOV AL, 54H ; 各标志位保持不变ADD AL, 4FH ; CF=0 ZF=0 SF= 1 OF=1 AF=1 PF=1CMP AL, 0C1H ; CF=1 ZF=0 SF=1 OF=0 AF=0 PF=1SUB AL, AL ; CF=0 ZF=1 SF= 0 OF=0 AF=0 PF=1INC AL ; CF=0 ZF=0 SF= OF=0 AF=0 PF=07.(DS)=3000H,(SS)=1500H,(SI)=010CH,(BX)=0870H,(BP)=0500H,指出下列指令的目的操作数字段寻址方式,并计算目的操作数字段的物理地址。
(1) MOV [BX], CX目的操作数为寄存器间接寻址目的操作数的物理地址为:DS×16+0870H=30870H(2) MOV [1000H], BX目的操作数为直接寻址目的操作数的物理地址为:DS×16+1000H=31000H (3) MOV [BP], BX目的操作数为寄存器间接寻址目的操作数的物理地址为:SS×16+0500H=15500H (4) MOV [BP+100], CX目的操作数为寄存器相对寻址目的操作数的物理地址为:SS×16+0500H+64H=15564H (5) MOV [BX+100][SI], CX目的操作数为相对基址加变址寻址目的操作数的物理地址为:DS×16+0870H+64H+010CH=309E0H8.指出如下指令哪些是错误的,并说明原因:(1)MOV [SP], BX错。
(2)MOV CS, BX错。
CS寄存器不能赋值,要由装入程序确定(3)POP CS错。
CS寄存器不能赋值,要由装入程序确定(4)JMP BX对。
(5)SUB [BP+DI-1000],AL错。
偏移量不能为负。
但编译能通过。
(6)SHL AX,CX错。
源操作数最大为255,只能是CL,不能是CX(7)XCHG ES:[BX],AL对。
(8)LEA AX,[BX+DI]对。
9.已知(SS)=2800H,(SP)=0010H,(AX)=0FA0H,(BX)=1002H,下列指令连续执行,请指出每条指令执行后SS、SP、AX、BX寄存器中的内容是多少?PUSH AX ;(SS)=2800H,(SP)=000EH,(AX)=0FA0H,(BX)=1002HPUSH BX ;(SS)=2800H,(SP)=000CH,(AX)=0FA0H,(BX)=1002HPOP AX ;(SS)=2800H,(SP)=000EH,(AX)=1002H,(BX)=1002HPOP BX ;(SS)=2800H,(SP)=0010H,(AX)= 1002H,(BX)= 0FA0H10.阅读下列各小题的指令序列,在后面空格中填入该指令序列的执行结果。
(1)MOV BL,26HMOV AL,95HADD AL,BLDAAAL= 21H BL= 26H CF=1(2)MOV AX,1E54HSTCMOV DX,95XOR DH,0FFHSBB AX,DXAX= 1EF5H CF=111.已知程序段如下:CMP AX,BXJNC K1JNO K2JMP K3假设有以下三组AX、BX值,那么在程序执行后,分别转向哪里?(1)(AX)=0E301H,(BX)=8F50H转向K1(2)(AX)=8F50H,(BX)=0E301H转向K2(1)(AX)=147BH,(BX)=80DCH转向K3第四章P1831.选择题(1)C B (2)B (3)B (4)D3.(1) DA TA1 EQU THIS BYTEDA1 DW 1234H,567H,89ABH(2) DA TA2 DW 56H,0BCH,79H,14H(3) DA TA3 DB 6DUP(‘c’),2DUP(3,3,1), 20DUP(?)(4) STRING DB ‘HELLO WORLD!’4.DA TA1 DB 00H,0AH,10HDA TA2 DB 15 DUP(04H,3DUP(08H),09H) DA TA3 DW 6577H,636CH,6D6FH5.LEA BX,TABLEMOV BX,OFFSET TABLE8.(1)宏展开:+ PUSH AX+ MOV AX,AX+ SUB AX,AX+ CMP AX,0+ JGE NEXT(0014)+ MOV BX,AX+ POP AX(2)调用无效。
语法错误(立即数的使用)。
(3) 宏展开:+ PUSH AX+ MOV AX,[BX+SI]+ SUB AX, [BX+SI+X]+ CMP AX,0+ JGE NEXT(0025)+ MOV CX,AX+ POP AX调用无效。
相对基址加变址寻址方式形成的值在汇编时是不知道的。
11.CMPN MACRO X,Y,SUMPUSH AXPUSH DXMOV AL,XCMP AL,YJNC K1MOV DL,5MUL DLADD AX,YJMP K2K1: MOV AL,YMOV DL,5MUL DLADD AX,XK2: MOV SUM,AXPOP AXENDM12.DSEG SEGMENTCHAR DB 61 DUP(?)DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART PROC FARMOV AX,DSEGMOV DS,AXMOV DX,OFFSET CHARMOV AH,0AHINT 21HMOV DX,OFFSET CHARMOV AH,09HINT 21HMOV AH,4CHINT 21HSTART ENDPCSEG ENDSEND START微机原理第五章部分习题答案4、试编写一汇编程序,要求实现将ASCII码表示的两位十进制数转换为一字节二进制数。
DA TA SEGMENTASC DB 36H,35HASCEND DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA DECIBIN PROC FARMOV AX,DA TAMOV DS,AXMOV BX,OFFSET ASCMOV AL,[BX]CMP AL,30HJL EXITCMP AL,39HJG EXITSUB AL,30HMOV DL,[BX+1]CMP DL,30HJL EXITCMP DL,39HJG EXITSUB DL,30HMOV CL,10MUL CLADD AL,DLMOV ASCEND,ALEXIT: MOV AH,4CHINT 21HDECIBIN ENDPCODE ENDSEND DECIBIN5.某存储区中存有20个单字节数,试编写一汇编语言分别求出其绝对值并放回原处。