收藏 分享(赏)

华中科技大学80X86汇编语言程序设计试卷.doc

上传人:精品资料 文档编号:10563526 上传时间:2019-11-29 格式:DOC 页数:15 大小:130.50KB
下载 相关 举报
华中科技大学80X86汇编语言程序设计试卷.doc_第1页
第1页 / 共15页
华中科技大学80X86汇编语言程序设计试卷.doc_第2页
第2页 / 共15页
华中科技大学80X86汇编语言程序设计试卷.doc_第3页
第3页 / 共15页
华中科技大学80X86汇编语言程序设计试卷.doc_第4页
第4页 / 共15页
华中科技大学80X86汇编语言程序设计试卷.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1汇编语言程序设计网络学院模拟试卷一 2004.4班级_ 姓名_ 学号_ 成绩_一、改错题(10 分,每题 1 分,在错误处划线,线下写上正确答案)1. SHR BH, 8 2. ADD BX, 15 3. LEA POINT, BUF 4. IN DX, 2005. PUSH DH 6. MUL 25 7. XLAT BX, TAB 8. REPNZ MOVSW9. MOV AX, 2SIDI 10. MOV BX, SI二、单选题(20 分,每题 1 分)1MOV 指令的特点是_。A影响 DF B影响 SF C影响 CF D不影响标志位2使用寄存器间接寻址方式访问堆栈中某变量时,要选用_寄

2、存器。ABX BBP CSI DSP38086 标志寄存器中的三个控制标志是_。A IF、PF、SF BDF、OF、CF CDF 、IF、TF DTF、AF、IF4若有符号数运算的结果溢出,则置_为 1。AOF BCF CSF DIF5若某存贮器操作数的偏移地址在 SI 中,访问该操作数应采用_寻址方式。A立即 B寄存器 C寄存器问址 D直接6串操作指令中,目的串的逻辑地址应为_。ADS:SI BDS:DI CES:DI DES:SI7不在本模块定义而在本模块中引用的符号称_符号。A公共 B局部 C自定义 D外部8若(CL)= 4, (AX)=0FF0FH,执行语句“ROR AX, CL”后

3、, (AX)=_。A0FFFFH B0FFF0H C0F0FFH D0FFFH9已知 AL 中存放着一个压缩 BCD 码,为实现 AL 减 1 操作,应选用_指令序列。ADEC AL BSBB AL,0 CSUB AL,1 DSUB AL,1AAS DAS AAS DAS10要将 BL 中的 8 位数据送到 1234H 端口号的外部设备中去,应选用_指令序列。AOUT 1234H, BL BMOV DX,1234HOUT DX, BLCMOV AL, BL DMOV DX,1234HMOV DX,1234H MOV AL, BLOUT DX,AL OUT AL, DX11已知 AX,BX 中均

4、为有符号数据,当进行字除法时,应采用_指令序列。AXOR DX,DX BCBW CIDIV BX DCWDDIV BX IDIV BX IDIV BX212要将 DX 的内容送入堆栈中从当前栈顶起第 10 个字中,应使用 _语句。AMOV 18SP,DX BMOV 18BP,DXCMOV BP,SP DPUSH 18DXMOV 18BP,DX13要将 CL 中 8 位有符号数送入 SI 中去,应采用_。AMOV SI, CL BMOV BYTE PTR SI, CLCMOV CH,O DMOV AL,CLMOV SI, CX CBWMOV SI, AX148086 指令系统中的 PUSH 操作

5、,会对 SP 自动进行_操作。A减 1 B加 2 C减 2 D加 115下列指令执行后,对源、目的操作数均无影响的指令是_。AXCHG AX,BX BCMP AX,BXCSBB AX,BX DMOV AX,BX16用 REPE SCASB 指令对某字符串进行扫描,若当扫描结束时 CX0,则表示_。A在字符串中有一个与( AL)不同的字符B在字符串中找到了第 1 个与( AL)不同的字符C在字符串中有一个与(AL)相同的字符D在字符串中找到了第 1 个与( AL)相同的字符17条件转移指令 JNLE 的转移条件是_。ASF OF= 0,且 ZF= 0 BSF OF= 1,且 ZF= 0CSF O

