《汇编语言》综合复习资料(14页).doc

上传人:1595****071 文档编号:36398627 上传时间:2022-08-26 格式:DOC 页数:14 大小:1,021KB
返回 下载 相关 举报
《汇编语言》综合复习资料(14页).doc_第1页
第1页 / 共14页
《汇编语言》综合复习资料(14页).doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《《汇编语言》综合复习资料(14页).doc》由会员分享,可在线阅读,更多相关《《汇编语言》综合复习资料(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-汇编语言综合复习资料-第 14 页汇编语言综合复习资料一、单项选择题在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题后的括号内:1. 十六进制数88H,可表示成下面几种形式,请找出错误的表示( )。(A) 无符号十进制数136 (B) 带符号十进制数 -120(C) 压缩型BCD码十进制数88 (D) 8位二进制数 -8的补码表示2. 指令指针寄存器是( )。(A) IP (B) SP (C) BP (D) BX3. 若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( ) (A) 1400H(B) 77F8H(C) 0000H(D) 0FFFFH4.

2、 完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( )。(A) MOV AL,00H (B) AND AL,00H(C) XOR AL,AL (D) SUB AL,AL5. 下列指令执行后总是使CF0,OF0的是( )。(A) AND (B) NEG (C) NOT (D) INC6. 在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AH (A) 符号 (B) 变量(C) 助记符(D) 标号7. DATASEGMENT TA1DW 0102H,0304H,0506H TA2 DB 02H,03H,04HMOV BX,DS:0006H AND BX,0FFH O

3、R BH,BX上述指令序列运行后,BX的内容是( )。(A) 0605H (B) 0402H (C) 0606H (D) 0204H8. 当一个带符号数大于0FBH时程序转移, 需选用的条件转移指令是( )。(A) JLE (B) JNL (C) JNLE (D) JL 9. 下面指令序列测试BH中的数是否为奇数, 若为奇数则转移至K1处,横线处的指令应为 ( )TEST BH,01HK1(A) JNE (B) JZ (C) JS (D) JC10. 测试BL寄存器内容是否与数据4FH相等, 若相等则转NEXT处执行,可实现的方法是( )。(A) TEST BL,4FHJZ NEXT(B) X

4、OR BL,4FHJZ NEXT(C) AND BL,4FHJZ NEXT(D) OR BL,4FHJZ NEXT 11. 在汇编语言程序中,对END语句的叙述正确的是( )。(A) END语句是一可执行语句 (B) END语句表示程序执行到此结束(C) END语句表示源程序到此结束 (D) END语句在汇编后要产生机器码12. 下面的数据传送指令中,错误的操作是( )。(A) MOV SS:BX+DI,1000H (B) MOV DX,1000H(C) MOV WORD PTRBX,1000H (D) MOV DS,2000H13. 下面指令执行后,变量DAB中的内容是( )。DAWDW 2

5、A05HDABDB 0FAHMOV AL,BYTE PRT DAWSUB DAB,AL(A) 0DAH (B) 0FAH (C) 0F5H (D) 0D0H14. 串操作指令中,目标串操作数的段地址一定在( )寄存器中。 (A) CS(B) SS(C) DS(D) ES15. 设数据段中已有: DA1 DB 12H,34HDA2 DW 56H,78H下面有语法错误的句是( )(A) ADR1 DW DA1 (B) MOV DA1+1,AX(C) MOV BYTE PTR DA2+1,AL (D) MOV WORD PTR DA1+1,AX16. DEC BYTE PTRBX指令中的操作数的数据

6、类型是( ) (A) 字(B) 双字(C) 字节(D)四字 17. 把若干个模块连接起来成为可执行文件的系统程序称为( )。 (A) 连接程序 (B) 汇编程序 (C) 编译程序 (D) 目标程序18. 操作数直接存放在指令中,则它的寻址方式是( )。 (A) 直接寻址 (B) 寄存器寻址 (C) 寄存器间接寻址 (D) 立即寻址19. 在程序状态字寄存器中,当方向标志DF位为0时,每次操作后使变址寄存器SI和DI( )。 (A) 减量 (B) 增量 (C) 保持不变 (D) 地址减120. 八位二进制补码整数的最小值是( )。 (A) -126D(B) -127D (C) -128D (D)

7、 -129D21. 在微机系统中分析并控制指令执行的部件是( )A. 寄存器 B. 数据寄存器C. CPU D. EU22. 能被计算机直接识别的语言是( )AC语言 B汇编语言 C机器语言 D面向对象语言23. MOV AX,ES:COUNTDI 源操作数的寻址方式是( )A. 基址寻址B. 立即寻址 C. 变址寻址 D. 基址变址寻址 24. 指令MOV BX,MASKBP,若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为( ) A. 17500H B. 16500H C. 14500H D. 13500H 25. 在标志寄存器中表示溢出的标志(

8、 )A. AF B.CFC. OF D.SF26. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF1,下面的叙述正确的是( )。(A) 表示结果中含1的个数为偶数(B) 表示结果中含1的个数为奇数(C) 表示该数为偶数 (D) 表示结果中低八位含1的个数为偶数27. 汇编语言指令中唯一不可缺少的域是( )A. 标号名字域 B. 助记符域 C. 操作数域 D. 注释域28. 已知(DS)=3000H,(SS)=2500H,(BX)=0100H,(BP)=0040H,指令MOV AX,DS:BP 源操作数的物理地址是( )。A25040H B. 30040H C.2

9、5100H D. 55040H29. 下列传送指令中,有语法错误的指令是( )。AMOV CS,AX B. MOV DS,AX C. MOV ES,AX D. MOV SS,AX30. 指令ADD ES:DI,AX 和存放在( )。A寄存器 B. 附加段 C. 堆栈段 D. 代码段二、简答题1在某子程序的开始处要保护AX,BX,CX三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。假设恢复现场的指令序列如下,试写出保护现场的指令序列。POP AXPOP BX POP CX 2下面的程序段有错吗?若有,请指出错误。 CRAYPROC PUSH AX ADD AX,BX RET ENDP CR

10、AY3试根据以下要求,分别写出相应的汇编语言指令。(1) 把AX寄存器和BX寄存器的内容相加,结果存入AX中。(2) 用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中。(3) 把数5EH与AH内容相加,结果送回AH中。4对于下面的数据定义,三条MOV指令分别汇编成什么? TAB1 DW 10 DUP(?)TAB2 DB 10 DUP(?)TAB3 DB 1234 MOV AX,LENGTH TAB1 MOV BL,LENGTH TAB2 MOV CL,LENGTH TAB35完成下列操作,分别选用什么指令:(1) 将AX的内容,减去0520H,和上次运算

11、的借位;(2) 将变量名TABL的段地址送AX;(3) 将变量名TABL的偏移地址送AX。6假设有如下伪指令:D1 DB 20H DUP(?)D2 DW D1请写出用一条指令实现“取D1的偏移地址=SI”中的三种方法。7.已知数据段定义如下:DATA SEGMENTVA DB 10HVB DW 3*20MSG DB HELLO!COUNT EQU 15BUF DW COUNT DUP(5,3 DUP(1,2),0) DATA ENDS问题: (1)执行 MOV BX , 0FFSET VA后, (BX)= (2)执行 MOV CX , TYPE BUF后, (CX)= (3)经汇编后, BUF

12、占有的存储空间是 字节8.在指令系统中,段内. 段间返回均为RET指令。试回答:(1)执行段内返回RET指令时,执行的操作是:(2)执行段间返回RET指令时,执行的操作是:9.下面的程序段有错吗?若有,请指出错误。(5分) CRAYPROC PUSH AX ADD AX,BX RET ENDP CRAY三、程序分析(读程序)题1A DW 6666H B DW 8888H PUSH BPUSH A POP B POP A试回答:(1) 上述程序段执行后,以十六进制表示,(A)H, (B)H(2) 设执行前SP100H,执行后,以十六进制表示,SPH2现有下列程序段 MOV AX,6540H MO

13、V DX,3210H MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL试问上述程序段运行后,以十六进制表示,(AX)H(BL)H(DX)H3分析下面程序段:MOV AX,3456XCHG AX,BXMOV AX,3456SUB AX,BXJE DONEKK:ADD AX,BXDONE:请问该程序段执行完JE DONE语句后,以十六进制表示,(AX)H, (ZF)H4程序段如下:BLK1 DB 46,84,34,-5,20,122,73MOV CX,7 LEA SI,BLK1NEXT:MOV AL,SIINC SITEST AL

14、,81HLOOPZ NEXTMOV BL,SI请回答程序段运行后, 以十六进制表示,(AL)H, (BL)H5分析下面程序段:MOV AL,200SAR AL,1MOV BL,ALMOV CL,2SAR AL,CLADD AL,BL试问程序段执行后,以十六进制表示,(BL)H, (AL)H6有下列程序段:ADD AL,BLJE L1RCL AL,1JE L2RCR AL,1INC ALJE L3上述程序运行后,试回答(以十进制表示):(1)当(AL)时,程序转向L1(2)当(AL)时,程序转向L2(3)当(AL)时,程序转向L37有下列程序段MOV BX,00FFHAND BX,0FFFHOR

15、 BX,0F0FHXOR BX,00FFH试问上述程序段运行后,以十六进制表示,(AL)=_ H8. 执行下列指令后,AX寄存器中的内容是什么?START DW 10H,20H,30H,40H,50HEE1 DW 3 MOV BX,OFFSET START ADD BX,EE1 MOV AX,BX 执行后,以十六进制表示,(AX)=_ H9有下列程序段: MOV SI,10H MOV AX,1234H MOV SI+12H,AX LEA BX,SI MOV SI+14H,BX LES BX,DWORD PTR SI+12H MOV AX,ESDEC AX 执行上述程序段后,AX和BX寄存器的内

16、容, 以十六进制表示, (AX)= _ H(BX)= _ H10有下列程序段 MOV CX,1AH MOV DL,zLAB1: PUSH DX MOV AH,02H INT 21H POP DX DEC DX LOOP LAB1 执行后,屏幕输出结果为:_11. 设 ( SP )=80H , ( BX ) = 0FFH ; ( AX )=1 PUSH BX ADD BX , AX XOR BX , AX PUSH BX POP CX 上 述 程 序 段 运 行 后 ,(SP ) _H ( CX )=_H12. 有如下程序段MOV AX , 0MOV BX , 1MOV CX , 5LOP:AD

17、D AX,BXADD BX , 2LOOP LOP问题:(1) 程序的功能是什么(可用算式表示)?(2) 运行后, (AX)=_ 13. 已知(DS)=5000H,(BX)=0100H,(DI)=0002H,(50100H)=45H,(50101H)=68H,(50102H)=0A1H,(50103H)=14H先执行MOVAX,100H, (AX)= ;再执行ADD AX,BX+DI, (AX)= ,CF= ,OF= 。14. 已知 (AX)=3200H, (DX)=0A000H,执行下列程序段:NOT AXNOT DXADD AX , 1ADC DX , 0问题:(1) 程序执行后,(AX)

18、=? (DX)= ?(2) 程序功能是什么?15. 有下列程序段MOV AX,10ADD AX,AXMOVBX,AXMOVCL,2SHL AX,CLADD AX,BX 上述程序段执行后(AX)= ,(BX)= 16. 有下列程序段MOV AX,9B47HMOV BX,0B568HADD AX,BXJNO L1JNC L2SUB AX,BXJNC L3JNO L4JMP SHORT L5问:(1) 程序执行后,(AX)= _H(2) 程序转向哪个标号?17. 行下列程序:MOV AX,0C100HMOVBX,8FC0HSUB AX,BX JNC L1JNOL2JMPSHORT L3程序执行后,(

19、AX)= ,程序转向 18. 有下列程序段MOV AL,0FH MOV BL,10H CALL SUB1 INC ALDEC BLSUB1 PROC ADD AL,BL XCHG AL,BL RETSUB1 ENDP上述程序段运行后,(AL)_H,(BL)_H19A DW 1234HB DW 5678H PUSH A PUSH B POP A POP B试回答:(1) 上述程序段执行后,以十六进制表示,(A)H(B)H(2) 设执行前SP200H,执行后,以十六进制表示,(SP)H四、程序填空题下列各小题中,一个空只能填一条指令。 1. 下面程序段用来判断寄存器AH和AL中第3位是否相同,如果

20、相同,AH置0,否则AH置全1。试把空白处填上适当指令。_ANDAH,08H_MOVAH,OFFHJMPNEXTZERO:MOVAH,0NEXT:2. 以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。BUFDB5,6,7,58H,62,45H,127,COUNTEQU$-BUFMAXDB?MOVBX,OFFSETBUFMOVCX,COUNT-1MOVAL,BXINCBXLOP1:_JAENEXTMOVAL,BXNEXT:INCBX_MOVMAX,AL3设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程

21、序中所缺指令语句补上。 TEST AX,8000H (1) MOV PLW,BX JMP DONE K1: (2) DONE:4在下面程序段的每一空框中填入一个语句(不得修改其它语句),以实现下述功能:求:z=|x-y|,设x,y,z分别为字数据的无符号变量名称。MOV AX,XCMP AX,YJB NEXTSUB AX,Y (1) _NEXT:MOV AX,YSUB AX,XDONE: (2) _5. 下列程序段将AX中值乘以9,请将程序填写完整_ MOV CL,3_ POP BXADD AX,BX答:(1) PUSH AX (2) SHL AX,CL6.下列程序段求数组ARRAY的累加和。

22、请将程序填写完整。ARY DW 45H,68H,.,0ABC1H,9600H;共10项COUNT DW 10_ MOV CX,COUNTXOR AX,AXAGAIN:ADD AX,SIADD SI,2_五、编制程序(段)题1.编程序段 (10分)编制将ES段中名为DATA的字存储区清零的程序段。假定DATA存储区定义为:DATA DW 20 DUP(?)要求用循环指令编写,循环控制采用计数寄存器自动控制。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)2.编程序段 (10分)设X,Y,Z,W存放16位带符号数,编程计算X*Y-Z的值并送到W(此题勿需书写完整的源程序格式

23、,只需把试题要求的有关指令序列书写出来。)3.编程序段 (10分)测试AL寄存器的D5和D0位,若同时为0,程序转向ZERO,执行AX 减去 BX;否则将AL清0,同时清 CF和OF标志。写出程序段。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)4编写完整程序:(13分)设在DAT单元存放一个-9+9的字节数据,在SQRTAB 数据区中存放了09的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元。要求子程序开始时必须利用堆栈保护用到的各寄存器,并在返回前恢复;主程序结构要书写完整(包括子程序的调用方式)(结果不必输出

24、)。其中数据段如下:DATA SEGMENTDAT DB -6SQRTAB DB 0,1,4,9,16,25,36,49,64,81SQR DB ?DATA ENDS 5编写完整程序:(13分)将一正数N插入一个已排好序的数组的正确位置。该数组的首地址和末地址分别为AHEAD与AEND,其中所有数均为正数,而且按递增顺序排序 (结果不必输出) 。数据段如下:DATA SEGMENTX DW ?AHEAD DW 2,5,7,89,100,200AEND DW 288N DW 35DATA ENDS6编写完整程序:(13分)在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整

