微机原理第四章练习题 2011

合集下载

《微机原理》第04章 习题

《微机原理》第04章 习题

习题1 习题
1.编写 编写8086汇编语言程序 , 将寄存器 的高 位传 汇编语言程序, 的高8位传 编写 汇编语言程序 将寄存器AX的高 送到寄存器BL, 位传送到寄存器DL 送到寄存器 ,低8位传送到寄存器 位传送到寄存器
习题2 习题
2.将寄存器 的内容从低到高位的顺序分成 组 , 将寄存器DX的内容从低到高位的顺序分成 将寄存器 的内容从低到高位的顺序分成4组 并将各组数分别送到寄存器AL,BL,CL和 DL( 如 并将各组数分别送到寄存器 和 ( DX=6D82H,分成:06H、0DH、08H、02H)。 ,分成: 、 、 、 )
MOV AX,MEN MOV BX,AX SHR AX,1 JC PO_1 MOV MEMB,BX JMP DONE PO_1: MOV MEMA,BX : DONE:
习题4 习题
4.试统计 个数中偶数的个数,并将结果在屏幕显示 试统计9个数中偶数的个数 试统计 个数中偶数的个数,
SI BUFF 3BH 47H 8DH -75 0A4H 69H -2EH 0CCH 200 0000H 0001H 0002H 0003H 0004H 0005H 0006H 0007H 0008H
逻辑左移
CF
0 1 XXX XXXX 0 XXX XXXX
SHL AL,1 ADC DL,0
ADC指令实现 指令实现DL+CF+0 指令实现 如果是负数, 为 , 个数记录加1 如果是负数,CF为1,则DL个数记录加 个数记录加
DATA SEGMENT BUFF DW 6700H,9E00H,-6A00H,0A0BH,6D00H NUM DB $-BUFF MEM DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA , START:MOV AX,DATA MOV DS,AX MOV CX,NUM LEA BX,BUFF

第4章 微机原理习题答案

第4章 微机原理习题答案

第四章习题一、填空题1.端口的直接寻址、端口的间接寻址2.操作码、操作数3. CF4.端口的间接5.(1)ADD DX,BX(2)ADD AX,[BX](3)ADD AL,[BX+SI](4)ADD WORD PTR [0524H],1A59H6.主存单元7. BX、SI、DI、BP8. 12H9. XOR AX,0FFFFH10. 3511.立即数、寄存器操作数、存储器操作数、端口操作数12.直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对的基址加变址寻址13. 4154H、4154H14. SI、数据、DI、附加数据15. CX≠0、ZF=1、CX≠0、ZF=016.短内直接调用、短内间接调用、段间直接调用、段间间接调用17.(1)MOV AX,0(2)SUB AX,AX(3)XOR AX,AX18. 0FFFFH,119.1256H、3280H、2450H20.0AB0H、1、1、0F8B0H、1、1二、选择题21.B22.C24.C25.C26.C27.C28.A29.C30.A31.B32.C33.B34.C35.B36.B37.C38.B39.B40.A41.B42.D42.A43.B44.D45.C46.C47.B48.A49.C50.(1)D (2)A (3)B (4)C (5)A (6)B (7)A 三.判断题51.错53.错54.对55.对56.错57.对58.对59.对60.对61.(1)错(2)错(3)错(4)对(5)对(6)错四.简答题62.堆栈是一种按“先进后出”原则存取数据的存储区域。

堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。

63.短转移:指段内-128~127之间的转移,位移量用一个字节表示;近转移:指段内±32K之间的转移,位移量用一个字表示;远转移:指段间1MB范围的转移;段内转移:指在同一个代码段内的转移,可以是短转移或者近转移;段间转移:指转移到另外一个代码段,就是远转移;8086/8088CPU的JMP、CALL和INTN指令可以实现段间转移。

微机原理第四章习题及答案

微机原理第四章习题及答案

第四章8086/8088指令系统一、选择题1、在数据传送指令中要注意:立即数只能作为( A )。