6、F= 0,且 ZF= 1 DSF OF= 1,且 ZF= 118表示宏定义结束的伪指令是_。AENDM BENDS CENDP DEND19设(SS)= 448AH, (SP)= 450H ,执行 后,当前栈顶的物理地址=_。PUSHFAXA44CE6H B44CECH C44CF4H D44CF2H20下列数据定义伪指令中,_是错误的。ADB 12H BDW 1234H CDB ABCD DDW ABCD 三、填空题(10 分,每题 1 分)1要清除 AX 中的 D1511 位,需采用_AND 0FFFH_指令来实现。2已知(AX)= 789AH,问执行指令 CBW 后, (AX)=_FF9

7、AH_ 。3使用 DOS 中 2 号功能调用时,需先将_要显示的字符的 ASCII 码_送入 DL 中。4在 MOV AX, 5BX DI中,源操作数采用是_相对基址加变址_寻址方式。5已知在 DATA 数据段中已定义有变量 DUF,AA 等,问与 中划线语句等AX DS,MOVT效的指令是_。6与 MOV AX, OFFSET BUF 等效的 LEA 指令是_LEA AX,BUF_。7与 JNL 指令等同的指令操作符是 _JNB_。8中断类型号为 25H 的中断服务程序的中断矢量存放在内存 94H _96H 单元中。9主、子程序间参递参数的常用三种方式是_寄存器传递_、约定内存传递_和_堆栈

8、传递_法。10要对 DX 中的内容求绝对值,在横线上应填入何指令。 _AND DX, 7FFFH_3TEST BX,80HJNE TJMP NTT:NT:DATA. .SSSPAND DX, DXJNS L1_L1:四、作图及填充题(10 分)已知数据段定义如下:DATA SEGMENTC1 DB 0AH , 2 DUP ( 12 , 1), 7C2 DW 0A ,7C3 EQU $ C2ORG 20C4 DW C2+2DATA ENDS1画出数据在主存中的分配图(细化到字节) (5 分)2在划线处填上执行结果。 MOV AX, C2-3 ;(AX)= _ MOV DX, C2+2 ;(DX)

9、= _ MOV BL, C1+5 ;(BL)= _ MOV BX, OFFSET C1+3 ;(BX )= _ MOV CL, C3-4 ;(CL)= _五、程序分析题(每小题 3 分,共 24 分)1已知 BX=0F0FH,请判别右边程序段执行后,程序转向_执行。 2设 A 变量的偏移地址为 100A DW 5665H, 1234HLEA SI, A 左边程序段的二条指令执行后 (S I) =_LDS BX, A (BX)= _3如果在执行以下程序段前堆栈为空栈,且程序其余处也未用堆栈操作指令。要求: 画出执行完时堆栈变化示意图CALL PRO1B1: B2: PRO1 PROCPUSH C

10、XPUSH BX4POP BX 从子程序能返回到主程序 B1 处吗?为什么?RET _PRO1 ENDP _4已知 DS 和 ES 指向同一个段,且当前数据段偏离 0000H00FFH 的存贮单元中依次存放的内容为 00FFH,请回答下列程序段执行后 0000H0009H 单元中的内容为: _。MOV SI, 0000HMOV DI, 0001HMOV CX, 10CLDREP MOVSW5 STR1 DB COMPUTERNDPASCAXZ SZM DB E MOV AL, SZMLEA DI, STR1 问左边程序段执行到 NEXT 处时,MOV CX, 17 (CX)=_CLD (ZF)

11、=_REPNE SCASBNEXT: 6已知:AX=0D800H, DX=0003HMOV CX, 2L: SHL AX, 1 问左边程序段执行后RCL DX, 1 (AX )=_LOOP L (DX )=_7程序段的功能是将数组的最大数送 AL,请在各空白处填上一条合适的指令。AA DB 3,7,32,10,100, N EQU $ AAMOV CX, NMOV DI, OFFSET AAMOV AL, DIBB: INC DI_JAE CCMOV AL, DICC: _。8 A DW ?B DW ?MOV AX, AMOV BX, BXOR AX, BX左边程序段为判 A、B 两字变量是否