25、的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。DATA SEGMENTBUF1 DW -56,24,54,-1,89,-8,-BUF2 DW 45,-23,124,345,-265,-SUM DW 10 DUP(0) DATA ENDS 7编写完整程序:(13分)在给定个数的数中寻找最大值,放至指定的存储单元。假设数据段如下:DATASEGMENTBUFFERDB2,4,3,6,1,5COUNTDW6MAXDB?DATAENDS部分参考答案及评分标准一、 单选题(每小题2分,共60分)1D 2A 3 A 4A 5A6B 7B 8 C 9A 10B11C12D13C1

26、4D15B16C 17A18D 19B 20C21. C 22. C 23. C 24. B 25. C26D 27B28B 29A 30B二、 简答题(每小题3分,共27分)1 PUSH CX(1分) PUSH BX(1分)PUSH AX(1分)2 程序最后一行有错,应写成: CRAY ENDP (3分)3(1) ADD AX,BX (1分)(2) ADD DL,BXSI (1分)(3) ADD AH,5EH (1分)4MOV AX,10(1分)MOV BL,10 (1分)MOV CL,1 (1分)5(1)SBB AX,0520H(1分) (2)MOV AX,SEG TABL(1分) (3)

27、MOV AX,OFFSET TABL(1分)6三种方法,对1个得1分,无先后顺序。(1)LEA SI,D1(2)MOV SI,OFFSET D1(3)MOV SI,D27. (1) 0 (1分)(2) 2 (1分)(3)240 (1分)8. 执行段内返回:栈顶内容IP,SP+2SP (2分)执行段间返回:栈顶内容IP,SP+2SP (2分)栈顶内容CS,SP+2SP (2分)9. 程序最后一行有错,应写成: CRAY ENDP (6分)五、编制程序题1 程序段:(10分)DATADW 20 DUP(?)MOV AX,SEG DATAMOV ES,AXMOV DI,0MOV CX,LENGTH