A.源操作数B.源操作数或目的操作数C.目的操作数D.源操作数和目的操作数2、对堆栈进行存取操作时需遵守的原则是( B )。

A.先进先出B.先进后出C.任意顺序D.以上都不对3、MOV AX,[BP+SI]指令源操作数隐含的段地址为( D )。

A.CS B.DS C.ES D.SS4、堆栈指针SP的作用是用来指示( C )。

A.栈底地址B.下一条要执行指令的地址C.栈顶地址D.上一条要执行指令的地址5、在指令MOV AX,0执行后,CPU状态标志位ZF的取值( D )。

A.为0 B.为1 C.不确定D.没影响6、下列寄存器组中,全部用于寄存器间接寻址方式中的为( C )。

A.AX,BX,CX,IP B.BX,BP,DS,SIC.BP,BX,SI,DI D.IP,SP,AX,BX7、若8086 CPU工作于最小方式,则执行指令OUT DX,AL时其引脚信号M /IO和DT/R的电平应是( B )。

A.低,低B.低,高C.高,低D.高,高8、执行指令MOV AX,DATA后,AX中值为变量DATA的( D )。

A.段值B.偏移量值C.数据类型值D.地址DATA单元中的值9、下列指令中,不正确的指令是。

( D )A.MOV AX,BX B.MOV AX,[BX]C.MOV AL,BL D.MOV AL,[BL]10、8086CPU在执行MOV AL,[BX]指令的总线周期内,若BX存放的内容为1010H,则BHE和A0的状态是( C )。

A.0,0 B.0,1C.1,0 D.1,111、若DF=1,执行串操作指令MOVSW时,地址指针变化方式是( D )。

A.SI=SI + 1,DI = DI + 1B.SI = SI + 2,DI = DI + 2C.SI = SI-1,DI = DI-1D.SI = SI-2,DI = DI-212、条件转移指令JNE的条件是( C )。

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

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

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。

A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。

A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。

A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。

A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。

A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。

A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。

A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。

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

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

微机原理第4章练习题及答案第4章 80x86指令系统一、自测练习题㈠选择题 1.MOV AX,[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+(SI) B. (ES)×16+(BX)+(SI) C.(SS)×10H+(BX)+(SI) D.(CS)×10H+(BX)+(SI)2.MOV AX,[BP+Sl]的源操作数的物理地址是( )。

A.(DS)×10H+(BP)+(SI) A. (ES)×16+(BP)+(SI) C.(SS)×16+(BP)+(SI) D.(CS)×10H+(BP)+(SI) 3.MOV AX,ES:[BX+SI]的源操作数的物理地址是( )。

A.(DS)×16+(BX)+SI) B.(ES)×10H+(BX)+(SI) C.(SS)×10H+(BX)+SI) D.(CS)×16+(BX)+(SI)4.JMP WORD PTR[DI]是( )。

A.段内间接转移B.段间间接转移C.段内直接转移D.段间直接转移5.JMP FAR PTR BlOCK(BLOCK是符号地址)是( )。

A.段内间接转移B.段间间接转移C..段内直接转移D.段间直接转移6.INC指令不影响( )标志。

A.OF B.CF C.SF D.ZF 7.条件转移指令JNE的测试条件是( )。

A.ZF=1 B.CF=0 C.ZF=0 D.CF=1 8.下列指令中,有语法错误的是( )。

A.MOV [SI],[DI] B.IN AL,DX C.JMP WORD PTR[BX+8] D.PUSH WORD PTR 20[BX+S1] 9.假定(SS)=2000H,(SP)=0100H,(AX)=2107H,执行指令PUSH AX后,存放数据21H的物理地址是。

A.20102H B.20101H C.200FEH D.200FFH 10.对于下列程序段:AGAIN:MOV AL,[SI] MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用指令完成同样的功能。

微机原理习题集(4章)

微机原理习题集(4章)