12、同为正数。是,置 AX 为 0,否则,置 AX 为非零。请在各空白处填上一条合适的条件转移指令。(两处不能用同一条条件转移指令。 )5_TEST BX, 8000H_MOV AX, 0NEXT: 9读下面程序,回答下列问题:当输入为:ABCD 时,输出什么?_。在程序中的宏指令的;后,写出其宏扩展的形式。当输入字符串为所述,则(BUF1+1)=_。若漏写了一条 DEC SI 指令,程序结束后又显示什么?_。六、设计程序或程序段(26 分)1设计将当前数据段偏移地址 1000H 至 3000H 的字存贮单元中全设置为1 的程序段。 (用二种不同方法) (4 分)RW MACRO A,BMOV A

13、H,ALEA DX,BINT 21HENDMDATA SEGMENTBUF1 DB 30, ?, 30 DUP (0)BUF2 DB PLEASE INPUT: BUF3 DB 0AH, 0DH, $ DATA ENDSCODE SEGMENTASSUME CS: CODE, DS: DATESTART: MOV AX, DATEMOV DS, AXRW 9, BUF2;RW 10, BUF1;RW 9, BUF3;MOV CL, BUF1+1MOV CH, 0MOV SI, CXMOV AH, 2LOPA: MOV DL, BUF1+1 SIINT 21HDEC SILOOP LOPAMOV

14、 AH, 4CHINT 21HCODE ENDSEND START62设计求某无符号字节变量 A 的 9 倍的程序段(结果不超过一无符号字节数的范围) 。 (用二种不同方法) (4 分)3用二种不同的方法设计将 DI 的高 8 位与 DI 的低 8 位互换的程序段。 (用二种方法) (4 分)4编写从键盘输入一串字符,从中找出字母 A 出现的个数,并将此数在屏幕下一行上用十进制数形式显示出来的程序。要求: 结构完整。 (3 分) 回车换行用宏指令。 (2 分) 将 AX 中 16 位无符号二进制数十进制数并在屏幕显示可调用已有的子程序 PROS。 (2 分) 画出流程图。 (2 分) (或子模

15、块 PROS) 程序正确。 (5 分)7汇编语言程序设计网络学院模拟试卷二 2004.4班级_ 姓名_ 学号_ 成绩_一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题中的括号内。每小题 1 分,共 10 分)1CPU 发出的访问存储器的地址是( ) 。A物理地址 B偏移地址 C逻辑地址 D段地址2将高级语言的程序翻译成机器码程序的实用程序是( ) 。A编译程序 B汇编程序 C解释程序 D目标程序3DEC BYTE PTR BX 指令中的操作数据类型是( ) 。A字 B双字 C字节 D字符4在下列语句中,BUFFER 称为( ) 。A符号 B变量 C助记符 D

16、标号5串操作指令中,源串操作数的段地址一定在( )寄存器中。ACS BSS CDS DES6使计算机执行某种基本操作的命令是( ) 。A伪指令 B指令 C标号 D助符7将数据 5618H 存放在存储单元中的伪指令是( ) 。ADATA1 DW 1856H BDATA1 DB 18H,56HCDATA1 EQU 5618H DDATA1 DB 18H,00H,56H ,00H8若 AX=3500H,CX=56B8H,当 AND AX,CX 指令执行后,AX=( ) 。A1400H B77F8H C0000H D0FF9计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微

17、机中普遍采用的是( ) 。ABCD 码 B二进制码 CASCII 码 D十六进制码10用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( ) 。A汇编语言 B高级语言 C机器语言 D低级语言二、填空题(每空 1 分,共 20 分)81在 8086/8088 汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是_SCASB,SACSW,SCASD_。2通常所说的计算机系统包括_硬件_和_软件_两大部分。38086/8088 存储器分四个段,这四个段的段名所对应的段寄存器分别是_DS_、_CS_、_SS_、_ES_ 。4现有 AX=2000H,BX=1200H,

18、DS=3000H,DI=0002H, (31200H)=50H, (3120H )=02H, ( 31202H)=40H ,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位 ZF、CF 的值。AADD AX,1200H ;问 AX=_0_H ZF=_1_。BSUB AX,BX ;问 AX=_EE00_H ZF=_0_。CMOV AX,BX ;问 AX=_50H_H CF=_1_。DNEG WORD PTR 1200H;问(31200H)=_EE00_H CF=_1_,5设 DS=2200H,BX=1000H,SI=0100H ,偏移量 D=0A2B1H,试计算出下列各种寻

