1、微计算机原理第二版潘名莲题及答案一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分)1. 指令MOV DX,BX的寻址方式是 。 (A)立即寻址 (B)直接寻址 (C)寄存器寻址 (D)寄存器间接寻址2. 若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 。 (A)7EH (B)1FH (C)9FH (D)7FH3. 属于在工作中需定时刷新的存储器的芯片是 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM4. 某EPROM芯片上有19条地址线A0A18,它的容量为 。 (A)128K (B)256K (C)512K
2、 (D)1024K5. 8086/8088CPU的SP寄存器是多少位的寄存器 。 (A)8位 (B)16位 (C)24位 (D)32位6. 在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址,该寄存器是 。 (A)SP (B)BX (C)SI (D)DI7. 8255工作在方式0时,下面哪种说法不正确 。 (A)A口输入无锁存能力 (B)A、B口输出有锁存能力 (C)C口输入有锁存能力 (D)A、B、C三个口输出均有锁存能力8. 采用DMA方式来实现输入输出是因为它 。 (A)速度最快 (B)CPU可不参与操作 (C)实现起来比较容易 (D)能对突发事件做出实时响应9. 工作在
3、最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 。 (A)DT/R (B)DEN (C)ALE (D)AEN10. 在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存器 。 (A)AX (B)BX (C)CX (D)DX二、填空题(每小题2分,共10分)1. 两个无符号数相等,该两数相减后ZF标志 。2. 执行LODSB后,SI的内容较该指令执行前增加1,说明DF 。3. DMA控制器8237共有 个相互独立的DMA通道。4. 8086/8088断点中断的向量码是 。5. 利用8253产生对称的方波,应用其工作方式 。三、判断题(认为正确的在题后 打 “”
4、号,错误的打“”号。并写出正确的内容,每题2分,共10分)1. 8086/8088CPU复位启动地址为0FFFFH 。2. +128的16位补码是1111 1111 0000 0000B反码是1111 1110 1111 1111 。3. 程序段开始执行之前,(CS)97F0H,(IP)1B40H,该程序段启动执行指令的实际地址是99A40H 。4. 异步串行通信在传送每一个数据时,传送出的第一位一定是一个低电平的传送位 。5. 8086/8088CPU响应中断时,CPU的硬件只保护CS和IP,其余内部寄存器应由程序员编程保护 。四、简单回答题(每小题4分,共16分)1. 说明8086/808
5、8CPU如何判别两个无符号数的大小。2. 8250芯片上有3条地址线A0A2,试问该芯片占用多少个接口地址?3. 试叙述REP MOVSB的执行过程。4. 动态存储器DRAM最重要的一个特点动态的含义是什么?五、程序阅读题(每小题5分,共20分)1. DATA SEGMENTAREA1 DB 100 DUP(11H)AREA2 DB 100 DUP(22H)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: PUSH DX XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX
6、MOV ES.AX CLD MOV SI,OFFSET AREA1 MOV DI,OFFSET AREA2 MOV CX,100REP MOVSB RETMAIN ENDPCODE ENDS END START指出上述程序指令执行后,AREA1、AREA2两个数据块的内容。2. 下述程序段执行后,寄存器CX,SI的内容是多少?ARRY DW 20H DUP(5) XOR AX,AX MOV CX,LENGTH ARRY MOV SI, SIZE ARRY TYPE ARRY3. MOVDATA MACRO SN,DN,CN MOV SI,OFFSET SN MOV DI,OFFSET DN M
7、OV CX,CN REP MOVS DN,SN ENDM 叙述上述宏指令的的功能4. 已知数据段DATA的段地址从40000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。DATA SEGMENT V1 DB 2AH,3FH V2 DW 2A3FH,3040H V3 DW 20 DUP(?) DATA ENDS1) MOV AX,SEG V1MOV BX,SEG V32) MOV AX,OFFSET V13) MOV CX,TYPE V34) MOV AH,LENGTH V2六、编写程序题(24分)1. 试编写一程序,把X和Y中的小者存于LIT单元,若XY,则把其中之一存入LIT单元
8、。(7分)2. 试编写一个程序段,能完成下列数学表达式的功能。X为字节变量。(7分) 2 (X2) X 0 (2X2) 2 (X2)3. 已知下面数据段中数据缓存区AREA可容纳1000H个字节变量,其中07FFH单元已经有数据,试编写一段程序,把AREA中07FFH单元的数据顺序传送到AREA缓存区中的200H09FFH单元中。(10分)DATA SEGMENTAREA DB 1000H DUP(?)DATA ENDS参考答案一、(20分,每小题2分)1、D;2 、A;3、B;4、C;5、B;6、D;7、C;8、A;9、C;10、C。二、(10分,每小题2分)1、1; 2、0; 3、4; 4
9、、03H; 5、3。三、(10分,每小题2分) 1、,应为0FFFF0H; 2、,应全为0000 0001 0000 0000B;3、; 4、;5、,应为F、CS和IP四、(16分,每小题4分)1、 将这两个无符号数相减(或比较),若CF0,则说明被减数大二减数小。若CF1,则说明减数大而被减数小。若ZF1,二者相等。 2、3条地址线有238种编码,8250最多占有8个接口地址。 3、将DS:SI所决定的内存一个字节传送到ES:DI所决定的内存单元中,同时根据DF是0还是1,决定分别对SI、DI1或1。然后CX减1,若(CX)0退出REP,否则重复传送操作,循环至(CX)0为止。 4、其含义就
10、是要对动态存储器定时进行刷新。五、(20分,每小题5分) 1、AREA1、AREA2两个数据块内容各100(共200)个字节全变为11H。 2、(CX)20H;(SI)40H23EH。 3、清零DF后,执行本宏指令实现以SN为首址的源数据块,到以DN为首址的目的数据块的数据传送,传送的数据块长度为CN。 4、1) (AX)4000H;(BX)4000H2) (AX)03) (CX)24) (AH)1六、(24分)1、(7分)解:DATA SEGMENT X DW ? Y DW ? LIT DW ? DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTAR
11、T PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV AX,X CMP AX,Y JC STOLIT;无符号数判断,有符号数用JLE MOV AX,YSTOLIT: MOV LIT,AX RETSTART ENDPCODE ENDS END START 2、(7分)解:DATA SEGMENTX DB -3DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV A
12、L,X CMP AL,2 JGE SETX2 CMP AL,-2 JLE SETX_2 MOV AL,0 JMP STOXSETX2: MOV AL,2 JMP STOXSETX_2: MOV AL,-2STOX: MOV X,AL RETSTART ENDPCODE ENDS END START 3、(10分)解:DATA SEGMENTAREA DB 1000H DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATASTART PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV
13、DS,AX MOV ES,AX STD MOV SI,OFFSET AREA+7FFH MOV DI,OFFSET AREA+9FFH MOV CX,800HREP MOVSB RET START ENDPCODE ENDS END START一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分)1. 指令ADD AL,5FH的寻址方式是 。 (A)寄存器,寄存器寻址 (B)寄存器,立即数寻址 (C)存储器,寄存器寻址 (D)寄存器,存储器寻址2. 对AL寄存器的内容进行清零操作的为 。 (A)INC AL (B)AND AL,0 (C)NOT AL (
14、D)XOR AL,03. 属于光可擦除可编程的存储器的芯片是 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM4. 某RAM芯片上有10条地址线A0A9,它的容量为 。 (A)128K (B)1K (C)512 (D)1024K5. 8086/8088CPU的SP寄存器是多少位的寄存器 。 (A)8位 (B)16位 (C)24位 (D)32位6. 在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址,该寄存器是 。 (A)SP (B)BX (C)SI (D)DI7. 8255工作在方式1时,下面哪种说法不正确 。 (A)A口输入有锁存能力 (B)A、B口输
15、出有锁存能力 (C)B口输入有锁存能力 (D)B口输入无锁存能力8. 8086/8088CPU芯片的地址线为 。(A)16条 (B)20 条 (C) 8条 (D) 24条9. 在DEBUG命令中,显示 DS:0000 内容的命令为 。(A)D DS:0000 (B)E DS:0000 (C)G DS:0000 (D) T DS:000010. 在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存器 。 (A)AX (B)BX (C)CX (D)DX二、填空题(每小题2分,共10分)1. AX与BX中数值相等,CMP AX,BX指令执行后ZF标志 。2. 执行LODSW后,SI的
16、内容较该指令执行前增加2,说明DF 。3. 8253共占用 个端口地址。4. 8086/8088溢出中断的向量码是 。5. 你所知道的可用于异步串行通信接口芯片是 。三、判断题(认为正确的在题后 打 “”号,错误的打“”号。并写出正确的内容,每题2分,共10分)1. 8086/8088CPU的内存地址不能作接口地址使用 。2. 十进制数50转换成二进制数是01010000B 。3. 利用XOR指令可以使AX寄存器清零 。4. 逻辑地址为97F0H:1B40H的物理实际地址是99A40H 。5. 01111110B的反码是10000001B 。四、简单回答题(每小题4分,共16分)1. 说明如何
17、把由A1.ASM,A2.ASM,A3.ASM三个模块组成的汇编语言源程序,转换成与之对应的一个“*.OBJ”文件,再进一步转换成“*.EXE”文件。2. 动态存储器DRAM最重要的一个特点动态的含义是什么?3. 简单叙述异步串行通信的数据格式(可画图表示)4. 试叙述串搜索指令REPNZ SCASB的执行过程。五、程序阅读题(每小题5分,共20分)1. DATA SEGMENTSUM DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATAMAIN PROC FARSTART: PUSH DX XOR AX,AX PUSH AX MOV AX,DATA
18、MOV DS,AX MOV AL,35H;1)此时AL中内容? ADD AL,45H;2)此时AL中内容? DAA ;3)此时AL中内容? MOV SUM,AL RETMAIN ENDPCODE ENDS END START指出上述程序指令执行后,SUM字节单元的内容。2. 设BX指向数据段X1字节内存单元,X2是X1后续字节单元,BIG也是一个节数单元。MOV AL,BX ;1)此时AL中内容?INC BX ;2)此时BX指向何字节单元?CMP AL,BXJAE BIGER EXCH: MOV AL,BX ;3)如执行到此时,X1与X2那个大? BIGER: MOV BIG,AL ;上述程序
19、执行后BIG中是什么数?3. 已知数据段DATA的段地址从10000H开始,分析伪指令后面的各种传送指令执行后各寄存器的内容。DATA SEGMENT V1 DW 2A3FH,3F40H V2 DB 2AH,30H V3 DW 4 DUP(?) DATA ENDS1) MOV AX,SEG V1MOV BX,SEG V32) LEA AX, V13) MOV CX,TYPE V34) MOV AH,SIZE V24. 下述程序执行后DI,SI的内容是多少?DATA SEGMENT X0 DB 20H DUP(?) X1 DB 20H DUP(?) DATA ENDS MOV SI,OFFSET
20、 X0 LEA DI,X1六、编写程序题(24分)1 试编写一程序,完成123100的运算,运算结果存储在SUM字内存单元。(7分)2 试编写一个程序,其功能是将一个字数组ARRAY中的正数分离出来存储在PLUS开始的单元中。(10分)3 已知下面数据段 DATA SEGMENTAREA0 DB 1000H DUP(?)AREA1 DB 1000H DUP(?)DATA ENDS编写程序,把AREA0中字节单元清零,把AREA1中的字节单元设置成34H。(7分)参考答案一、(20分,每小题2分)1、B;2 、B;3、D;4、B;5、B;6、D;7、D;8、B;9、A;10、C。二、(10分,每
21、小题2分)1、1; 2、0; 3、4; 4、04H; 5、8250。三、(10分,每小题2分)1、,应为可以;2、,应全为0011 0010B;3、;4、;5、,与原码相同四、(16分,每小题4分) 1、先用MASM对三个源文件分别汇编,形成A1.OBJ,A2.OBJ和A3.OBJ 然后运行LINK命令,并对(*.OBJ)文件一栏键入A1.OBJ +A2.OBJ+A3.OBJ ,生成一个*.EXE文件。 2、其含义就是要对动态存储器定时进行刷新。 3、 第 n 个字符 第n1字符 1 1 0 1/01/01/01/01/01/01/01/0 1 1 1 1 0 1/0 1/0 空闲位 起始 信
22、息位 校验 停止 空闲 起始 信息位 4、将ES:DI所决定的内存一个字节与AL中的内容比较,同时根据DF是0还是1,决定分别对DI1或1。然后CX减1,若(CX)0或ZF=1结束循环,否则重复传送搜索,循环至(CX)0为止。五、(20分,每小题5分) 1、1)35H , 2)7AH,3)80H;只要答对SUM中为80H满分。结果不对1)、2)、3)每步可得1分 2、1)X1,2)X2处,3)X2大,只要答对SUM中存储X1与X2中较大的数值即可满分。结果不对1)、2)、3)每步可得1分3、1) (AX)1000H;(BX)1000H2) (AX)03) (CX)24) (AH)1 4、(SI
23、)0,(DI)20H六、(24分)1、(7分)解:DATA SEGMENT SUM DW ? DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,A X MOV AX,0 MOV CX,100AGAIN: ADD AX,CX LOOP AGAIN MOV AH,4CH INT 21HCODE ENDS END START2、(10分)解:DATA SEGMENTARRAY DW 8 DUP(1FH,-12)COUNT EQU $-ARRAYPLUS DW 8 DUP(?,?)DATA ENDS;-CODE
24、SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX;- MOV SI,OFFSET ARRAY MOV DI,OFFSET PLUS MOV CX,COUNTAGAIN: LODSW TEST AX,8000H JNZ TENDSPLS: STOSWTENDS: LOOP AGAIN RETMAIN ENDPCODE ENDS END START3、(7分)DATA SEGMENTAREA0 DB 1000H DUP
25、(?)AREA1 DB 1000H DUP(?)DATA ENDS解:CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: PUSH DS XOR AX,AX PUSH AX MOV DS,AX MOV ES,AX;- MOV DI,OFFSET ARRAY0 MOV CX,1000H MOV AL,0AGAIN: STOSB LOOP AGAIN MOV AL,34H MOV CX,1000HAGAIN1: STOSB LOOP AGAIN1 RETMAIN ENDPCODE ENDS END START一、选择题(本题
26、共10小题,每小题2分,共20分)1. 字符“A”的ASCII代码是 。 (A)31H (B)0DH (C)20H (D)41H 2. 对AX寄存器内容进行减1操作的指令为 。 (A)DEC AX (B)OR AX,0 (C)XOR AX,AX (D)NOT AX3. 静态存储器芯片符号是 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM4. 某RAM芯片上有10条地址线A0A9,它的容量为 。(A)128K (B)1024K (C) 1024 (D)5125. 8086/8088CPU的DS寄存器是多少位的寄存器 。 (A)16位 (B)8位 (C)24位 (D)32
27、位6. 在DEBUG命令中,显示 DS:0000 内容的命令为 。(A)D DS:0000 (B)E DS:0000 (C)G DS:0000 (D) T DS:00007. 关于8255工作方式,下面哪种说法不正确 。 (A)A、B口均可在方式0方式下工作 (B)A、B口均可在方式1方式下工作(C)只有A口可在方式2方式下工作 (D)A、B口均可在方式2方式下工作8. 在DEBUG环境中,FLAGS中的状态标志CF为1时用符号 表示。 (A)NC (B)ZR (C)CY (D)PO9. 指令MOV AL,5FH的寻址方式是 。(A)寄存器,立即数寻址 (B)寄存器,寄存器寻址 (C)存储器,
28、立即数寻址 (D)寄存器,存储器寻址10. 在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器使用寄存器 。 (A)AX (B)BX (C)CX (D)DX二、填空(本题共5小题,每小题2分,共10分)1、 AX中数值为8000H BX中数值为8001H,SUB AX,BX指令执行后CF标志 。2、 执行LODSB后,SI的内容较该指令执行前增加1,说明DF 。3、 8255共占用 个端口地址。4、 8086/8088 NMI的中断类型号是 。5、 你所知道的可编程定时器/计数器芯片是 。三、判断题(认为正确的在题后 打 “”号,错误的打“”号。并写出正确的内容,每题2分,共10分)1. 8086/8088CPU的内存地址能作接口地址使用 。2. 十进制数40转换成二进制数是01000000B 。3. 利用CMP类指令可以使AX寄存器清零 。4. 动态存储器DRAM最重要的一个特点动态的含义是不需要刷新 。5. 01111111B的反码是10000000B 。四、简单回答题(每小题3分,共12分)1. 说明如何把由A.ASM,B.ASM二个模块组成的汇编语言源程序,转换成与之对应的一个“*.OBJ”文件,再进一步转换成“C.EXE”文件。2. 逻辑地址为97F0H:1B40H的物理实际地址是是什么?3. 简单叙述异步串行通信的数据格式(可画图表示)4. 试
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1