一.单项选择题:1、在汇编语言程序设计中,变量定义时,以下为非法的类型属性是__C__;A 字节B 字C 字符D 双字2、以下哪个元素是汇编语言中语句的必要组成部分_B___;A 标号B 操作助记符C 操作数D 注释3、下列指令错误的是__B__;A INC WORD PTR [SI]B PUSH ALC POP CXD JMP BX4、下面说法正确的是_D___;A 低级语言更接近于自然语言。

B 机器语言编写的程序可以应用于不同微处理器的计算机系统。

C 高级语言编写的程序依赖于微处理器的型号。

D 程序在准备执行时,必须存储于存储器中。

5、以下指令错误的是_D___;A MOV AX,2000HB MOV [BP],DLC MOV DS,AXD MOV 20H,AL6、下面叙述错误的是_C___;A 宏指令是用户自己定义的B 注释是以分号开头的。

C 名称在语句中是必须的D 每条语句都必须有操作助记符。

7、条件转移指令“JS”的转移条件是_B___;A SF=0B SF=1C CF=0D CF=18、在微计算机中用来存放源字符串地址的偏移量的寄存器是_C___;A SPB BPC SID DI9、汇编程序是一个__B__;A 源程序B 语言加工程序C 连接程序D 目标程序10、下列字符串能用于标识符的是_B___;A LENGTHB MOVEC 13AD SEGMENT11、若要对操作数清0,一般对操作数进行__C__运算。

A 相与B 相或C 异或D 移位12、汇编语言编辑程序输出的文件类型是_A___;A .asmB .obj C.exe D .c13、堆栈的存取规则正确的是_D___;14、 A FIFO B FILO CLILO D以上都不对14、以下指令不是逻辑运算指令的是__D__;A XOR AL,3B NOT ALC OR AL,3D CWD15、在指令“MOV AX,INBUFF”中,变量INBUFF 的段是_B___ ;A CSB DSC SSD ES16、若READY为低电平,此时CPU执行___B_周期;A T3 B TWC T4D T117、连接程序输出的文件类型是_C___;A .asmB .obj C.exe D .c18、已知程序段:_A_MOV AX,0FF60HSTCMOV DX,96XOR DX,0FF00HSBB AX,DX程序执行后AX=____,CF=____。

微机原理及接口第四章习题答案

“微机系统原理与接口技术”第四章习题解答1.判断以下说法是否正确,如有错,请说明原因并改正。

(1)伪指令在汇编过程中不会产生二进制代码。

(2)宏和过程的相同之处是都可用于简化源程序书写、精简目标代码。

(3)在计算机中,高级语言通常需要转换为汇编语言后才能执行。

(4)汇编语言程序上机一般包括编辑、汇编、链接和调试几个步骤。

答:(1)正确。

(2)错误。

宏不能精简目标代码。

(3)错误。

高级语言程序经编译或解释后直接转换为目标代码。

(4)正确。

2.已知数据和符号定义A1 DB ?A2 DB 8K1 EQU 100判断下列指令的正误,并说明错误指令的原因。

(1)MOV K1,AX(2)MOV A2,AH(3)MOV BX,K1MOV [BX],DX(4)CMP A1,A2(5)K1 EQU 200答:(1)错误。

K1是符号常数,在此处相当于立即数100,故不能做目的操作数。

(2)正确。

(3)正确。

(4)错误。

A1、A2都是字节变量,相当于两个存储器单元,故不能同时出现在一条指令中直接进行比较。

(5)错误。

用EQU定义的符号不能重新赋值,除非已用PURGE解除了原值。

3.若数据段中有定义N UM1 EQU 23HN UM2 DW 0则指令MOV NUM2,NUM1 的源、目操作数的寻址方式以及指令执行后NUM2+1单元的内容分别是什么?答:指令MOV NUM2,NUM1的源操作数使用立即数寻址,目的操作数使用直接寻址。

指令执行后NUM2+1单元的内容是0。