19、址方式下的有效地址,并填入括号中。A使用 D 的直接寻址( 0A2B1H )B使用 BX 的寄存器间接寻址( 1000H )C使用 BX 和 D 的寄存器相对寻址( B2B1H )D使用 BX、SI 和 D 的相对基址变址寻址( B3B1H )E使用 BX、SI 的基址变址寻址( 1100H )三、简答题(共 20 分)1程序在数据段中定义的数组如下:(4 分)ARRAY DB YES ISDB 20DB DO NOT请指出下列指令是否正确?若不正确,错在哪里?A MOV BX, OFFSET ARRAYMOV AX, BX+8B MOV AX, ARRAYC MOV BX, 2MOV SI,

20、 3MOV AX, ARRAY BXSID MOV BX, 2 29MOV SI, 3MOV AX, OFFSET ARRAY BXSIINC AX2如 TABLE 为数据段中 0100 单元的符号名,其中存放的内容为 0FF00H,试问以下两条指令有什么区别?指令执行后,AX 寄存器的内容是什么?( 3 分)MOV AX,TABLEMOV AX,OFFSET TABLE3对于下面的数据定义,三条 MOV 指令分别汇编成什么?(3 分)TAB1 DW 10 DUP(? )TAB2 DB 10 DUP(?)TAB3 DB 1234MOV AX,LENGTH TAB1MOV BL, LENGTH

21、TAB2MOV CL, LENGTH TAB34子程序的说明文件中应包括哪几方面的内容?(5 分)5分别指出下列指令中源操作数的寻址方式:(5 分)AMOV SI, 100 BMOV CX, DATA SICMOV SI,AX DADD AX, BXDI EPUSHF四、程序分析(每小题 5 分,共 20 分)1下列程序段完成什么工作?DAT1 DB 30 DUP(? )DAT2 DB 10 DUP(? )MOV CX, 10MOV BX, 20MOV SI, 0MOV DI, 0NEXT: MOV AL, DAT1 BXSIMOV DAT2DI, ALINC SIINC DILOOP NEX

22、T102执行下列指令后,AX 寄存器中的内容是什么?START DW 10H,20H,30H,40H ,50HEE1 DW 3MOV BX,OFFSET STARTADD BX,EE1MOV AX,BX3试分析下面程序段的功能是什么?CMP AL, AJC OTHERCMP AL, Z+1JNC OTHERJMP LETTEROTHER:LETTER:4下面程序段执行完以后,AL 的内容是什么?MOV BX,00FFHAND BX,0FFFHOR BX,0F0FHXOR BX,00FFH五、程序设计(每小题 10 分,共 30 分)1试编写出把 DX、AX 中的双字右移四位的程序段。2定义一个

23、数据区,它包含有 23H,24H ,25H 和 26H 四个字节数据,把这个数据区复制 20次,并显示出复制结果。3内存自 BUF 单元开始的缓冲区连续存放着 100 个学生的英文分数,编程序统计其中90100,6089,60 以下者各有多少人?并把结果连续存放到自 RESUT 开始的单元中。(要求画出程序流程图,各段定义完整)汇编语言程序设计网络学院模拟试卷三 2004.4班级_ 姓名_ 学号_ 成绩_11一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题中的括号内。每小题 1 分,共 10 分)1把若干个模块连接起来成为可执行文件的系统程序是( ) 。A汇

24、编程序 B连接程序 C机器语言程序 D源代码程序2使汇编程序执行某种操作的命令是( ) 。A变量 B指令 C伪指令 D宏指令3串操作指令中,目的操作数的段地址一定在( )寄存器中。ACS BSS CDS DES4在下列语句中,AGAIN 称为( ) 。AGAIN: INC SIA符号 B助记符 C标号 D变量5MOV BH, 1000SI,该指令中源操作数采用的寻址方式是( ) 。A立即 B直接 C寄存器相对 D寄存器间接6OR AL, AL 是( )操作指令。A异或 B加法 C右移 D逻辑或7DOS 系统功能调用中,显示单个字符的系统调用号是( )H。A01H B02H C08H D09H8

