汇编语言试题(有答案)).pdf
欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!汇编语言试题及参答案 一、填空题 1.ZF 标志位是标志结果是否为零的,若结果,ZF 为(1),否则 ZF 为(0)。当 ZF 为 1时,SF 为(0)2.标号可以有两种类型属性。它们是(近程)和(远程)3.8 位无符号整数的表示范围为 0-255,写成 16 进制形式为(0-FFH),8 位有符号整数的表示范围为-128-+127,写成 16 进制形式为(80H-7FH)4.伪指令 DB,GROUP 和 NAME 三个标号名字域必须有名字的是(GROUP),不得有名字的是(NAME),可有可无名字的是(DB)。5.循环程序通常由(循环准备)(循环体)(循环的控制与修改)和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/(高)于+,-;XOR,OR(低)于 AND,LT(等)于 GT 7.宏指令定义必须由伪指令(MACRO)开始,伪指令(ENDM)结束,两者之间的语句称为(宏定义体)8.调用程序与子程序之间的参数传递方法有四种,即堆栈法(约定寄存器法)(约定存储单元法)(向量传递法)9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量 AYW(POP AYW)(2)双字变量 AYD 存放的地址指针送 ES 和 SI(LES SI,AYD)(3)变量 AY2 类型属性送 AH(MOV AH,TYPE AY2)(4)不允许中断即关中断(CLI)(5)将字符串HOW ARE YOU!存入变量 AYB(AYB DB“HOW ARE YOU!”)(6)子程序返回调用程序(RET)(7)地址表达式 AYY4的偏移地址送字变量 ADDR(MOV ADDR,OFFSET AYY4)(8)AX 的内容加 1,要求不影响 CF(INC AX)(9)BX 的内容加 1,要求影响所有标志位(ADD BX,1)(10)若操作结果为零转向短号 GOON(JZ GOON)二、单选题 1.IBM PC 微机中,有符号数是用(2)表示的 1原码 2补码 3反码 4BCD 码 2.把汇编源程序变成代码程序的过程是(2)1编译 2汇编 3编辑 4链接 三、己知:VAR1,VAR2 的类型属性分别为字和字节,标号 LPFAR 的类型属性为 FAR。指出下列非法语句的错误原因 1.POP CS(CS 不能作目的操作数)2.INC BX()3.MUL 8(乘法指令源操作数不能是立即数)4.JLE LPFAR()5.MOV DB,1800(立即数不能直接送段寄存器)6.MOVDI,VAR1 两个操作数不能同时为存储器操作数 7.SUB AX,VAR2(操作数不配,AX 为字,VAR2 为字节)8.CMP SS AX(段寄存器不能作为运算指令的操作数)四、简答题 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1.试述子程序的一般结构组成 由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序 2.标号有哪三个属性?其含义是什么?段属性:指定义该标号的段地址 偏移属性:指该标号的偏移地址 类型属性:指标 号是在定义它的段内引用还是在其它段引用 3.试述 CMP AX,BX 和 SUB AX,BX 两条语句的异同点?相同点:都执行 AX-BX 操作,影响所有标志位且对标志位的影响相同 不同点:CMP 执行后 AX,BX 内容不改变,而 SUB 执行后,AX 内为 AX-BX 之差即 内容变化了 五、阅读如下程序段,回答所提出的问题,假定 X1,X2,.XN 为无符号数。ORG 100H BLOK DW X1,X2,.,XN COUNT EQU($-BLOK)/2 RESULT DW COUNT,?.LEA BX,BLOK-2 MOV CX,RESULT XOR AX,AX GOON:ADD BX,2 CMP AX,BX JAE NEXT MOV AX,BX NEXT:LOOP GOON MOV RESULT+2,AX 程序段执行完,回答下述问题 RESULT+2 字存储单元的内容=(MAX(X1,X2,。XN)BX=(COUNT-1)程序循环次数=()六、在下述程序段的每一空框内填入一个语句(不得修改其它语句),以实现如下功能:字节变量 STR 中存放着一个字符串,以 0DH 为结束标志,试求串长度并送字变量 COUNT 中。LEA SI,STR (MOV AL,ODH)XOR CX,CX GOON:CMP AL,SI (JE NEXT 或 JZ NEXT)INC CX (INC SI)JMP GOON NEXT:MOV COUNT,CX 七、编制将 DS 段中名为 BUFB 的字节存储区改写为空白字符(编码为 20H)的程序段。假定 BUFB 存储区定义为 BUFB DB N DUP(),其中 N 为字面常量。八、己知宏指令为:SHIFT MACRO RR,COUNT MOV AX,COUNT 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!IF RR LE 64 MOV CL,3 SHR AX,CL IF RR LT 16 MOV CL,6 SHR AX,CL ENDIF ENDIF ENDM 宏调用为:SHIFT 15,7FFFH SHIFT 80,9FFFH 写出宏扩展后的等效源程序段。九、编写完整程序,功能是把 N 个 8 个二进制数据转换成 16 进制字符数据。假定 N 个数据存放在字节变量 VARB 中,转换后的字符数据存放在 HVARB 中,提示 0-9 的字符码为30H-39H,A-F 的字符码为 41H-46H 汇编语言试题答案 一、填空题 (1)1,0,0 (2)NEAR 或近程,FAR 或远程 (3)0-FFH,80H-7FH (4)GROUP,NAME,DB (5)循环准备,循环体,循环的控制与修改 (6)高,低,等 (7)MACRO,ENOM,宏体 (8)约定寄存器法,约定存储单元法,向量传递法 (9)(POP AYW)(LES SI,AYD)(MOV AH,TYPE AY2)(CLI)(AYB DB“HOW ARE YOU!”)(RET)(MOV ADDR,OFFSET AYY4)(INC AX)(ADD BX,1)(JZ GOON)二、选择题 2,2 三、1.CS不能作目的操作数 2.BX=义性 3.乘法指令源操作数不能是立即数 4.远程标号不能作为条件转移指令的操作数 5.立即数不能直接送段寄存器 6.两个操作数不能同时为存储器操作数 7.操作数不配,AX 为字,VAR2 为字节 8.段寄存器不能作为运算指令的操作数 四、简答题 1.由保存现场,取入口参数,加工处理,进也口友数,恢复现场和返回程序 2.段属性指定义该标号的段地址 偏移属性:指该标号的偏移地址 类型属性:指标号是在定义它的段内引用还是在其它段引用 3.相同点:都执行 AX-BX 操作,影响所有标志位且对档志位的影响相同 不同点:CMP 执行后 AX,BX 内容不改变,而 SUB 执行后,AX 内为 AX-BX 之差,即内容变化了 五、MAX(X1,X2,。XN)(COUNT-1)六、(MOV AL,ODH)(JE NEXT 或 JZ NEXT)(INC SI)七、MOV AX,SEG BUFB MOV DS,AX LEA SI BUFB MOV CX,N GOON:MOV BYTE PTRSI,20H INC SI LOOP GOON 八、MOV AX,7FFFH MOV CL,3 SHR AX,CL MOV CL,6 SHR AX,CL MOV AX,9FFFH 九、DATA SEGMENT VARB DB 45,36,377Q,。,11011011B N EQU$-VARB HVARB DB 2 NDRP(?)DATA ENDS STACK SEGMENT PARA STACK“STACK”DB 256 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:COOE,DS:DATA,SS:STACK MAIN PROC FAR PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV DX,N LEA DI,HVARB LEA SI,VARB,置初值 GOCN:MOV AH,SI MOV AL,AH AND AH,0F0H MOV CL,4 SHR AH,CL CMP AH,9 JNA NEXT1 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!ADD AH,7 NEXT1:ADD AH,30H,AH AND AL,DFH CMP AL,9 JNA NEXT2 ADD AL,7 NEXT2:ADD AL,30H,AL MOV DI,AH MOV DI,AL ADD DI,2 INC SI DEC DX JNZ GOON RET MAIN ENDP CODE ENDS END MAIN 全国 2006 年 10 月高等教育自学考试 汇编语言程序设计试题 课程代码:02321 一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1CPU 要访问的某一存储单元的实际地址称(C )A段地址 B偏移地址 C物理地址 D逻辑地址 2某存储单元的物理地址是 12345H,可以作为它的段地址有(D)A2345H B12345H C12340H D1234H 3执行后使 BX=0 的同时也使 CF=0,OF=0 的指令是(A)AXOR BX,BX BOR BX,BX CAND BX,BX DCMP BX,BX 4循环控制指令 LoopNZ/LoopNE 控制循环继续执行的条件是(B)ACX0 且 ZF=1 BCX0 且 ZF=0 CCX0 或 ZF=1 DCX0 或 ZF=0 5在执行 DAA 指令,当高四位 BCD 码校正时产生进位,如要把此进位值送入 AH 中,对这进位值的操作应是(C )ADAA 校正指令的功能已自动加在 AH 中 B进位值在 AF 中,校正后根据 AF 内容再加在 AH 中 C进位值在 CF 中,校正后根据 CF 内容再加在 AH 中 D进位值在 AL 最高位上,校正后根据 AL 最高位内容再加在 AH 中 6AND,OR,XOR,NOT 为四条逻辑运算指令,下面的解释正确的是(C )A指令 XOR AX,AX 执行后,AX 内容不变,但设置了标志位 B指令 OR DX,1000H 执行后,将 DX 最高位置 1,其余各位置 0 C指令 AND AX,OFH 执行后,分离出 AL 低四位 DNOT AX,执行后,将 AX 清 0 7在执行下列指令时,需要使用段寄存器 DS 的指令是(D)ASTOSW BADD AL,CL CNEG BX DINC DABX 8无论 BH 中原有的数是奇数或偶数,若要使 BH 中的数一定为奇数,应执行的指令是(B )AADD BH,01H BOR BH,01H CXOR BH,01H DTEST BH,01H 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!9完成对 CL 寄存器的内容乘以 4 的正确操作是(C)AROL CL,1 BMUL 4 ROL CL,1 CSHL CL,1 DMOV CL,2 SHL CL,1 SHL CL,CL 10下面各传送指令中,正确的是(C )AMOV DI,SI BMOVDX+DI,AL CMOV WORD PTR BX,0100H DMOV AL,BX 11汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)A名字的第一个字符可以是大写英文字母及小写英文字母 B名字的第一个字符可以是字母、数字及、_ C名字的有效长度31 个字符 D在名字中不允许出现$12要实现使 BETA 的值为 56,应采用语句为(C )ABETA DB 56 BBETA DB 56H CBETA EQU 56 DBETA EQU 56H 13REPZ CMPSW 指令,重复执行的终止条件是(A )ACX=0 或 ZF=0 BCX=0 且 ZF=0 CCX=0 或 ZF=1 DCX=0 且 ZF=1 14下面程序段执行后,AL 中的内容是(B)MOV AX,8833H ADD AL,AH DAA A21 B21H C0C1H D0DDH 15比较两个带符号的数 A、B,当 A=B 时程序转移,测试的条件为(A )AZF=1 BZF=0 CSF=1 DSF=0 16检查二个无符号数的关系,若要实现 ALBL 时分支去 LOP1 处,那么在“CMP AL,BL”指令后应跟的分支指令是(C )AJNC LOP1 BJA LOP1 CJC LOP1 DJGE LOP1 17在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)ASTOSW BLODSW CSCASW DCMPSW 18设 AL=0AH,下列指令执行后能使 AL=05H 的是(C)ANOT AL BAND AL,0FH CXOR AL,0FH DOR AL,0FH 19DA1 DWAB,CD,EF,GH(D )MOV AX,DA1+3 指令执行后 AX 中的内容是 AEF BCD CBC DFC 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!20使用 DOS 系统功能调用时,使用的软中断指令是(B )AINT 21 BINT 10H CINT 16H DINT 21H 二、填空题(本大题共 12 空,每空 0.5 分,共 6 分)请在每小题的空格中填上正确答案。错填、不填均无分。21十六进制数 0FFF8H 表示的十进制正数为_+65528,表示的十进制负数为_-32760_。22若 DS=0F3EH,SI=2000H,COUNT=0A8H,指令 MOV AX,(SI+COUNT)中,源操作数的有效地址 EA 为_20A8H,其物理地址为_11488H_。23CPU 的标志寄存器中标志位,可以分为两大类,其中一类称为_状态_标志位,另一类称为_控制_标志位。24当标志位_CF_=1 时表示无符号数运算产生溢出,而当标志位_OF_=1 是表示带符号数运算产生溢出。25如 JMP 指令采用段间间接寻址,那么由 4 个相邻字节单元中存放有转移地址,其中前两个字节存放的是_IP,而后两个字节存放的是_CS_。26在串操作程序中,通常在重复前缀指令 REPZ 或 REPNZ 后,选用的串操作指令是_STOS_或_CMP_才有实际意义。三、简答题(本大题共 4 小题,每小题 2 分,共 8 分)27已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,BX 21357H(2)MOV CS:BX+DI,AH 43357H 280P1 DB 1,2 0P2 DW 3412H,5678H MOV AX,OP1+1;字单元(OP1+1)AX MOV BL,OP2+1;字节单元(OP2+1)BL 上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。MOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR(OP2+1)29下列语句在存储器中分别为变量分配多少字节?(1)AD2 DW 10 DUP(?),10 (2)AD3 DD 100 DUP(?)22 400 30简述下面两条指令分别是什么语法错误?MOV BX,SI MOV 指令不能在两个存储器操作数之间进行;MOV AX,DL 操作数类型不匹配 四、程序分析题(本大题共 6 小题,每小题 6 分,共 36 分)31 MOV DL,AL NOT DL TEST DL,04H JE NEXT 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!NEXT:若上述程序段执行时产生分支,说明 AL 中的数第几位一定为 1?程序段执行后 CF 是多少?第 2 位;CF=0 32DA1 DBABCDEFGHI DA2 DB 9 DUP(0)LEA SI,DA1 LEA DI,DA2 MOV CX,9 CLD LOP:LODSB SUB AL,10H STOSB LOOP LOP .试问:写出程序执行后 DA2 各字节中的数据。保持程序功能情况下,程序中 可否改写为 123456789;不能更改 33已知:BX=4567H NEG BX INC BX NEG BX DEC BX 程序段执行后,BX=_4565H_,CF=_1_。34 MOV BL,64H MOV CL,03H XOR AX,AX AGAIN:ADD AL,BL ADC AH,0 DEC CL JNZ AGAIN 问:(1)该程序段完成的功能是:将 AX 内容乘 3 送 BX 中 (2)AX=_012CH_。35已知数据段中定义 DAT1 DB 12H,34H,56H,78H MOV CX,0 MOV AX,WORD PTR DAT1 MOV CL,DAT1+3 当程序段执行完后 AX=_3412H_,CX=_0078H_。36DA1 DB 83H,72H,61H,94H,5AH MOV CX,WORD PTR DA1 AND CX,0FH 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!MOV AL,DA1+3 SHL AL,CL 上述指令序列执行后,AL=_0A0H_,CL=_03H_。五、程序填空题(本大题共 2 小题,每小题 6 分,共 12 分)37在 NUMW 单元存放有一个 0-65535 范围内的整数,将该数除以 500,商和余数分别存入 QU1 和 REM 单元,请在空行处各填上一条指令完善该程序。MOV AX,NUMW MOV BX,500_ XOR DX,DX DIV BX MOV QUI,AX MOV REM,DX_ 38某程序欲用单个字符显示的 2 号功能调用去显示 STRING 中的字符串COMPUTER(不显示字符$!).试在空白处填上适当的一条指令。STRING DBCOMPUTER,$MOV BX,0FFSET STRING LOP:MOV DL,BX MOV AH,02H INT 21H _INC BX_ _CMP BX,24H_ JNE LOP 六、编程序题(本大题共 2 小题,第 39 小题 6 分,第 40 小题 12 分,共 18 分)39试编制一程序段,用串操作指令实现以 DA_BY 为首址的 20H 个字节单元中存放相同字符Y(设 DA_BY 存储区已有 ES 指向)。40试编制一源程序,统计 DA1 字单元中含 0 的个数,如统计的个数为奇数,则将进位位置 1,否则进位位清 0。DATA SEGMENT DA1 DW XXXX DATA ENDS 2006 年 10 月汇编语言程序设计试题答案 一、1、C;2、D;3、A;4、B;5、C;6、C;7、D;8、B;9、C;10、C;11、B;12、C;13、A;14、B;15、A 16、C;17、D;18、C;19、D;20、B 二、21、+65528;-32760 22、20A8H;11488H 23、状态;控制 24、CF;OF 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!25、IP;CS 26、STOS;CMP 三、27、(1)21357H;(2)43357H 28、MOV AX,WORD PTR(OP1+1)MOV BL,BYTE PTR(OP2+1)29、(1)22;(2)400 30、MOV 指令不能在两个存储器操作数之间进行;操作数类型不匹配 四、31、第 2 位;CF=0 32、123456789;不能更改 33、BX=4565H;CF=1 34、AX=012CH,将 AX 内容乘 3 送 BX 中 35、AX=3412H,CX=0078H 36、AL=0A0H,CL=03H 五、37、MOV BX,500 MOV REM,DX 38、INC BX CMP BX,24H 六、39、LEA DI,DA_BY MOV CX,32 MOV AL,Y CLD REP STOSB 40、CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX LEA SI,DA1 MOV CX,16 XOR BL,BL AGAIN:MOV AL,SI HL AL,1 JC NEXT INC BL NEXT:INC SI LOOP AGAIN TEST BL,01H JNE L1 CLC JMP DONE 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!L1:STC DONE:MOV AH,4CH INT 21H CODE ENDS END START 浙江省 2001 年 10 月汇编语言程序设计试题 课程代码:02321 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 10 分)1.把若干个模块连接起来成为可执行文件的系统程序是(B )A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 2.使汇编程序执行某种操作的命令是(C )A.变量 B.指令 C.伪指令 D.宏指令 3.串操作指令中,目的操作数的段地址一定在(D )寄存器中 A.CS B.SS C.DS D.ES 4.在下列语句中,AGAIN 称为(C )AGAIN:INC SI A.符号 B.助记符 C.标号 D.变量 5.MOV BH,1000SI,该指令中源操作数采用的寻址方式是(C )A.立即 B.直接 C.寄存器相对 D.寄存器间接 6.OR AL,AL 是(D )操作指令。A.异或 B.加法 C.右移 D.逻辑或 7.DOS 系统功能调用中,显示单个字符的系统调用号是(B )H。A.01H B.02H C.08H D.09H 8.使计算机执行某种操作的命令是(B )A.宏指令 B.指令 C.伪指令 D.语句 9.换码指令的助记符是(C )A.XCHG B.LEAS C.ALXT D.MOV 10.计算机能直接识别并执行的语言是(B )A.汇编语言 B.机器语言 C.高级语言 D.低级语言 二、填空题(共 20 分)1.假设 BL=0C5H,CL=2,CF=1,确定下列各条指令独立执行后,BL 和 CF 中的值,并填入括号中。A.SHR BL,1;BL=(62 H )CF=(1 )B.SAR BL,CL;BL=(0F1H )CF=(0 )C.ROR BL,1;BL=(E2 H )CF=(1 )D.RCL BL,CL;BL=(17H )CF=(1 )2.现有数据定义伪指令如下,写出对应的数据在存储单元中的存放形式。BUF1 DB 01,52H BUF2 DW 3 DUP(?,0)BUF3 DB 2 DUP(0,2DUP(1,2),3)BUF1 01 BUF2-BUF3 00 52 -01 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!00 02 00 01 -02 -03 00 00 00 01 -02 -01 00 02 00 03 3.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是_ASCII_码,称为美国_标准信息_码。4.8086/8088CPU 中,有二个变址寄存器,分别是_SI_和_DI_,二个指针寄存器,分别是_BP_和_SP_。三、简答题(每小题 5 分,共 20 分)1.请指出下列指令错误原因:A.OR AX,CX B.ADD SI,BX DI C.JMP BYTE PTR LOOPS D.SAR AX,4 E.RCL DX A.CX 不能作为间接寻址寄存器 B.加法指令不能完成存储单元之间的加法运算 C.转移指令中,转向标号地址的属性说明错 D.移位指令格式错,当移位次数大于 1 时,需用 CL 给出 E.指令中应指出移位次数 2.A.下面两个语句有何区别?X1 EQU 1000H X2=1000H B.下面的程序段有错吗?若有,请指出错误。CRAY PROC PUSH AX ADD AX,BX RET ENDP CRAY A.第一个语句中,X1 不能多次赋值,而 X2 可以多次赋值 B.程序最后一行有错,应写成:CRAY ENDP 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3.假设程序中的数据定义如下:ARRAY1 DW?ARRAY2 DB 16 DUP(?)ARRAY3 DD?PLENTH EQU$-ARRAY1 问 PLENTH 的值为多少?它表示什么意义?22 它表示 ARRAY1 到 ARRAY3 所占存储单元的字节数 4.试根据以下要求,分别写出相应的汇编语言指令。A.把 AX 寄存器和 BX 寄存器的内容相加,结果存入 AX 中。ADD AX,BX B.用 BX 和 SI 的基址变址寻址方式,把存储器中的一个字节与 DL 的内容相加,并把结果送回 DL 中。ADD DL,BX SI C.把数 OBEH 与 AH 内容相加,结果送回 AH 中。ADD AH,OBEH D.用 SI 和位移量 0200H 的寄存器相对寻址方式把存储器中的一个字与 AX 相加,并把结果送回存储单元中。ADD SI+0200H,AX E.用位移量 0860H 的直接寻址方式把存储器中一个字与数 2EA0H 相加,结果回送存储器中。ADD 0860H,2EA0H 四、程序分析题(每小题 5 分,共 20 分)1.试分析下面程序段完成什么功能?CON1 DW H CON2 DW H MOV AX,CON1 MOV BX,CON2 CMP AX,BX JGE GREAT LESS 比 较 两个 16 位有符号数,当(CON1)=(CON2)时转 GREAT 处理,否则转 LESS 处理。2.试分析下面程序段完成什么功能?OR AL,AL JZ L0 CMP AL,1 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!JZ L1 CMP AL,2 JZ L2 JMP STOP L0:L1:L2:STOP:HLT 判断 AL 中的内容,若 AL=0,转 L0 处理;若 AL=1,转 L1 处理;若 AL=2,转 L2 处理;其它转结束(STOP)。3.试问下面的程序段完成的功能是什么?程序执行后,AX 的内容是什么?XOR AX,AX MOV BX,2 MOV CX,10 L:ADD AX,BX ADD BX,2 LOOP L HLT 求 220 之间偶数之和 AX=110(或 6EH)4.试分析下面的程序段完成什么功能?MOV CL,04 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 把 DX、AX 中的双字左移四位 五、程序设计(每小题 10 分,共 30 分)1.试编写使 AL 寄存器中的无符号数乘 20 的程序段。2.编写程序将 ELEMS 中的 100 个字节数据的位置颠倒过来(即第一个字节和第 100 个字节的内容交换,第二个字节和第 99 个字节的内容交换)。3.仔细阅读下列程序段,它是二个 ASCII 码转换为一字节十六进制数的子程序,请回答下列问题:A.说明一个 ASCII 码字符转换为一位十六进制数的算法。B.程序执行结束后,HEXBUF 字节单元中的内容是什么?C.对程序进行注释,说明指令执行的工作。ASCBUF DB 38H,41H HEXBUF DB?欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!LEA SI,ASCBUF LEA DI,HEXBUF MOV CL,4 MOV AL,SI CALL ASC-HEX MOV DI,AL MOV AL,SI+1 CALL ASC-HEX OR DI,AL HLT ASC_HEX PROC NEAR CMP AL,3AH JC ASC1 SUB AL,7 ASC1:SUB AL,30H RET 浙江省 2001 年 10 月汇编语言程序设计试卷参考答案 课程代码:02321 一、单项选择题(每小题 1 分,共 10 分)1.B 2.C 3.D 4.C 5.C 6.D 7.B 8.B 9.C 10.B 二、填空题(共 20 分)1.(8 分)A.62H,1 B.0F1H,0 C.0E2H,1 D.17H,1 2.(每题 2 分,共 6 分)BUF1 01 BUF2-BUF3 0 52 -1 0 2 0 1 -2 -3 0 0 0 1 -2 -1 0 2 0 3 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3.ASCII 标准信息 4.SI DI SP BP 三、简答题(每小题 5 分,共 20 分)1.A.CX 不能作为间接寻址寄存器 B.加法指令不能完成存储单元之间的加法运算 C.转移指令中,转向标号地址的属性说明错 D.移位指令格式错,当移位次数大于 1 时,需用 CL 给出 E.指令中应指出移位次数 2.A.第一个语句中,X1 不能多次赋值,而 X2 可以多次赋值 B.程序最后一行有错,应写成:CRAY ENDP 3.22 它表示 ARRAY1 到 ARRAY3 所占存储单元的字节数 4.A.ADD AX,BX B.ADD DL,BX SI C.ADD AH,OBEH D.ADD SI+0200H,AX E.ADD 0860H,2EA0H 四、程序分析题(每小题 5 分,共 20 分)1.比较两个 16 位有符号数,当(CON1)=(CON2)时转 GREAT 处理,否则转 LESS 处理。2.判断 AL 中的内容,若 AL=0,转 L0 处理;若 AL=1,转 L1 处理;若 AL=2,转 L2 处理;其它转结束(STOP)。3.求 220 之间偶数之和 AX=110(或 6EH)。4.把 DX、AX 中的双字左移四位。五、程序设计(每小题 10 分,共 30 分)1.MOV AH,00 MOV BX,AX MOV CL,02 SHL AX,CL MOV DX,AX MOV AX,BX MOV CL,03 SHL AX,CL ADD AX,AX ADD AX,DX 2.MOV CX,50 LEA SI,ELEMS LEA DI,ELEMS+99 REVERSE:MOV AL,SI XCHG AL,DI MOV SI,AL INC SI INC DI 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!LOOP REVERSE 3.A.十六进制数的 ASCII 码,09 对应 3039H(ASCII 码),AF 对应 41H45H(ASCII 码),此算法是:首先 ASCII 码与 3AH 比较,若小于 3AH,就是 09 的 ASCII 码,将它减去 30H,即得十六进制数 09;否则,要再减去 7(如 41H-37H=0AH),即可得 AF 的十六进制数。B.8AH LEA SI,ASCBUF;SIASCBUF 偏移地址 LEA DI,HEXBUF;DIHEXBUF 偏移地址 MOV CL,04;CL移位次数 4 MOV AL,SI;AL第一个 ASCII 码 CALL ASC_HEX;调用 ASCII 码转换一位十六进制数子程序 SHL AL,CL;转换后的十六进制一位数移入高位 MOV DI,AL;HEXBUF 单元转换十六进制数 MOV AL,SI+1;AL第二个 ASCII 码 CALL ASC-HEX;调用转换子程序 OR DI,AL;高位与低位组合成一字节十六进制数 HLT ASC_HEX PROC NEAR ;子程序名定义 CMP AL,3AH;ASCII 码与 3AH 比较 JC ASC1;小于,转 ASC1 SUB AL,7;大于,ASCII 码减 7 ASC1:SUB AL,30H;ASCII 码减 30H RET ;子程序返回指令 浙江省 2002 年 1 月高等教育自学考试 汇编语言程序设计试题 课程代码:02321 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题 1 分,共 10 分)1.CPU 发出的访问存储器的地址是(A )A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是(A )A.编译程序 B.汇编程序 C.解释程序 D.目标程序 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3.DEC BYTE PTRBX指令中的操作数的数据类型是(C )A.字 B.双字 C.字节 D.四字 4.在下列语句中,BUFFER 称为(B )BUFFER DB 01H,0AH A.符号 B.变量 C.助记符 D.标号 3.串操作指令中,目的操作数的段地址一定在(D )寄存器中 A.CS B.SS C.DS D.ES 5.串操作指令中,源串操作数的段地址一定在(C )寄存器中。A.CS B.SS C.DS D.ES 6.使计算机执行某种操作的命令是(B )A.伪指令 B.指令 C.标号 D.助记符 7.将数据 5618H 存放在存储单元中的伪指令是(B )A.DATA1 DW 1856H B.DATA1 DB 18H,56H C.DATA1 EQU 5618H D.DATA1 DB 18H,00H,56H,00H 8.若 AX=3500H,CX=56B8H,当 AND AX,CX 指令执行后,AX=(A )A.1400H B.77F8H C.0000H D.0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是(C )码。A.BCD 码 B.二进制码 C.ASCII 码 D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为(A )A.汇编语言 B.高级语言 C.机器语言 D.低级语言 二、填空题(每空 1 分,共 20 分)1.在 8086/8088 汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是_SCAS_。2.通常所说的计算机系统包括_硬件_和_软件_两大部分。3.8086/8088 存储器分四个段,这四个段的段名所对应的段寄存器分别是_CS_、_DS_、_ES _、_ SS_。4.现有 AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位 ZF、CF 的值。A.ADD AX,1200H;问 AX=_3200_H ZF=_0_ B.SUB AX,BX;问 AX=_0E00_H ZF=_0_ C.MOV AX,BX;问 AX=_0250_H CF=_不影响_ D.NEG WORD PTR1200H;问(31200H)=_0B0_H CF=_1_ 5.设 DS=2200H,BX=1000H,SI=0100H,偏移量 D=0A2B1H,试计算出下列各种寻址方式下的有效地址,填入括号中。A.使用 D 的直接寻址