4.设DS=6000H,BX=8432H,SS=5000H,SP=3258H,内存69632H~69635H单元的内容依次是00H、11H、22H、33H。

4字节指令CALL DWORD PTR [BX+1200H] 本身位于2000H:3250H处的双字单元中。

当8086执行该指令后转移至子程序入口时,CS、IP、SS、SP各寄存器以及栈顶2个字单元的内容分别是多少?答:执行结果为CS=3322H,IP=1100H,SS=5000H,SP=3254H,栈顶的两个字即断点地址,为2000H:3254H。

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

第四章汇编语言程序设计4-2 下列程序执行后,寄存器AX,BX,CX的内容分别是多少?D SEGMENT AT 0202H;定位数据段地址ORG 0202H ;定位偏移地址DA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202HMOV CL,BYTE PTR DA_WORD ;(CL)=20H(将变量DA_WORD的属性改变为字节型)MOV CH,TYPE DA_WORD ;(CH)=2(变量类型数值);(CX)=0220H4-4 试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放在CHAR2开始的单元中(题目要求:不改变CHAR1的内容)方法1,小写字母转换一个输出显示一个,前3种方法均使用了AL寄存器D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1;变量必须先定义后使用,而不能相反CHAR2 DB N DUP(0) ; ;不能把此句与上一句对调,CHAR2 DB$-CHAR1有;的同学这样写,错在哪D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:S ;ASSUME是伪指令,后面不能写冒号START: MOV AX,DMOV DS,AX;MOV ES,AX ;只要用到串操作指令且DILEA SI,CHAR1 ;MOV SI,OFFSET CHAR1LEA DI,CHAR2 ; MOV DI,OFFSET CHAR2MOV CX,N ;$-CHAR1,不可以AGAIN:MOV AL,[SI]SUB AL,20H ;AND AL,5FH有的同学是这样实现的MOV [DI],ALMOV DL,ALMOV AH,2INT 21H ;从屏幕显示INC SIINC DILOOP AGAINMOV AH,4CHINT 21H ; ;不是必须的C ENDSEND START方法2:使用通用数据传送指令MOVD SEGMENTCHAR1 DB ‘abcdefghijklmnopqrstuvwxyz’N EQU $-CHAR1;变量必须先定义后使用,而不能相反CHAR2 DB N DUP(0);不能把此句与上一句对调D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)C SEGMENTASSUME CS:C ,DS:D ,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AX ;只要用到串操作指令且DIMOV SI,0 ;MOV DI,0 ;MOV CX,NAGAIN: MOV AL,CHAR1[SI] ;SUB AL,20HMOV CHAR2[DI],AL ;INC SIINC DI LOOP AGAINMOV AH,4CHINT 21H ;不是必须的C ENDSEND START第3种方法:使用串的读写指令LODSB STOSBD SEGMENTCHAR1 DB ‘abcdef’N EQU $-CHAR1CHAR2 DB $-CHAR1 DUP(0) D ENDSSTACK SEGMENT STACKDB 200 DUP(0)STACK ENDS ;P126(代码段和堆栈段是不可少的)C SEGMENTASSUME CS:C,DS:D,SS:SSTART: MOV AX,DMOV DS,AXMOV ES,AXMOV SI,OFFSET CHAR1 ;LEA SI,CHAR1MOV DI, OFFSET CHAR2 ;LEA DI,CHAR2MOV CX,NCLD ;不写(隐含)也是0(递增)但不能STDAGAIN: LODSB ;执行一次,隐含修改SISUB AL,32STOSB ;MOV [DI],AL;执行一次, 隐含修改DI INC DILOOP AGAIN ;LOOP指令只修改CX,不管SI,DIMOV AH,4CHINT 21H ;不是必须的C ENDSEND START第四种方法2006级,没有显示使用MOVSB指令D SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXLEA SI,CHAR1LEA DI,CHAR2MOV CX,NAGAIN:MOVSB ; SUB [SI],20HDEC DI ; MOVSBSUB BYTE PTR[DI],20H ;LOOP AGAIN 错在哪里?结果如何?INC DILOOP AGAINMOV AH,4CHINT 21HC ENDSEND START方法5: 只用一个地址指针SID SEGMENTCHAR1 DB "abcdefghijklmnopqrstuvwxyz"N EQU $-CHAR1CHAR2 DB N DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV SI,0MOV CX,NAGAIN:MOV AL,CHAR1[SI] ;只用一个地址指针,SI[CHAR1]是错误的SUB AL,20HMOV CHAR2[SI],ALINC SILOOP AGAINint 3MOV AH,4CHINT 21HC ENDSEND START有的同学按数据是由键盘录入的来考虑的,也可行,程序中还有不少问题方法6:由键盘输入小写字母再转换输出,回车符也占一个字节,输入需要小写转换成大写字母的内容从输入串的第3个元素开始D SEGMENTA DB"CHAR1",0DH,0AH,"$"B DB"CHAR2",0DH,0AH,"$"CHAR1 DB 11,?,11 DUP(0);准备输入10个小写字母CHAR2 DB 10 DUP(0)D ENDSS SEGMENT STACKDB 200 DUP(0)S ENDSC SEGMENTASSUME CS:C,DS:D,SS:SSTART:MOV AX,DMOV DS,AXMOV ES,AXMOV DX,OFFSET AMOV AH,9INT 21HLEA DX,CHAR1MOV AH,0AHINT 21H ;由键盘输入字符串,10个字母(显示),1个回车,共11个字节LEA SI,CHAR1[2]LEA DI,CHAR2MOV CX,10 ;需要转换的字符长度为10个字节AGAIN:MOV AL,[SI]SUB AL,20HMOV [DI],ALINC SIINC DILOOP AGAIN ; 将小写字母字符串转换成大写字母字符串MOV BYTE PTR[DI],0DHINC DIMOV BYTE PTR[DI],0AHINC DIMOV BYTE PTR[DI],'$' ;必须指明数据类型MOV DX,OFFSET CHAR2MOV AH,9INT 21H ;输出'$'结尾的大写字母字符串int 3MOV AH,4CHINT 21HC ENDSEND START4-6在BUF地址处起,存放有100个字节的字符串,设其中有一个以上的“A”字符,编程查找出第一个“A”字符相对起始地址的距离,并将其存入LEN单元。