28、DATA;GOON:MOV DATADI,0ADD DI,2LOOP GOON评分细则:取地址正确(3分)DI清0 (1分)循环计数初值(2分)累加(2分)循环结构(2分)2 程序段:(10分)MOV AX,XIMUL YSUB AX,ZSBB DX,0MOV W,AX评分细则:每条指令2分3 程序段:(10分)TEST AL , 00100001BJZ ZEROSUB AX,AX JMP STOPZERO: SUB AX,BXSTOP: 评分细则:每条指令2分4 参考程序:(13分)DATA SEGMENTDAT DB -6SQRTAB DB 0,1,4,9,16,25,36,47,64,8

29、1SQRDB ?DATAENDSSTACKSEGMENT PARA STACK DW 20H DUP(?)STACKENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXCALL SUBROTMOV AH,4CHINT 21HSUBROTPROCPUSH AXPUSH BXLEA BX,SQRTABMOV AL,DATTEST AL,80H JNS NEXTNEG ALNEXT:XLAT SQRTABMOV SQR,ALPOP BXPOP AXRETSUBROT

30、ENDPCODE ENDSEND SRART评分细则: 源程序框架(3分) 段寄存器DS赋值(1分) 子程序调用(1分) 子程序框架(2分) 判DAT中正负数及处理(2分) 查表(2分) 存结果(1分) 用户程序结束(1分) 5 参考程序:(13分)DATA SEGMENTX DW ?AHEAD DW 2,5,7,89,100,200AEND DW 288N DW 35DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET AHEADL1:MOV AX,SICMP AX,NJA L

