《2022年微机原理复习题2 2.pdf》由会员分享,可在线阅读,更多相关《2022年微机原理复习题2 2.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、汇编语言试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1 分,共 20 分)1十六进制数88H,可表示成下面几种形式,请找出错误的表示(D) 。A) 无符号十进制数136 B) 带符号十进制数120 C) 压缩型 BCD 码十进制数88 D) 8 位二进制数 8 的补码表示2指令指针寄存器是(A) 。A)IP B) SP C) BP D) PSW 3当执行指令ADD AX ,BX 后,若 AX 的内容为 2BA0H ,设置的奇偶标志位PF1,下面的叙述正确的是(D) 。A)表示结果中含1 的个数为偶数B)表示结果中含1 的个数为奇数C)表
2、示该数为偶数D)表示结果中低八位含1 的个数为偶数4完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是(D) 。A) MOV AL,00H B) AND AL,00H C) XOR AL,AL D) SUB AL,AL 5下列指令执行后总是使CF0,OF0 的是(A) 。A) AND B) NEG C) NOT D) INC 6完成同指令XCHG AX ,BX 相同功能的指令或指令序列是(C ) 。A) MOV BX ,AX B) PUSH AX POP BX C) MOV CX ,AX MOV AX ,BX MOV BX ,CX 7设 AH0,AL 06H,BL 09H,执行指
3、令ADD AL ,BL AAA 之后,其结果应是(A ) 。A) AH01,AL 05 B) AH1 AL15 C) AH 0 AL0FH D) AH 0 AL05 8设 AL 0B4H,BL 11H,指令 “MUL BL ” 和指令 “IMUL BL” 分别执行后 OF,CF 的值为( C ) 。A)OF1,CF0 B) OF1,CF1 C) OF0,CF0 D) OF0,CF1 9在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(C)。A) CX 0且 ZF0 B) CX 0 且 ZF1 C) CX0 或 ZF0 D) CX 0 或 ZF1 10下面指令中,合理而有意义的指令
4、是(D) 。A) REP LODSB B) REP SCASB C) REP CMPSB D) REP MOVSB 11在汇编语言程序中,对END 语句的叙述正确的是(C ) 。A) END 语句是一可执行语句B) END 语句表示程序执行到此结束C) END 语句表示源程序到此结束D) END 语句在汇编后要产生机器码12下面的数据传送指令中,错误的操作是(D) 。A) MOV SS:BX+DI,1000H B) MOV DX,1000H C) MOV WORD PTRBX,1000H D) MOV DS,2000H 13下面指令执行后,变量DAB 中的内容是(C) 。DAW DW2A05H
5、 DAB DB 0FAH 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 6 页: MOV AL ,BYTE PRT DAW SUB DAB ,AL A) 0DAH B) 0FAH C) 0F5H D) 0D0H 14执行下列指令后,正确的结果是(B ) 。MOV AL ,100 MOV BL ,2 A) AL 100H BL02H B) AL 64H BL0FEH C) AL64H BL 82H D) AL 100H BL 0FEH 15设数据段中已有:DA1 DB 12H ,34H DA2 DW 56H ,78H 下面有语法错误的语
6、句是(D ) 。A) ADR1 DW DA1 B) MOV DA1 1,AX C) MOV BYTE PTR DA21,AL D) MOV WORD PTR DA11,AX 16实现将 DX :AX 中存放的 32 位数扩大四倍,正确的程序段是(C ) 。A) SHL AX ,2 ROL DX ,2 B) RCL AX ,2 SHL DX ,2 C) MOV CX ,2 LOP:SHL AX ,1 RCL DX ,1 LOOP LOP D) SHL AX ,1 SHL AX ,1 RCL DX ,1 RCL DX ,1 17 DATA SEGMENT TA1 DW 0102H ,0304H,0
7、506H TA2 DB 02H ,03H,04H : MOV BX ,DS:0006H AND BX ,0FFH AND BH ,BX 上述指令序列运行后,BX 的内容是(B) 。A) 0605H B) 0402H C) 0606H D) 0204H 18当一个带符号数大于0FBH 时程序转移,需选用的条件转移指令是(C) 。A) JLE B) JNL C) JNLE D) JL 19下面指令序列测试BH 中的数是否为奇数,若为奇数则转移至K1 处,横线处的指令应为() 。TEST BH ,01H A K1 A) JNE B) JZ C) JS D) JC 精选学习资料 - - - - - -
8、 - - - 名师归纳总结 - - - - - - -第 2 页,共 6 页20测试 BL 寄存器内容是否与数据4FH 相等,若相等则转NEXT 处执行,可实现的方法是(B) 。A) TEST BL ,4FH JZ NEXT B) XOR BL ,4FH JZ NEXT C) AND BL ,4FH JZ NEXT D) OR BL ,4FH JZ NEXT 二、简答题(每小题 4 分,共 12 分)1在某子程序的开始处要保护AX ,BX ,CX,DX 四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:PUSH AX PUSH BX 保护现场PUSH CX PUSH DX : 恢复现
9、场试写出恢复现场时的指令序列。POP DX POP CX POP BX POP AX (1)2完成下列操作,选用什么指令:(1)将 AX 的内容,减去0520H,和上次运算的借位;SBB AX,0520H(2)将变量名 TABL 的段地址送AX ;MOV AX SEG TABL3D1 DB 20H DUP (?)D2 DW D1 请写出用一条指令实现取D1 的偏移地址 =SI 中的三种方法。三、程序分析题(每小题6 分,共 36 分)1 A DW 1234H B DW 5678H : PUSH A PUSH B POP A POP B 试回答:上述程序段执行后(A)5678H, (B) 123
10、4H 设执行前SP200H,执行后 SP 2000H2现有下列程序段:MOV AX ,6540H 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 6 页MOV DX ,3210H MOV CL ,04 SHL DX ,CL MOV BL ,AH SHL AX ,CL SHR BL ,CL OR DL,BL 试问上述程序段运行后,(AX )5400H(BL ) 06H(DX )2106H3分析下面程序段,MOV AL ,200 SAR AL ,1 MOV BL ,AL MOV CL ,2 SAR AL ,CL ADD AL ,BL 试问程
11、序段执行后(BL)0E4H (AL )0DDH4程序段如下: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 )0FBH(BL )14H 或 205STRING DB ABCDEFGHIJ : MOV AH,01 ; 从键盘输入字符19 INT 21H AND AL ,0FH DEC AL XOR AH ,AH MOV BX ,OFFSET STRING ADD BX ,AX MOV B
12、L ,BX MOV AH ,02H ;显示输出INT 21H : 试回答:(1)上述程序段的功能是什么?根据从键盘输入的字符 19 ,确定在显示器上显示精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 6 页STRING 中第几个字符。(2)如从键盘输入字符4 ,程序段有什么结果?输入 4 则输出 D 6 AND AL ,AL JZ BRCH1 RCR AL ,1 JZ BRCH2 RCL AL ,1 INC AL JZ BRCH3 : 上述程序运行后,试回答:(1)当( AL ) 0时,程序转向BRCH1 (2)当( AL ) 1时,程
13、序转向BRCH2 (3)当( AL ) -1时,程序转向BRCH3 四、程序填空题(下列各小题中,一个空只能填一条指令。每小题6 分,共 12 分)1设 AX ,BX 中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW 单元中存放,请将程序中所缺指令语句补上。TEST AX ,8000H JE K1 或 JZ K1 MOV PLW ,BX JMP DONE K1:MOV PLW,AXDONE:2现有下列数据段:DATA SEGMENT STR1 DB ABCDEFGHIJKL COUNT EQU STR1 BUF DB COUNT DUP (0)DATA ENDS 下面程序段是实现把
14、STR1 中所有字符逆向传送到BUF 缓冲区(即 STR1 中第一个字符送到BUF 的最后一个单元, STR1 中最后一字符送到BUF 的第一个单元) 。试把程序中所空缺的指令填上。MOV SI ,OFFSET BUF 1 MOV DI ,OFFSET BUF MOV CX ,COUNT CLD _LOOP:MOVSB _SUB SI,2_ LOOP LOP 五、编制程序(段)题(第1 小题 6 分,第 2 小题 14 分,共 20 分)1.编程序段计算SUMai=a1+a2+.+a20 ,已知 a1.a20依次存放在以BUF 为首址的数据区, 每个数据占两个字节,和数SUM 也为两个字节。(
15、要求用循环结构编写,循环控制采用计数控制)。 (此题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。)程序段: MOV AX ,0 MOV BX ,OFFSET BUF 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 6 页MOV CX ,20 LOP :ADD AX ,BX INC BX INC BX LOOP LOP MOV SUM,AX 2.设在 DAT 单元存放一个 99 的字节数据,在SQRTAB 数据区中存放了09 的平方值,请用直接查表法编写一个子程序,在SQRTAB 中查找出 DAT 单元中数据对应的平方值
16、送SQR 单元。并写出主程序的调用方式。数据段如下:DATA SEGMENT DAT DB XXH SQRTAB DB 0,1,4,9,.81 SQR DB ?DATA ENDS STACL1 SEGMENT PARA STACK DW 20H DUP (?)STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX ,DATA MOV DS ,AX CALL SUBROT MOV AH ,4CH INT 21H SUBROT PROC PUSH AX PUSH BX LEA BX ,SQRTAB MOV AL ,DAT TEST AL,80H JNS NEXT NEG AL NEXT : XLAT SQRTAB MOV SQR ,AL POP BX POP AX RET SUBROT ENDP CODE ENDS END SRART 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 6 页