微机原理第四章习题

第4章 汇编语言程序设计 习题解答
习题4.1
• 画出下列语句的数据在存储器中的存储情况: • ARRAYB DB 63,63H,’ABCD’,3 DUP(?),2 DUP(1,3) • ARRAYW DW 1234H,5,’AB’,’CD’,?,2 DUP(1,3)
3FH 63H 41H 42H 43H 44H XX XX XX 01H 03H 01H 03H
习题4.19
• 编写一个完整的源程序,将BUF字节单元存放的两位 BCD码,转换成2个字节的ASCⅡ码,并分别存放在ASC 和ASC+1字节单元中. • 例如(BUF字节单元)=58H,那么(ASC字节单元)=35H, (ASC+1字节单元)=38H
SEGMENT BCD DB XXH ASC DB ?,? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV CL,4 MOV AL,BCD ;取BCD码数 SHR AL,CL ;转换高位 ADD AL,30H MOV ASC,AL MOV AL,BCD AND AL,0FH ;转换低位 ADD AL,30H MOV ASC+1,AL MOV AH,4CH INT 21H CODE ENDS END START
习题4.17
• 设在数据段中有X,Y两个变量(字节单元),试编写程序 段计算(只写有关功能的指令). X 当X≥0时 • Y= │X│ 当X <0时
X Y
· · ·
DB DB
X Y
AL,X AL,0 DONE AL Y,AL
MOV CMP JGE NEG DONE: MOV
习题4.18

第四章微机原理习题答案