31、2 ;MOV SI-2,AXADD SI,2CMP SI,OFFSET AENDJBE L1L2: MOV AX,N MOV SI-2,AXMOV AH,4CHINT 21HCODE ENDSEND START评分细则: 段寄存器DS赋值(1分) 地址指针SI置初值(1分) 比较转移(2分) 后1个数移动到前1个数位置(2分) SI指针加2(2分) 判断是否到最后(2分) 将N存入空出的位置(2分) 用户程序结束(1分)6 参考程序:(13分)DATA SEGMENTBUF1 DW -56,24,54,-1,89,-8,-BUF2 DW 45,-23,124,345,-265,-SUM DW

32、10 DUP(0)DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START:MOV AX,DATAMOV DS,AXMOV CX,10LEA SI,BUF1LEA DI,BUF2LEA BX,SUMNEXT:MOV AX,SIMOV DX,DITEST AX,8000HJE TDXNEG AXTDX:TEST DX,8000HJE ADDSNEG DXADDS:ADD AX,DXMOV BX,AXADD SI,2ADD DI,2ADD BX,2LOOP NEXTMOV AH,4CHINT 21HCODE ENDSEND START评分:(1)判BUF1和BUF2内容为负数 2分(2)求绝对值 1分(3)求和 1分(4)存结果 1分(5)指针(SI,DI,BX)设置及修改 3分(6)循环正确 2分(7)程序段结构 2分(8)DS预置 1分(9)用户程序结束 1分

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