汇编语言程序设计试卷及答案_第1页
汇编语言程序设计试卷及答案_第2页
汇编语言程序设计试卷及答案_第3页
汇编语言程序设计试卷及答案_第4页
汇编语言程序设计试卷及答案_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汇编语言程序设计试卷及答案.汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题 1 分,共 20 分)1十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 无符号十进制数136 带符号十进制数120 压缩型BCD码十进制数88 8 位二进制数 8 的补码表示2指令指针寄存器是()。IPSPBPPSW3当执行指令ADD AX, BX后,若 AX 的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是()。 表示结果中含1 的个数为偶数 表示结果中含1 的个数为奇数 表示该数为偶数 表示结果中低八位含1 的个数

2、为偶数4完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是()。 MOV AL,00HAND AL,00HXOR AL,ALSUB AL,AL5下列指令执行后总是使CF 0,OF0 的是()。ANDNEGNOTINC6完成同指令XCHG AX,BX 相同功能的指令或指令序列是()。MOV AX, BXMOV BX, AXPUSH AX POP BXMOV CX, AXMOV AX,BXMOV BX,CX7设 AH 0,AL06H, BL 09H,执行指令ADD AL,BLAAA之后,其结果应是()。AH 01,AL05AH 1 AL15AH 0 AL 0FH AH 0 AL058

3、设 AL 0B4H, BL11H,指令“ MUL BL”和指令“IMUL BL”分别执行后OF,CF 的值为OF 1,CF 0OF 1,CF 1OF 0,CF 0OF 0,CF 19在串操作指令前使用重复前缀指令REPE, 终止串的重复操作条件是()。CX 0 且 ZF0CX 0 且 ZF1CX 0 或 ZF0CX 0 或 ZF110下面指令中,合理而有意义的指令是()。REP LODSBREP SCASBREP CMPSBREP MOVSB11在汇编语言程序中,对END语句的叙述正确的是()。 END 语句是一可执行语句END 语句表示程序执行到此结束 END语句表示源程序到此结束 END

4、语句在汇编后要产生机器码12下面的数据传送指令中,错误的操作是()。MOV SS:BX+DI,1000HMOV DX,1000HMOV WORD PTRBX,1000HMOV DS,2000H13下面指令执行后,变量DAB中的内容是()。DAW DW2A05HDAB DB 0FAHMOV AL,BYTE PRT DAWSUB DAB, AL0DAH0FAH0F5H0D0H14执行下列指令后,正确的结果是()。MOV AL,100MOV BL, 2AL 100HBL 02HAL 64H BL 0FEHAL 64H BL 82HAL 100H BL 0FEH15设数据段中已有:DA1 DB 12H

5、,34HDA2 DW 56H,78H下面有语法错误的句是()。ADR1 DW DA1MOV DA1 1, AXMOV BYTE PTR DA2 1, ALMOV WORD PTR DA1 1, AX16实现将DX: AX 中存放的32 位数扩大四倍,正确的程序段是()。SHL AX, 2 ROL DX,2RCL AX, 2SHL DX,2MOV CX, 2 LOP: SHL AX, 1 RCL DX,1LOOP LOPSHL AX, 1 SHL AX,1 RCL DX,1 RCL DX,117DATASEGMENTTA1 DW 0102H, 0304H,0506HTA2 DB 02H ,03H

6、,04H:MOV BX,DS:0006HAND BX,0FFHAND BH,BX上述指令序列运行后,BX的内容是()。0605H0402H0606H0204H18当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()。JLEJNLJNLEJL19下面指令序列测试BH 中的数是否为奇数,若为奇数则转移至K1 处,横线处的指令应为TEST BH, 01HK1JNEJZJSJC20测试 BL 寄存器内容是否与数据4FH 相等,若相等则转NEXT处执行,可实现的方法是()。TEST BL, 4FHJZ NEXTXOR BL, 4FHJZ NEXT AND BL, 4FHJZ NEXTOR B

7、L, 4FHJZ NEXT二、简答题(每小题4 分,共 12 分)1在某子程序的开始处要保护AX,BX,CX, DX 四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:PUSH AXPUSH BX 保护现场PUSH CX /PUSH DX/: 恢复现场试写出恢复现场时的指令序列。POP DX(1 分)POP CX(1 分)POP BX(1 分)POP AX(1 分)2完成下列操作,选用什么指令:1)将 AX 的内容,减去 0520H,和上次运算的借位;2)将变量名 TABL的段地址送 AX;1)SBB AX,0520H(2 分)2)MOV AX,SEG TABL(2 分)3 D1 D