第四章习题答案一、写出下列指令的源操作数和目的操作数的寻址方式。

1. MOV AL,AH ;寄存器寻址2. MOV AL,TABLE[SI];寄存器相对寻址3. MOV [SI][BP],CL ;基址变址寻址4. AND AL,0FH ;立即数寻址5. ROR AL,CL ;寄存器寻址6. JNL NEXT ;程序地址相对寻址7. MOV DI,12 ;立即数寻址8. MOV [DI+1],BYTE PTR 12 ;基址相对寻址9. JMP WORD PTR [BX];程序地址间接寻址10.LOOP AGAIN ;程序地址相对寻址二、问答题1. 8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是什么?答:凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。

这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。

2. 用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,这是为什么?答: 用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,是因为在执行乘法运算时,要想使无符号数相乘得到正确的结果,有符号数相乘时,就得不到正确的结果;要想使有符号数相乘得到正确的结果,无符号数相乘时,就得不到正确的结果。

3.设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX指令后,栈顶地址和栈顶2个字节的内容分别是什么?答: 当前栈顶的地址2010H*16+FE00H=2FF00H;执行PUSH BX指令后,堆栈地址指针SP 减2,则栈顶地址为2FEEDH;栈顶2个字节的内容为57H、34H。

三、编程练习1.串操作指令设计实现以下功能的程序段:首先将100H个数从2170H处搬到1000H处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符。

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

微机原理练习题2011- 11-14一、填空题:1、存储器从功能上分可分为()()2、存储器的数据包括()()()3、字单元的地址用它的()地址来表示,这种存储器数据的方法称为小地址格式。

4、实方式内存采用()的方法。

5、1MB的存储空间里,寻址范围是()~()。

20位物理地址是由()位段基值和()位偏移量组成。

6、堆栈是一个特定的()存储区,它主要用于存入()和()。

7、堆栈的工作方式称为()的工作方式。

8、堆栈有两种编址方式,一种是()生成编址方式,其栈底是存储器的较()地址,栈顶是存储器中较()地址,另一种是()生成和编址方式,其栈底地址是一个较()地址,栈顶是()地址。

9、压栈SP值SP=SP()2,退栈SP值的变化SP=()10、立即寻址中的立即数只能作为(),而不能作为目标操作数。

立即寻址主要用来给()。

11、直接寻址方式的直接地址有()地址和()地址两种表示方式。

12、基址变址寻址使用()()()寄存器,通常都隐含使用()数据段寄存器;使用BP寄存器,隐含使用()段寄存器。

13、指令是由两部分组成的,一般是指令通常由()和()组成。

14、PUSHF是()操作数指令,将栈顶指针减2,标志寄存器的标志送()15、inc 指令不影响()标志位。

16、CMP指令运算结果不送回()。

17、在乘法指令中,若乘积的高一半为0,字节操作()=0,字操作()=0,双字操作()=0,则()和()都为0,否则乘积的高一斗不为0,则()和()均为1.18、ax/src=( )……();dx:ax/src=( )……( );edx:eax/src=( )……( )。

19、加法的十进制调整指令是(),减法的十进制调整指令是()。

20、二、判断对错并指出错误原因。

1、push cs2 pop cs3 push ss4 pop ss5 push al6 mov 2bh,al7 mov cs,ax8 mov bl,ax9 mov m2,m110 mov ds,es11 xchg al.bl12 xchg al,12h13 xchg ax,ds14 xchg byte1,byte2 15 lea al,value16 lea ds,value三、1、十六进制数88H可以表示成以下几种形式,请找出错误的表示()。

A 无符号数十进制数136B 带符号十进制数-120C 压缩型BCD码十进制数D 8位二进制数-8的补码表示2、指令指针寄存器是()A IPB SPC BPD PSW3、设DS=8225H,DI=3942H,指令NEG [DI]操作数的物理地址是()。

A 85B92HB 86192HC BB690HD 12169H4、下列寄存器在段内寻址时可以提供偏移地址的寄存器组是()。

