1、 WORD格式整理 微机原理及应用习题集库2一、填空2二、单项选择题6三、程序分析题(每小题6分,共24分)16四、判断题(在对的后面画,错的后面画):25五:分析判断题(判断对错,并指出错误原因)31六、简答题:33七、程序题38八、接口芯片的综合编程题50(一)8255A50(二)8259A56(三). 其它端口编程题58 专业知识分享 微机原理及应用习题集库(请认真复习4、5、7、10、11章后的习题)一、填空1. 87的原码是 0101 0111B=57H ,补码是 01010111B ,反码 01010111B 。2. SP总是指向 栈顶 ,若原先SP=2000H,SS=2000H,
2、问CPU执行指令PUSH AX后,AL内容压入物理地址为 21FFEH 存储单元中,AH内容压入物理地址为 21FFFH 存储单元中。3. 以BX基址寻址,约定的段寄存器是 DS ,以BP基址寻址,约定的段寄存器是 SS ,变址寻址约定的段寄存器是 DS 。 4. 假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字地址是 20H 。 5. 8086/8088的状态标志有 6(SF、PF、AF、OF、ZF、CF) 个。 8086/8088系统中,存储器是分段的,每段最大长度是 64K 字节,段内偏移地址从 0000H 到 FFFFH 。 6、 CPU访问存储器进行
3、读写操作时,通常在 T3 状态去检测READY ,一旦检测到READY无效,就在其后插入一个 Tw 周期。 7、 汇编语言源程序中的语句有三种类型,它们是 指令 语句, 伪指令 语句, 宏指令 语句。 8、 、8086CPU寻址外设可以有两种方式,一种是 直接 寻址方式,另一种是 间接 寻址方式。 9、 CPU与外设之间的连接部件称为 I/O接口 ,它的基本功能是 在CPU与外设之间起缓冲作用 。 10、 C PU从主存取出一条指令并执行该指令的时间称( ),它通常用若干个( )来表示,而后者又包括若干个( )。 指令周期 机器周期 时钟周期 答:12314、数据的输入/输出指的是CPU与 I
4、/O接口 进行数据交换。 15已知X= -120,则X的原码(用八位二进制表示)是_,补码(用八位二进制表示)是_。16、8088中的指令INT n用(N)指定中断类型。17、8088的ALE引脚的作用是(地址锁存允许)。18. 一片8255A端口A有(3)种工作方式,端口B有(2)种工作方式。19. 当8255A口工作在方式1输出时,A口输入信号联络线的名称是 IBF ,输出信号联络线的名称是 OBF(带上划线) 。 20. 端口A可以工作在3种工作方式中的任意一种,端口B只能工作在方式0或方式1;(对错题)21. 可编程并行接口芯片8255A共有( A )、( B )、( C )、和( 控
5、制 )四个端口。22. 8088的当前代码段、数据段和堆栈段段地址分别由( )、( )和( )提供。17、 微型计算机由()、()和()三大部分组成。208086/8088中级别最高的中断类型是(非屏蔽中断),其中断类型码为( 2 )。21. -3的原码是(1000 0011),反码是(1111 1100),补码是( 1111 1101)。22. 以BX基址寻址,约定的段寄存器是( DS ),以BP基址寻址,约定的段寄存器是( SS )。23. 一片8259A最多只能接收( 八)级 中断。三片8259A最多能接收(22)级中断。24. 8259A中的中断服务寄存器中存放的是(正在处理的中断请求
6、0)。25. 十六进制数30A转换为二进制是( 0011 0000 1010B )。26. 微型计算机由(微处理器)、(存储器)和(I/O接口电路)组成。27. 计算机记忆装置的基本单元是(触发器)。28. 一个最基本的总线周期是由(4)个时钟周期组成的。29. 所谓最小模式,是指(在系统中只有8086/8088一个微处理器)。30. 在8086/8088的引脚中,与总线有关的两个引脚是(HOLD)和(HLDA)。31. 中断向量是(中断处理子程序的入口地址),每个中断类型对应一个中断向量。32. MOV AX, BX+DI+50的寻址方式是(基址加变址的相对寻址)33. 8086最多能处理(
7、 256 )种中断。34. -7的原码是(1000 0111),反码是(1111 1000),补码是( 1111 1001)。35. 8259A中的中断屏蔽寄存器中存放的是(对各级中断请求的屏蔽信息)。36. 在8088读存储器周期中,采样Ready线的目的是(测试外设数据是否准备好)。37. . 微机系统中,ROM只能( 读 ),RAM可( 随机存取 ) 。38. 寄存器是由(触发器)组成的。39. 一个机器周期是(执行一条指令的时间),机器周期又可分为(取指周期)和(执行周期)。40. 所谓最大工作模式,是指(在系统中有二个以上的微处理器)。41. 对于地址/数据复用总线,在T1时刻,其传
8、输的信息是(地址信号)。42. 在8086/8088的引脚中,与中断有关的三个引脚是(NMI)、(INTR)和(INTA)。43. 所谓断点,就是指(响应中断时,主程序中当前指令下面的下一条指令的地址)。44. 8088中的指令INT n用( n)指定中断类型。45. 8086最大模式下产生控制信号利用芯片 8288 总线控制器,最小/最大模式下,外部地址锁存器利用芯片 8282 ,外部数据收/发器利用芯片 8286 。 46. 子程序可以由 Proc 语句定义,由 ENDP 语句结束,属性可以是 NEAR 或 FAR 。47. 段定义伪指令语句用 SEGMENT 语句表示开始,以 ENDS
9、语句表示结束。48. 逻辑地址为2000H:1234H的存储单元的物理地址是 。21234H49. 取指令时,段地址由 寄存器提供,偏移地址由 寄存器提供。CS和IP50. CPU在执行OUT DX,AL指令时, 寄存器的内容送到地址总线上, 寄存器的内容送到数据总线上。DX和AL51. 数据的输入/输出指的是CPU与 进行数据交换。I/O端口52. 中断矢量就是中断服务子程序的 入口地址 ,在内存中占有 4 个存储单元,其中低地址存储单元存放的是 偏移地址 ,高地址存储单元存放的是 段地址 。53. 中断返回指令是 RET ,该指令将堆栈中保存的断点弹出后依次装入 CS 寄存器和 IP 寄存
10、器中,将堆栈中保存的标志装入 标示寄存器FR 中。54. CPU响应8259A中断,在 INTA 引脚上输出 二 个负脉冲,在第 二 个负脉冲期间读入中断类型码。二、单项选择题1. 若补码用8位二进制数表示,则可表示的最大正数是( 4 )。(1)28 (2)28-1 (3)27 (4)27-12 向外设端口输出一个数据的指令是( 1 )(1) OUT DX,AL (2)IN DX,AL (3)OUT AL,DX(4)IN AL,DX3完成同指令XCHG AX,BX相同功能的指令或指令序列是(3 )。 MOV AX,BX MOV BX,AX PUSH AX POP BX MOV CX,AX MO
11、V AX,BX MOV BX,CX 1当有两个8286时,可为(2 )CPU提供数据总线。 8088 8086 80386 8048623片8259A级联,最多可管理( 3 )级中断。 24 . 23 . 22 . 213响应NMI请求的必要条件是( 3 )。 IF=1 IF=0 一条指令结束 无INTR请求 5测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( 2 )。 TEST BL,4FH AND BL,4FHJZ NEXT JZ NEXT XOR BL,4FH OR BL,4FHJZ NEXT JZ NEXT 68086/8088的一个典型总线周期需要(
12、 1 )个T状态。 4 3 2 17指令指针寄存器是( 1 )。 IP SP BP PSW8下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为( )。 TEST BH,01H 1K1 JNE JZ JS JC9下面的数据传送指令中,错误的操作是( 4 )。 MOV SS:BX+DI,1000H MOV DX,1000H MOV WORD PTRBX,1000H MOV DS,2000H 108255A工作在方式1时,端口A和端口B作为数据输入/输出使用,而端口C的各位分别作为端口A和端口B的控制信息和状态信息。其中作为端口A和端口B的中断请求信号的分别是端口C的()
13、。(A)PC4和PC2 (B)PC5和PC1 (C)PC6和PC7 (D)PC3和PC0答: D18255芯片具有 C 端口。 A)2 B)3 C)4 D)528255的 C 一般用作控制或状态信息传输。 A)端口A B)端口B C)端口C D)端口C的上半部分3对8255的端口A工作在方式1输入时,C口的 C 一定为空闲的。 A)PC4、PC5 B)PC5、PC6 C)PC6、PC7 D)PC2、PC34对8255的C口D3位置1的控制字为 B 。 A)00000110B B)00000111B C)00000100B D)00000101B58255工作在方式1的输出时,OBF信号表示 B
14、 。 A)输入缓冲器满信号 B)输出缓冲器满信号 C)输入缓冲器空信号 D)输出缓冲器空信号3在PC/XT机中键盘的中断类型码是09H,则键盘中断矢量存储在 B 。 A)36H39H B)24H27H C)18H21H D)18H1BH43片8259A级联起来,可管理 C 级中断。 A)24 B)23 C)22 D)20 E)16 F)155若8259A工作在优先级自动循环方式,则IRQ4的中断请求被响应并且服务完毕后,优先权最高的中断源是 B 。 A)IRQ3 B)IRQ5 C)IRQ0 D)IRQ47PC/XT机中若对从片8259A写入的ICW2是70H,则该8259A芯片的IRQ5的中断
15、矢量存储的地址是 D (注:先算类型号,再*4得到) A)75H B)280H C)300H D)1D4H8当向8259A写入的操作命令字OCW2为01100100时,将结束 E 的中断服务。 A)IRQ0 B)IRQ1 C)IRQ2 D)IRQ3 E)IRQ4 F)IRQ5 G)IRQ6 H)IRQ71下面是关于可编程中断控制器8259A的叙述,其中错误的是( 3 )。.8259A具有优先级管理的功能 .8259A具有辨认中断源的功能.8259A具有向CPU提供中断向量的功能 .一片8259A可管理8级中断2由8088CPU组成的PC机的数据线是( 4)。 8条单向线 16条单向线 8条双向
16、线 16条双向线3为8088CPU提供地址总线需要(4 )。 一个8286 两个8286 两个8282 三个8282 4一个8259可提供(2 )个类型号。 1 8 16 645响应INTR请求的必要条件是(2 )。 IF=0 IF=1 TF=0 TF=16完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( 1)。 MOV AL,00H AND AL,00H XOR AL,AL SUB AL,AL7当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是( 4 )。 表示结果中含1的个数为偶数 表示结果中含1的个数为奇数 表示该数为偶数
17、表示结果中低八位含1的个数为偶数 8在汇编语言程序中,对END语句的叙述正确的是(3 )。 END语句是一可执行语句 END语句表示程序执行到此结束 END语句表示源程序到此结束 END语句在汇编后要产生机器码 AL64H BL82H AL100H BL0FEH9执行下列指令后,正确的结果是(2 )。 MOV AL,100 MOV BL,2 AL100H BL02H AL64H BL0FEH 10当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是( 3 )。 JLE JNL JNLE JL1寄存器间接寻址方式中,操作数在 中。 C A)通用寄存器 B)堆栈 C)存储单元 D)段寄存器
18、2 寻址方式的跨段前缀不可省略。A A)DS:BP B)DS:SI C)DS:DI D)SS:BP3假设(SS)=2000H,(SP)=0012H,(AX)=1234H,执行PUSH AX后, =12H A)20014 B)20011H C)20010H D)2000FH4若要检查BX寄存器中的D15位是否为1,应该用 指令。 C A)OR BX,1000H B)TEST BX,1000H JNZ NO JNZ YES C) XOR BX,1000H D)AND BX,1000H JZ YES JNZ YES5用BP作基址变址寻址时,操作数所在的段是当前 。C A)数据段 B)代码段 C)堆栈
19、段 D)附加段若主程序段中数据段名为DATA,对数据段的初始化操作应为 。 BA)MOV AX,DATA B)MOV AX,DATA MOV ES,AX MOV DS,AXC)PUSH DS D)MOV DS,DATA3.EXE文件产生在 之后。 D A)汇编 B)编辑 C)用软件转换 D)连接4定义双字变量的定义符是 。 CA)DW B)DQ C)DD D)DT5下列存储器操作数的跨段前缀可省略的是 。 BA)DS:BP B)SS:BP C)ES:BX D)ES:SI3堆栈操作时,段地址由 寄存器指出,段内偏移量由 寄存器指出。C、G A)CS B)DS C)SS D)ES E)DI F)S
20、I G)SP H)BP4若当前DS的内容为2000H,则偏移量为1000H单元的地址可表示为 。B A)2000H.1000H B)21000H C)1000H2000H D)3000H38086CPU在执行IN AL,DX指令时,DX寄存器的内容输出到 上。 A A)地址总线 B)数据总线 C)存储器 D)寄存器2. 8086CPU复位后,CPU执行的第一条指令的起始地址应是 B A) ROM,FFFF0H B) RAM,FFFF0H C) ROM,FFFFH D) RAM,FFFFH3. 下述指令,正确的指令是 d (设BUF是字节变量,LAB为标号) aMOV BX,AL bMOV BX
21、,BUF cMOV BX,LAB dMOV BX,OFFSET BUF 4 下述中断,优先权级别最高的中断是 a aNMI bINTR c单步中断 dINT n 6. 8086CPU的40根引脚中,有 c 个是分时复用的。 A)1 B)16 C)21 D)24 7、用BP作基址变址寻址时,操作数所在的段是当前 C 。 A)数据段 B)代码段 C)堆栈段 D)附加段8执行下列指令: STR1 DW NO STR2 DB 14 DUP(?) CONT EQU $-STR1 MOV CX,CONT MOV AX,STR1 HLT 后寄存器CL的值是 D 。 A)0FH B)0EH C)12H D)1
22、0H9、接口的基本功能是 C 和 D 。 A)输出锁存 B)输入锁存 C)输出缓冲 D)输入缓冲 10、堆栈操作时,段基址由 C 寄存器指出,段内偏移量由 SP 寄存器指出。 A) CS B) DS C) SS D) ES11. 下列四条指令中错误的是 D 。 A)MOV AX,SI B)MOV AX,BP+DI C)MOV AX,DI D)MOV AX,BPDI12、在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有 A 。 A)SS,SP,BP B)SS,SP,BX C)DS,BX,BP D)DS,SP,BP13、.EXE文件产生在 D 之后。 A)汇编 B)编辑 C)用
23、软件转换 D)连接 15指令指针寄存器是(1 )。 IP SP BP PSW 16完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(1 )。 MOV AL,00H AND AL,00H XOR AL,AL SUB AL,AL 17下列指令执行后总是使CF0,OF0的是(1 )。 AND NEG NOT INC 22下面的数据传送指令中,错误的操作是( 1)。 MOV SS:BX+DI,1000H MOV DX,1000H MOV WORD PTRBX,1000H MOV DS,2000H 23下面指令执行后,变量DAB中的内容是(3 )。 DAW DW 2A05H DAB DB 0
24、FAH : MOV AL,BYTE PRT DAW SUB DAB,AL 0DAH 0FAH 0F5H 0D0H 24执行下列指令后,正确的结果是(2 )。 MOV AL,100 MOV BL,2 AL100H BL02H AL64H BL0FEH AL64H BL82H AL100H BL0FEH 25设数据段中已有: DA1 DB 12H,34H DA2 DW 56H,78H 下面有语法错误的语句是(2 )。 ADR1 DW DA1 MOV DA11,AX MOV BYTE PTR DA21,AL MOV WORD PTR DA11,AX 27 DATA SEGMENT TA1 DW 01
25、02H,0304H,0506H TA2 DB 02H,03H,04H : MOV BX,DS:0006H AND BX,0FFH AND BH,BX 上述指令序列运行后,BX的内容是(4 )。 0605H 0402H 0606H 0204H 32IBM PC机的8088处于最大模式,其总线仲载是由(2 )裁决。 非RQ/非GT 8289 8087 8288 338088的一个总线周期可交换(3 )字节。 4 2 1 1/8 三、程序分析题(每小题6分,共24分) 1 A DW 1234H B DW 5678H : PUSH A PUSH B POP A POP B 试回答:上述程序段执行后(A
26、),(B) 设执行前SP200H,执行后SP 2AB读下面程序段,请问,在什么情况下,本段程序的执行结果是AH=0? BEGIN: IN AL,5FH TEST AL,80H JZ BRCH1 MOV AH,0 JMP STOP BRCH1: MOV AH,0FFH STOP: HLT 答: 3A. 现有下列程序段: MOV AX,6540H MOV DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 试问上述程序段运行后, (AX) (BL) (DX) 4A现有下列程序段MOV AL,60HMOV BL,20
27、HSTCADC AL,BL问程序执行后,AL= BL= CF= 已知(DS)09lDH,(SS)1E4AH,(AX)1234H,(BX)=0024H,(CX)5678H,(BP)0024H,(SI)=0012H,(DI)0032H,(09226H)00F6H,(09228H)1E40H,(1E4F6H)091DH。下列各指令或程序段分别执行后的结果如何?() MOV CL,20HBXSI() MOV BPDI,CX() LEA BX,20HBXSIMOV AX,2BX() LDS SI,BXDIMOV SI,BX() XCHG CX,32HBXXCHG 20HBXSI,AX答(1) (CX)=
28、56F6H; (2) (09226H)=5678H; (3) (AX)=1E40H; (4) (1E4F6H)=0024H; (5) (09226H)=1234H,(AX)=5678H.1 假设寄存器AX=1234H,DX=0A000H MOV BX,0 MOV CX,BX SUB CX,AX SBB BX,DX MOV AX,CX MOV DX,BX 上述程序段执行后AX= 0FDCFH ,DX= 60000H 程序功能是 对原AX、DX中的值求补码,因为取补码指令就相当于用0减去此操作数,见书本P122 4分析下面程序段, MOV AL,200 SAR AL,1 MOV BL,AL MOV
29、 CL,2 SAR AL,CL ADD AL,BL 试问程序段执行后(BL)11100100B=E4H(AL)11111001B=F9H 5程序段如下: BLK1 DB 46,84,34,5,20,122,73 : MOV CX,7 LEA S1,BLK1 NEXT: MOV AL,SI INC SI TEST AL,81H LOOPZ NEXT MOV BL,SI : 请回答程序段运行后:(AL)46 (BL)8414对于下面的数据定义,各条MOVE指令单独执行后,有关寄存器的内容是什么?FLDB DBTABLEA DW 20DUP(?)TABLEB DB ABCDMOVE AX,TYPE
30、FLDB MOVE AX,TYPE TABLEAMOVE CX,LENGTH TABLEA MOVE DX,SIZE TABLEA MOVE CX,LENGTH TABLEB解答:AX=0001HAX=0002HCX=0014HDX=0028HCX=0001H。19读下面程序段,请问:在什么情况下,本段程序的执行结果是AH0? BEGIN: IN AL,5FH TEST AL,80H JZ BRCHl MOV AH,0 JMP STOP BRCHl: MOV AH,0FFH STOP: HLT解答:AL中的最高位为1时。20读程序: START: IN AL,20H MOV BL,AL IN
31、AL,30H MOV CL,AL MOV AX,0 ADLOP: ADD AL,BL ADC AH,0 DEC CL JNZ ADLOP HLT 请问: (1)本程序实现什么功能? (2)结果在哪里?解答:完成20H*30H,结果在AX中。21请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。解答: MOV BX,AX MOV CL 2 SHL AX, CL ADD AX,BX SHL AX ,1 22编程序使: (1)AX寄存器低4位清零。 (2)BX寄存器低4位置“1”。 (3)CX寄存器低4位变反。 (4)用TEST指令测试DL寄存器位3、位6是否同时为0,若是,将0送DL;否则
32、l送DH。解答 :1,AND AX ,0FFF0H 2,OR BX ,000FH 3,XOR CX ,000FH 4,TEST DL ,48H JZ LOOP MOV DH,1 HLT LOOP :MOV DL ,0HLT23编一程序段,完成符号函数(-128x127): 1 (x.0)y= 0 (x=0) -1 (x0)假设x的值存放在DATAl中,y的值存放在DATA2中。 解答: START :MOV AL ,DATA1 AND AL,AL JGE BIGR MOV AL,0FFH MOV DATA2.AL HLT BIGR:JE EQUL MOV AL,1 MOV DATA2,AL HLT EQUL:MOV DATA2,AL HLT 24设AX寄存器中有一个16位二进制数,编一程序,统计AX中“l”的个数,统计结果送CX中。解答: START :MOV CX ,0 LOOP: SUB AX,0 JZ STP SAL AX,1 JNC NOD INC CX NOD:JMP LOOP STP:HLT 25编一子程序利用XLAT指令把十六进制数转换成ASCII码。假设ASCII码存放在以 DAT1为首地址的数据区中,对应的16进
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100