8、B 20H DUP(?)D2 DW D1请写出用一条指令实现取D1 的偏移地址 =SI 中的三种方法。LEA SI ,D1MOV SI,OFFSET D1MOV SI,D2三、程序分析题(每小题6 分,共 36 分)1A DW 1234HB DW 5678H:PUSH APUSH BPOP APOP B试回答:上述程序段执行后(A),(B)设执行前SP 200H,执行后SP( A)=5678H(2 分)( B)=1234H(2 分)SP=2000H(2 分)2现有下列程序MOV AX,6540HMOV DX,3210HMOV CL,04SHL DX ,CLMOV BL,AHSHL AX ,CL

9、SHR BL ,CLOR DL,BL试问上述程序段运行后,AX)BL)DX) 2(AX)=5400H(2 分)(BL)=06H(2 分)(DX)=2106H(2 分)3分析下面程序段,MOV AL,200SAR AL ,1MOV BL,ALMOV CL,2SAR AL ,CLADD AL ,BL试问程序段执行后(BL)(AL)3( BL)=0E4H(3 分)( AL)=0DDH(3 分)4程序段如下:BLK1 DB 46,84,34, 5,20,122, 73:MOV CX, 7LEA S1 , BLK1NEXT: MOV AL, SIINC SITEST AL , 81HLOOPZ NEXT

10、MOV BL, SI:请回答程序段运行后:(AL)(BL)4( AL)=-5 或 0FBH(3 分)BL)=14H或 20(3 分)5 STRINGDB ABCDEFGHIJMOV AH,01 ; 从键盘输入字符19INT 21HAND AL ,0FHDEC ALXOR AH,AHMOV BX,OFFSET STRINGADD BX,AXMOV BL,BXMOV AH,02H;显示输出INT 21H:试回答:( 1)上述程序段的功能是什么?(2)如从键盘输入字符 4 ,程序段有什么结果?5程序段功能:根据从键盘输入的字符1 9,确定在显示器上显示 STRING中第几个字符。( 4 分)显示器显

11、示字符 D( 2 分)6AND AL,ALJZ BRCH1RCR AL,1JZ BRCH2RCL AL ,1INC ALJZ BRCH3:上述程序运行后,试回答:(1)当( AL)时,程序转向BRCH1(2)当( AL)时,程序转向BRCH2(3)当( AL)时,程序转向BRCH36( AL)=0,( AL)=1,( AL)=-1 (每个回答各 2 分)四、程序填空题(下列各小题中,一个空只能填一条指令。每小题 6 分,共 12 分)1设 AX, BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。TEST AX, 8000HMOV PLW,

12、 BXJMP DONEK1 :DONE:1 JE K1 或 JZ K1(3 分)MOV PLW,AX (3 分)2现有下列数据段:DATA SEGMENTSTR1 DBABCDEFGHIJKLCOUNT EQUSTR1BUF DB COUNT DUP(0)DATA ENDS下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即 STR1中第一个字符送到BUF的最后一个单元, STR1中最后一字符送到BUF的第一个单元)。试把程序中所空缺的指令填上。MOV SI ,OFFSET BUF1MOV DI ,OFFSET BUFMOV CX,COUNTLOOP:MOVSB_LOOP LOP2

13、CLD ( 3 分) SUB SI, 2(3 分)或 STD(3 分) ADD DI, 2(3 分)五、编制程序(段)题(第1小题 6分,第 2小题 14分,共 20分)1. 编程序段计算SUMai=a1+a2+.+a20 ,已知a1.a20依次存放在以BUF为首址 i=1 的数据区,每个数据占两个字节,和数SUM也为两个字节。(要求用循环结构编写,循环控制采用计数控制)。(此题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来。)2设在 DAT单元存放一个9 9 的字节数据,在SQRTAB数据区中存放了09 的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。并写出主程序的调用方式。数据段如下:DATA SEGMENTDAT DB XXHSQRTAB DB 0,1,4, 9, .81SQR DB?DATA ENDS五、编制程序题(第 1 小题 6 分,第 2 小题 14 分,共 20 分)1 程序段: MOV AX,0MOV BX,OFFSET BUFMOV CX,20LOP:ADD AX,BXINC BXINC BXLOOP LOPMOV SUM,AX评分细则:地址指针BX置初值;( 1 分)循环计数初值( 1 分)累加( 2 分)循环结构( 1 分)存结果( 1 分)2 参考程序:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论