A AX,BX,CX,DXB BX,BP,SI,DIC SP,IP,BP,DXD CS,DS,ES,SS5、用户为了解决自己的问题,用汇编语言所编写的程序称为()。

A 目标程序B 源程序C 可执行程序D 汇编程序6、某系列微机对存储器的分段,如果每一个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制数应该是()。

A 20位B 16位C 15位D 12位7、可以用作寄存器间接寻址的地址寄存器,正确的是()。

A AX,BX,CX,DXB DS,ES,CS,SSC SP,BP,IP,BXD SI,DI,BP,BX8、把若干个模块连接起来成为可执行文件的系统程序是()。

A 汇编程序B 连接程序C 机器语言程序D 源代码程序9、计算机能直接识别并执行的语言是()A 汇编语言B 机器语言C 高级语言D 低级语言10、CPU发出的访问的存储器的地址是()。

A 物理地址B 偏移地址C 逻辑地址D 段地址1、16位补码表示数的范围是()。

A、-128——+127B、-32768——+32767C、1MBD、1GB2、16位字长可以访问的存储空间为()。

A、256KB、1MC、1.44MD、64K3、下列指令中影响堆栈内容的指令有()。

A、ADDB、MOVC、LOOPD、CALL4、通常所说的计算机系统指的是()。

A、主机和外设B、主机和操作系统C、计算机硬件和软件D、CPU、存储器和外设5、使CL寄存器的高4位变为1,其余位不变,则应执行()操作。

A、NOT CLB、OR CL,0F0HC、XOR CL,0F0HD、AND CL,0F0H6、能动态地指示数据在堆栈存储区中的位置的寄存器是()。

A、IPB、SIC、DID、SP7、DAA指令是用来完成()。

A、加法运算B、十翻二运算C、BCD码运算D、十进制调整运算8、压缩BCD码85H和56H相加后,需加()进行调整。

A、00HB、06HC、60HD、66H9、8088微处理器的堆栈是()的编址方式。

A、向上生成B、向下生成C、即可向上、又可向下D、不确定10、已知字母“A”的ASCII码所对应的十进制数为65,则字母“Q”的ASCII码为()。

A、77B、53C、49D、8111、8086微处理器是( )A.8位微处理器B.16位微处理器C.准16位微处理器D.32位微处理器12、下列说法正确的是( )A.根据机器型号的不同一个字节可以由8或16位二进制数组成微机B.一个字由四个字节组成C.1MB=1000000字节D.指令是计算机执行各种操作的命令,由操作码和操作数两部分组成13、在计算机语言中( )指令采用二进制数字编码.A.高级语言B.机器语言C.汇编语言D.算法语言14、如果按字长来划分,微机可以分为8位机,16位机,32位机和64位机.所谓32位机是指该计算机所用的CPU( )A.同时能处理32位二进制数B.具有32位的寄存器C.只能处理32位二进制定点数D.有32个寄存器15、与二进制数101.01011等值的十六进制数为( )A. A.BB. 5.51C. A.51D.5.5816、在计算机内部,一切信息存取,处理和传送的形式是( )A.ASCII码B.BCD码C.二进制D.十六进制17、十六进制数176转换成十进制数是( )A.366B.268C.374D.27018、800个24*24点阵汉字字型所需要的存储容量是( )A.7.04KBB.56.25KBC.7200BD.450KB19、( )是指专门为某一应用目的而编制的软件A.系统软件B.数据库管理系统C.操作系统D.应用软件20、指令MOV AX,V ALUE[BX]的寻址方式是( )A.寄存器寻址B.基址变址寻址C.变址寻址D.直接寻址21. 内存容量1KB(Byte)代表的字节数是( )A.1000B.1024C.1000000D.104857622.计算机软件系统主要包括()。

A.编辑软件和计算软件B.培训软件和管理软件C.系统软件和应用软件D.应用软件和自由软件23. 计算机中字节的英文名称是()。

