微机原理及应用试题一: 单项选择题(每题2分, 共20分)1. 字符A的ASCII码为41H , 字符a的ASCII码为( C ).A: 41H B: 42H C: 61H D: 62H2. 11000110为二进制补码, 该数的十进制原码为( D ).A: +198 B: -198 C: +58 D: -583. 下列指令中, 不正确的指令是( D ).A: MOV [BX+SI], AX B: MOV AX, [BX + SI]C: MOV AX, SI D: MOV AX, [BX + CX]4. 若要使寄存器AL中的高4 位不变, 低4 位全为1 , 使用指令( C ).A: AND AL, 0FH B: AND AL, 0F0HC: OR AL, 0FH D: OR AL, 0F0H5. 8086CPU读数据操作在总线周期的( D ) 时刻.A: T1 B: T1, T2C: T2, T3 D: T3, T46. 若DF = 1, 执行串操作指令MOVSW时, 地址指针自动变化是( D ).A: SI + SI + 1, DI = DI + 1 B: SI = SI + 2, DI = DI + 2C: SI = SI - 1, DI = DI - 1 D: SI = SI - 2, DI = DI - 27. 8086CPU可屏蔽中断INTR为( B ) 时, CPU获得中断请求.A: L电平 B: H电平C: 上升沿触发D: 下降沿触发8. 中断号16H 的中断向量表地址的首址为( A )A: 58H B: 60H C: 62H D: 64H9. 8086CPU从I/O端口地址80H读字节数据应使用指令( A )A: IN AL, 80H B: IN AX, 80H C: IN 80H, AL D: IN 80H, AX10. CPU被动, 处设主动的接口方式为( C ) .A: 无条件程控方式B: 查询控制方式 C 中断控制方式D: A, B, C都不对二: 填空题(每题2分, 共20分)1. 8086CPU复位时, 寄存器CS值为( FFFFH ),寄存器IP的值为( 0000H )2. 8086CPU的8个8位通用寄存器名为( AL ),( AH ), ( BL ),( BH ),( CL ),( CH ),( DL ) ,( DH ).3. 若SS = 3240H, SP = 2000H, 栈顶的实际地址为( 34400H ).4. 指令MOV AX, [BX] 的机器码为8BH, 07H , 指令MOV [BX], AX的机器码为( 89H ),( 07H ).5. 8255A的工作方式有方式0功能为( 基本输入输出), 方式1功能为( 选通输入输出), 方式2功能为( 双向数据传送).6. 执行指令PUSH AX有SP = ( SP - 2 ), 执行指令POP AX有SP = ( SP + 2 )7. 组合十进制加法调整指令DAA 对寄存器( AL ) 中的值进行调整.8. 和指令SHL AL, 1功能相同的指令是( SAL AL, 1 )9.8259A的初始化命令字应按( 顺序) 写入, 操作命令字应按( 需要) 写入.10. 2114为1024 X 4的RAM存储器芯片, 组成8KB主存储器需要( 16 ) 片2114. 三: 判断题(每题2分, 共20分)注: 正确在题前打√, 错误在题前打X .1. 8086CPU 和8088CPU 的地址线的数量不2. 一样. X3. 8086控制线/BHE = H, 地址线A0 =H时, 完成16 位数据传送. X4. 16 位机即指5. 该机CPU 的数据线为16 条. √6. 使用指7. 令RET及IRET时, 弹出堆栈的内容一样. X8. 响应可屏蔽中断INTR的条件是IF = 0. X9. 指10. 令MOV AX, CS:[BX] 是正确的指11. 令. √12. 8086CPU提供了256个中断类型号. √13. 非组合十进制乘法调整指14. 令AAD 对积进行调整. √15. 逻辑右移指16. 令SHR 和算术右移指17. 令SAR 功能一样. X18. 若(AX) = 7AF0H, 使用指19. 令CWD 后, (DX) = FFFFH.. X四: 指令改错(每题2分, 共20分)1. MOV [2000] , 20H MOV AL, 20H MOV [2000H], AL2. MOV [DX], 2000H MOV BX, DX MOV [BX], 2000H3. OUT 300H, AL MOV DX, 300H OUT DX, AL4. PUSH AL PUSH AX5. DIV [BX] DIV BYTE PTR[BX] OR DIV WORD PTR[BX]五: 读程序并回答问题(每题8分, 共16分)1. 程序1DA TA SEGMENT NUM1 DB 48H, 41H, 16H, 28HNUM2 DB 37H, 22H,52H,84H SUM DB 4 DPU(?)DA TA ENDS CODE SEGMENTASSUME CS:CODE, DS:DA TA STAR PROC FARPUSH DS MOV AX, 0PUSH AX MOV AX, DA TAMOV DS, AX LEA SI, NUM1LEA DI, NUM2 LEA BX, SUMMOV CX, 4 AG: MOV AL, [SI]ADD AL, [DI] MOV [BX], ALINC SI INC DI INC BX DEC CX JNZ AG RETSTAR ENDP CODE ENDS END STAR问:执行程序后, SUM中的值为( 7FH ),( 63H ),( 68H ),( ACH )2. 程序2DA TA SEGMENT BUF1 DB 0,1,2,3,4,5,6,7,8,9 BUF2 DB ? COUNT EQU $ - BUF DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DA TA STAR PROC FAR PUSH DS MOV AX, 0PUSH AX MOV AX, DA TA MOV DS, AX LEA BX, BUF1 MOV CX , COUNT – 1 MOV AL, [BX] AG: INC BX CMP AL, [BX]JAE BIG MOV AL, [BX]BIG: DEC CX JNZ AG MOV BUF2, AL RET STAR ENDPCODE ENDSEND STAR问: 该程序执行后BUF2中的值为( 9 ).六: 编程题( 7分)编一个完整的程序, 数据段有10个符号的ASCII码值数据块BUF , 若数据为0到9的ASCII码值, 在屏上显示Y , 否则显示N解:DA TA SEGMENT BUF DB 10 DUP(?)DA TA ENDS CODE SEGMENTASSUME CS:CODE, DS:DA TA NAIN PROC FARPUSH DS MOV AX, 0 PUSH AX MOV AX, DATAMOV DS, AX MOV CX, 10 LEA BX, BUFAG: MOV AL, [BX] CMP AL, 30HJL DISNO CMP AL, 39H JG DISNOMOV AH, 02H MOV DL, ‘Y’INT 21H JMP NEXT DISNO: MOV AH, 02HMOV DL, ‘N’INT 21HNEXT: INC CX DEC CXJNZ AGRET MAIN ENDP CODE ENDSEND MAIN七: 接口编程( 7分, 仅编程序段)8255A的A口,B口均工作于方式0, 从A口输出数据30H, 将B口输入的数据放入寄存器BL中.( 注:8255A口地址为60H到63H)解:1 0 0 0 X 0 1 X方式控制字= 82HMOV AL, 82H OUT 63H, AL MOV AL, 30HOUT 60H, AL IN AL, 61H MOV BL, AL一、填空(10分)1.十六进制数30A.5转换为二进制是_______________,转换为十进制是_______________。
2.已知X= -120,则X的原码(用八位进制)是____________,补码(用八位进进制)是____________。
3.补码减法10111011-11110111的计算结果是____________。
4.微机的工作环境分为____________、____________、____________、____________和____________。
二、简明地回答下列问题(15分)1.8086CPU功能上分为哪几部分?各部分的功能是什么?2.输入输出的寻址方式有哪几种?3.什么叫做中断源?中断源有哪些?三、分析下列指令和伪指令(15分)1.指出下列指令源操作数的寻址方式(1)MOV BX,100H(2)MOV AX,DAT[BX][DI](3)MOVSE(4)ADD AX,BX(5)MOV BX,[100]2.指出下列指令的错误(1)MOV AH,BX(2)ADD 15H,BX(3)MOV CS,AX(4)MOV AX,[SI][DI](5)MOV BYTE PTR[BX],1000 3.指出下列伪指令的含义(1)ABC EQU 300 (2)C DB ‘HELLO’(3)D DB (2+3)*4 (4)AA DW 25 DUP(?)(5) ASSUME CS:CODE四、(10分)若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。
LEA BX,STRMOV CX,20LP:CMP [BX],‘&’JNZ NEXTMOV [BX],‘$’NEXT:INC BXLOOP LPHLT五、(10分)从STRIN单元开始有一字符串,以‘*’作为结束标志(字符串可用‘……*’表示)。
编程序求字符串的长度,存入COUNT单元。
要求段说明和必要的伪指令。
六、(10分)键盘扫描按下键的工作原理是怎样的?七、(10分)若在一个系统中有五个中断源,它们的优先权排列为:1、2、3、4、5,它们的中断服务程序入口地址分别为3000H、3020H、3080H、和30A0H。
编程序,当有中断请求且CPU 响应时,能用查询方法转至申请中断的优先权最高的源的中断服务程序。
八、(10分)8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2引脚输出高电平(置位),假设8255A控制口地址是303H,程序段就应是怎样的?九、(10分)CPU通过并行接口与A/D转换器连接时,CPU是否可以在任何时间读入变换后的数据?为什么?。