微机原理与接口技术复习题(本)第1章概论1. 什么是程序和指令?2. 洪。
诺依曼计算机的核心原理是什么?3. 存储程序的概念是什么?4. CPU由那三部分组成?主机由那几部分组成?5. CPU对内存有那两种操作?6. 325.625D=- B= H234D= BCD7. 已知X=-1110011B,试求[X]原、[X]反、[X]补。
8. 已知X=-1110111B ,Y=+1011010B,求[X+Y]补。
9. 已知X=-1101001B ,Y=-1010110B 计算X-Y。
第2章微型计算机基础1. 微处理器内部由那三部分组成?2. 控制器有那些功能?3. 8086由那两部分组成?其功能是什么?4. 熟悉8088最小模式下的主要引脚功能。
5. 指令队列有什么功能?6. 8088的8个通用寄存器是什么?4个段寄存器是什么?两个控制寄存器是什么?7. 什么是逻辑地址和物理地址,有什么关系什么?8. 4个段寄存器中那一个段寄存器用户程序不用设置。
9. 什么是总线?10. 总线周期中,什么情况下要插入TW等待周期?11. 8088CPU中标志寄存器包含那些标志位什么?第3 章、第4章8088指令系统与汇编语言程序设计1. 什么是寻址方式? 8088CPU有那些寻址方式?2. 试说明MOV SI ,[BX ] 与LEA SI , [BX]两条指令的区别。
3. 设DS=212AH ,CS=0200H ,IP=1200H, BX=0500H , DATA=40H,[217A0H]=2300H, [217E0H]=0400H ,[217E2H]=9000H ,试确定下列指令的转移地址:(1) JMP BX(2) JMP WORD PTR [BX](3) JMP DWORD PTR [BX]4. 设SP=2300H ,AX=50ABH ,BX=1234H ,执行PUSH AX 后SP=?在执行PUSH BX ,POP AX后SP=?,AX=?,BX=?.5. 已知AL=7BH ,BL=38H ,试问执行ADD AL ,BL 后的6个状态标志是什么?6. 试判断下列程序执行后AX中的内容是什么。
MOV CL ,2MOV AX ,0B7HROL AX ,1ROR AX ,CL7. 按下列要求写出相应的指令和程序段。
(1)写出两条使BX内容清零的指令。
(2)使AH ,AL互换。
(3)使CX的b11,b7,b3 位清零。
(4)测试DX的b0 、b8 位是否同是1.(5)从地址DS:0012H中传送1个数56H到AL 中。
8. 指出下列程序的功能(1) MOV CX ,10LEA SI ,FIRSTLEA DI ,SECONDCLDREP MOVSB(2) CLDLEA DI , [1200H]MOV CX , 100XOR AX ,AXREP STOSW9. 试编写程序统计BUFFER为首地址的连续200个单元中的0的个数。
参考答案:LEA SI , BUFFERMOV CX ,200XOR BX ,BXAGAIN: MOV AL ,[SI]CMP AL ,0JNZ GOONINC BXGOON: INC SILOOP AGAINHLT10.选择题(1)8086CPU外部的数据总线和地址总线分别是。
A. 16,16B. 16,20C. 8,16 D 20,20(2)在8086CPU中,堆栈操作数指令是数据传送指令A. 8位B.8位或16位C.16 D。
32位(3)以下可使寄存器AX和CF同时清零的指令是A.SUB AX,AXB.XCHG AX,AXC.PUSH AXD.XOR AX, AX(4)在8086CPU中可屏蔽中断请求引脚为(04)A.NMIB.TESTC.INTRD.READY(5)段寄存器CS=2314H, 指令寄存器IP=1000H,指令的物理地址为(04)A.2440H B.23140HC. 24140HD.23240H(6)8086CPU当前被执行的指令存放在逻辑地址()中。
A. DS :BXB. SS:SPC. CS:PCD. CS:IP(7)8086系统中,每个逻辑段的存储单元数最多为()A. !MBB.256BC.64KBD.根据需要而定(8)IBM PC 采用分段的方式管理内存,每个最大可达字节。
A.16K B。
64KC.128K D。
256K11. 使用三种寻址方式,写出将DX的内容存入SS:3500H开始的存储器之中的指令序列。
12. 分别指出下列指令中源、目的的寻址方式,如有物理地址,请写出物理地址的计式。
⑴ADD Ax ,[BX+SI];⑵MOV SI ,[100H];⑶JMP [BX];⑷AND DX ,[BX+2000H];⑸MOV [DI] ,CX;13.判断下列指令是否正确,若有错,请指明原因。
⑴MOV AX ,[DX];⑵MOV CS ,AX;⑶MOV [DI], [BX];⑷MOV AX ,IP;⑸PUSH BL;14. 有一段程序如下:MOV CX , 10LEA SI , FIRSTLEA DI , SECONDREP MOVSB(1)这段程序完成什么功能?(2)REP 和MOVSB 哪条先执行?15.试用指令序列完成下列指定功能1). 将AL寄存器的D1,D4 , D7 位变反,其他位保持不变。
2). 测试AL寄存器的D4是否为0,若不为0,则转向标号NEXT.3). 交换AL的低4位与高4位的内容。
4). 将AL中与BL中的对于位不同的位均置1,其他位保持不变。
5). 将TAB对应单元的偏移地址送DS寄存器。
6). 将Ax寄存器中高4位变反,其他位保持不变。
7).写出清AL内容和CF的指令。
8).写出AL内容不变,仅清CF的指令。
9).写出交换DX寄存器中的低8位与高8位的内容的指令。
10).写出一条8086CPU的源寄存器BP相对寻址的指令。
11).写出将CX中的高字节变反,低字节不变的指令。
12).将DX的高4位置1,其他位保持不变。
13).将BX的低4位变反,其他位保持不变。
14),将AX的中间8位清零,其他位保持不变。
15).测试DX中的D12,D0位是否为零,若为零则转到标号。
16).将AX的低4位置1,确定·其他位保持不变。
17). 将数据段偏移量为100H单元中的字数据传送到偏移量为200H的单元中去,18). 测试AH寄存器的D6位是否为0,若不为0,则转向标号LOOP。
16.阅读下列程序,回答有关问题:1).DATA SEGMENTART DW 87H, 18H, 26H, 34H, 66H,……….SUM DW 2020HDATA ENDSCODE SEGMENTASSUME CS: CODE , DS:DATASTART: MOV AX ,DATA;MOV DS ,AX;MOV CX ,0032H;MOV BX ,OFFSET ART;MOV AX ,0;NEXT: ADD Ax ,[BX];INC BX;INC BX;LOOP NEXT;MOV SUM ,AX;RETSTART ENDPCODE ENDSEND该程序的功能什么。
2)DATA SEGMENTBUFF DW 100 DUP(?)BUFF2 DW 100 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATA, ES:DATASTART PROC FARPUSH DSMOV AX ,0PUSH AXMOV AX ,DATAMOV DS ,AXMOV ES ,AXL1: LEA SI ,BUFFLEA DI ,BUFF2CLDMOV CX ,100REP MOVSWSTART ENDPCODE ENDSEND START问该程序完成什么功能?3)设堆栈指针SP的值为2F00H,(AX)=8050H , (BX)=7840H , (CX)=2233H试问执行PUSH AX后,(SP)=PUSH BX后,(SP)=再执行PUSH CX , POP DX 后,(SP)= , (CX)=(AX)= (BX)=画出堆栈图。
4)并说明程序段完成什么功能。
SORT PROC FARPUSH DXPUSH AXMOV DX ,08EAHCOM1 : IN AL, DXTEST AL, 80HJZ COM1MOV DX ,08E8HIN AX ,DXMOV BUFF , ALPOP AXPOP DXRETSORT ENDP5)阅读程序,并回答下列问题。
⑴MOV BX, 2000HMOV CX ,0020HMOV AL ,[BX]L1: INC BXCMP AL , [BX]JC NEXTMOV AL , [BX]NEXT: DEC CXJNZ L1MOV [2300H] ,ALHLT问(BX)= ,(CX) ,(OF)= ,(ZF)= ,(SF)= . 程序段的功能是什么⑵DATA SEGMENTART DW 1087H, 18H, 26H, 1134H, 66, ……….SUM DW ?DATA ENDSCODE SEGMENTMAIN PROCASSUME CS:CODE ,DS:DATASTART: MOV AX, DATAMOV DS, AXMOV BX, OFFSET ARTMOV CX ,64HMOV AX, 0NEXT: ADD AX ,[BX]INC BXINC BXLOOP NEXTMOV SUM ,AXRETMAIN ENDPCODE ENDSEND该程序的功能是?6)设堆栈指针SP的值为2F00H,(AX)=8050H (BX)=7840H (CX)=2233H试问执行PUSH AX后,(SP)=画出堆栈图。
PUSH BX后,(SP)=画出堆栈图。
再执行PUSH CX ,POP DX 后,(SP)= ,画出堆栈图。
再执行XCHG AX ,CX 后, (SP)= .(AX)= .(BX)= . (CX)= (DX)= .画出堆栈图。
7)分析下列程序,说明程序功能CODE SEGMENTASSUME CS:CODEMOV CX ,80HMOV DL ,0NEXT: MOV AH ,2INT 21HINC DLLOOP NEXTINT 20HCODE ENDSEND8)阅读程序,回答问题DATA SEMENTA DB 87H, 18H, 26H, 34H, 66H, …….B DB 200 DUP (?)DATA ENDSCODE SEGMENTASSUME CS: CODE , DS: DATASTART: MOV AX, DATAMOV DS , AXMOV CX , 100MOV SI , OFFSET AMOV DI , OFFSET BNEXT: MOV AL ,[SI]AND AL ,0FHOR AL ,30HMOV [DI] ,ALINC DIMOV AL , [SI]PUSH CXMOV CL ,4SHR AL ,CLPOP CXOR AL , 30HMOV [DI] , ALINC DIINC DILOOP NEXTMOV AH , 4CHINT 21HCODE ENDSEND START该程序的功能是什么。