A.bitB.ByteC.wordD.baud24. 计算机CPU由()构成。

A.运算器和控制器B.运算器和RAMC.RAM和定时器D.控制器和定时器25. ROM是指()。

A.随机存储器B.只读存储器C.闪速存储器D.可编程只读存储器26. 8088CPU的标志寄存器中,()标志位用于控制CPU进入单步方式。

A.IFB.DFC.TFD.OF27.8088CPU的标志寄存器中,()标志位用于控制串的处理方向。

(1)IF (2)DF (3)TF (4)OF28.8086/8088系统中通常堆栈以()为单位进行操作。

A.半字节B. 字节C. 字D. 双字29.指令一般包括()两部分。

A. 操作码和地址码B. 操作码和操作数C. 操作数和地址码D.操作码和数据码30.8086微机系统的地址总线为()A.16位B.20位C.24位D.32位31. 8086CPU中指令指针寄存器是()A.BPB.FRC.IPD.SP32. 已知SP=2110H,执行指令“PUSH AX”后,SP寄存器的值为()A.210EHB.210FHC.2111HD.2112H33. 每条指令的执行由取指令、译码和执行等操作组成,执行一条指令所需要的时间称为()A.指令周期B.总线周期C.时钟周期D.CPU周期34. 在堆栈操作中,它隐含使用的通用寄存器是()A.AXB.BXC.BPD.SP35. 当零标志ZF=1时,表示()A.运算结果为1B.运算结果为0C.运算结果不为0D.运算结果为全136. 用8位补码85H表示的十进制数为()A.-123B.-5C.122D.13337. 在8086CPU中,用于保存当前代码段段基值的寄存器是()A.DSB.ESC.CSD.SS38. 当8086进行堆栈操作时,使用的段基值是在()A.CS中B.DS中C.ES中D.SS中39. 8086 的堆栈栈顶由( )来指示。

A.CS∶IPB.SS∶IPC.SS∶SPD.CS∶SP40. 若标志寄存器的奇偶标志位PF 置“1”反映操作( )A.结果是偶数B. 结果是奇数C. 结果中“1”的个数为偶数D. 结果中“1”的个数为奇数41.标志寄存器的标志位ZF=1 表示运算结果( )A.为零B. 为负C. 溢出D. 有进位42.下列寄存器为8 位的寄存器有( )A.IPB.AXC.ALD.BX43.在指令“MOV AX,INBUFF”中,变量INBUFF 的段是()A.CS B.DS C.SS D.ES44.在8086CPU 微机汇编语言程序设计中,字操作的二进制数的位数是()A.8 位B.16 位C.32 位D.64 位四、写出指令1、用单条指令将BX清零(用二种方法)。

2、把堆栈中字数据弹出送DX寄存器。

3、将立即数5678H和1234H两个数相减。

4、寄存器DX和AX组成32位数左移一位。

5、使BL寄存器低4位为0,其余位不变。

6、把89H送给寄存器CL7、把AL寄存器的内容乘以28、将存储单元DA1的内容加1.9、将AL的无符号数乘以BL的无符号数结果送入AX中。

10、AX的无符号数除以BL的无符号数结果放入AL,AH 中。

11、寄存器AX的内容减去BX内容再减去CF12、将BL的无符号数乘以5,结果存于AX中。

13、将存储单元【1000H】的32位数据的低16位送BX,高16位送DS。

14、将E的ASCII码送到数据段的2500H单元。

15、将5678H压入堆栈中。

16、将BX中的数据弹出送给SI寄存器。

五、请将下列左边的项与右边的解释联系起来(把所选字母填在括号中)(20分)(1)机器语言()A.保存当前的栈顶地址的寄存器。

(2)存储器()B.指示下一条要执行的指令的地址。

(3)堆栈()C.存储程序、数据等信息的记忆装置,在PC机有ROM和RAM两种。

相关文档
最新文档