25、使计算机执行某种操作的命令是( ) 。A宏指令 B指令 C伪指令 D语句9换码指令的助记符是( ) 。AXCHG BLEAS CXLAT DMOV10计算机能直接识别并执行的语言是( ) 。A汇编语言 B机器语言 C高级语言 D低级语言二、填空题(每空 1 分,共 20 分)1假设 BL=0C5H,CL=2 ,CF=1,确定下列各条指令独立执行后,BL 和 CF 中的值,并填入括号中。ASHR BL,1 ; BL=( 53H ) CF=( 0 )BSAR BL,CL ; BL=( 18H ) CF=( 1 )CROR BL,1 ; BL=( 9H ) CF=( 0 )DRCL BL,CL ;

26、BL=( 3H ) CF=( 0 )2现有数据定义伪指令如下,写出对应的数据在存储单元中的存放形式。 BUF1 DB 01,52HBUF2 DW 3 DUP(? ,0)BUF3 DW 2 DUP(0,2 DUP(1,2) ,3)DUF1 BUF2 BUF3123计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是_ASCII_码,称为美国_码。48086/8088CUP 中,有二个变址寄存器,分别是_SI_ 和_DI_,二个指针寄存器,分别是_源变址寄存器_和_目的变址寄存器_。三、简答题(每小题 5 分,共 20 分)1请指出下列指令错误原因: A

27、OR AX, CXB ADD SI, BXDIC JMP BYTE PTR LOOPSD SAR AX, 4E RCL DX2A下面两个语句有何区别?X1 EQU 1000HX2 = 1000HB下面的程序段有错吗?若有,请指出错误。CRAY PROCPUSH AXADD AX, BXRETCRAY ENDP3假设程序中的数据定义如下:ARRAY1 DW ?ARRAY2 DB 16 DUP(? )ARRAY3 DD ?PLENTH EQU $ARRAY1问 PLENTH 的值为多少?它表示什么意义?4试根据以下要求,分别写出相应的汇编语言指令。A把 AX 寄存器和 BX 寄存器的内容相加,结果

28、存入 AX 中。B用 BX 和 SI 的基址变址寻址方式,把存储器中的一个字节与 DL 的内容相加,并把结13果送回 DL 中。C把数 0BEH 与 AH 内容相加,结果送回 AH 中。D用 SI 和位移量 0200H 的寄存器相对寻址方式把存储器中的一个字与 AX 相加,并把结果送回存储单元中。E用位移量 0860H 的直接寻址方式把存储器中一个字与数 2EA0H 相加,结果回送存储器中。四、程序分析(每小题 5 分,共 20 分)1试分析下面程序段完成什么功能?CON1 DW HCON2 DW HMOV AX, CON1MOV BX, CON2CMP AX, BXJGE GREATLESS

29、: GREAT:2试分析下面程序段完成什么功能?OR AL, ALJZ L0CMP AL, 1JZ L1CMP AL, 2JZ L2JMP STOPL0: L1: L2: STOP: HLT3试问下面的程序段完成的功能是什么?程序执行后,AX 的内容是什么?XOR AX,AXMOV BX,2MOV CX,10L: ADD AX,BXADD BX,2LOOP LHLT4试分析下面的程序段完成什么功能?14MOV CL, 04SHL DX,CLMOV BL, AHSHR AX,CLSHR BL, CLOR DL, BL五、程序设计(每小题 10 分,共 30 分)1试编写使 AL 寄存器中的无符号

30、数乘 20 的程序段。2编写程序将 ELEMS 中的 100 个字节数据的位置颠倒过来(即第一个字节和第 100 个字节的内容交换,第二个字节和 99 个字节的内容交换) 。3仔细阅读下列程序段,它是二个 ASCII 码转换为一字节十六进制数的子程序,请回答下列问题:A说明一个 ASCII 码字符转换为一位十六进制数的算法。B程序执行结束后,HEXUF 字节单元中的内容是什么?C对程序进行注释,说明指令执行的工作。 ASCBUF DB 38H,41HHEXBUF DB ?LEA SI, ASCBUFLEA DI, HEXBUFMOV CL, 4MOV AL, SICALL ASCHEXSHL AL, CLMOV DI, ALMOV AL, SI+1CALL ASCHEXOR DI, ALHLTASC_HEX PROC NEARCMP AL,3AHJC ASC1SUB AL,7ASC1: SUB AL,30HRETASC_HEX ENDP5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报