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

上传人:豆**** 文档编号:17510176 上传时间:2022-05-24 格式:DOC 页数:14 大小:192.50KB
返回 下载 相关 举报
华中科技大学+80X86汇编语言程序设计试卷.doc_第1页
第1页 / 共14页
华中科技大学+80X86汇编语言程序设计试卷.doc_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《华中科技大学+80X86汇编语言程序设计试卷.doc》由会员分享,可在线阅读,更多相关《华中科技大学+80X86汇编语言程序设计试卷.doc(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流华中科技大学+80X86汇编语言程序设计试卷.精品文档. 汇编语言程序设计网络学院模拟试卷一 2004.4班级_ 姓名_ 学号_ 成绩_一、改错题(10分,每题1分,在错误处划线,线下写上正确答案)1. SHRBH, 82. ADDBX, 153. LEAPOINT, BUF4. IN DX, 2005. PUSH DH6. MUL257. XLATBX, TAB 8. REPNZ MOVSW9. MOVAX, 2SIDI 10. MOVBX, SI二、单选题(20分,每题1分)1MOV指令的特点是_。A影响DFB影响SFC影响CFD不影响标

2、志位2使用寄存器间接寻址方式访问堆栈中某变量时,要选用_寄存器。ABXBBPCSIDSP38086标志寄存器中的三个控制标志是_。AIF、PF、SFBDF、OF、CFCDF、IF、TFDTF、AF、IF4若有符号数运算的结果溢出,则置_为1。AOFBCFCSFDIF5若某存贮器操作数的偏移地址在SI中,访问该操作数应采用_寻址方式。A立即B寄存器C寄存器问址D直接6串操作指令中,目的串的逻辑地址应为_。ADS:SIBDS:DICES:DIDES:SI7不在本模块定义而在本模块中引用的符号称_符号。A公共B局部C自定义D外部8若(CL)= 4,(AX)=0FF0FH,执行语句“ROR AX, C

3、L”后 ,(AX)=_。A0FFFFHB0FFF0HC0F0FFHD0FFFH9已知AL中存放着一个压缩BCD码,为实现AL减1操作,应选用_指令序列。ADEC ALBSBB AL,0CSUB AL,1DSUB AL,1 AAS DAS AAS DAS10要将BL中的8位数据送到1234H端口号的外部设备中去,应选用_指令序列。AOUT 1234H, BLBMOV DX,1234H OUT DX, BL CMOV AL, BLDMOV DX,1234H MOV DX,1234H MOV AL, BL OUT DX,AL OUT AL, DX11已知AX,BX中均为有符号数据,当进行字除法时,应

4、采用_指令序列。AXOR DX,DXBCBWCIDIV BXDCWD DIV BX IDIV BX IDIV BX12要将DX的内容送入堆栈中从当前栈顶起第10个字中,应使用_语句。AMOV 18SP,DXBMOV 18BP,DXCMOV BP,SPDPUSH 18DX MOV 18BP,DX13要将CL中8位有符号数送入SI中去,应采用_。AMOV SI, CLBMOV BYTE PTR SI, CLCMOV CH,ODMOV AL,CL MOV SI, CX CBW MOV SI, AX148086指令系统中的PUSH操作,会对SP自动进行_操作。A减1B加2C减2D加115下列指令执行后

5、,对源、目的操作数均无影响的指令是_。AXCHG AX,BXBCMP AX,BXCSBB AX,BXDMOV AX,BX16用REPE SCASB指令对某字符串进行扫描,若当扫描结束时CX0,则表示_。A在字符串中有一个与(AL)不同的字符B在字符串中找到了第1个与(AL)不同的字符C在字符串中有一个与(AL)相同的字符D在字符串中找到了第1个与(AL)相同的字符17条件转移指令JNLE的转移条件是_。ASF OF= 0,且ZF= 0BSF OF= 1,且ZF= 0CSF OF= 0,且ZF= 1DSF OF= 1,且ZF= 118表示宏定义结束的伪指令是_。AENDMBENDSCENDPDE

6、ND19设(SS)= 448AH,(SP)= 450H,执行后,当前栈顶的物理地址=_。A44CE6HB44CECHC44CF4HD44CF2H20下列数据定义伪指令中,_是错误的。ADB 12HBDW 1234HCDB ABCD DDW ABCD 三、填空题(10分,每题1分)1要清除AX中的D1511位,需采用_AND 0FFFH_指令来实现。2已知(AX)= 789AH,问执行指令CBW后,(AX)=_FF9AH_。3使用DOS中2号功能调用时,需先将_要显示的字符的ASCII码_送入DL中。4在MOV AX, 5BX DI中,源操作数采用是_相对基址加变址_寻址方式。5已知在DATA数

7、据段中已定义有变量DUF,AA等,问与中划线语句等效的指令是_。6与MOV AX, OFFSET BUF等效的LEA指令是_LEA AX,BUF_。7与JNL指令等同的指令操作符是_JNB_。8中断类型号为25H的中断服务程序的中断矢量存放在内存 94H _96H 单元中。9主、子程序间参递参数的常用三种方式是_寄存器传递_、约定内存传递_和_堆栈传递_法。10要对DX中的内容求绝对值,在横线上应填入何指令。_AND DX, 7FFFH_ANDDX, DXJNSL1_L1:DATA四、作图及填充题(10分)已知数据段定义如下:DATASEGMENTC1DB 0AH , 2 DUP ( 12 ,

8、 1), 7C2DW 0A ,7C3EQU $ C2ORG 20C4DW C2+2DATAENDS1画出数据在主存中的分配图(细化到字节)(5分)2在划线处填上执行结果。 MOVAX,C2-3;(AX)= _ MOVDX, C2+2;(DX)= _ MOVBL,C1+5;(BL)= _ MOVBX,OFFSETC1+3;(BX)= _ MOVCL,C3-4;(CL)= _五、程序分析题(每小题3分,共24分)1已知 BX=0F0FH, 请判别右边程序段执行 后,程序转向_执行。 2设A变量的偏移地址为100ADW5665H, 1234HLEASI, A左边程序段的二条指令执行后(S I) =_

9、LDSBX, A(BX)=_3如果在执行以下程序段前堆栈为空栈, . . .SSSP且程序其余处也未用堆栈操作指令。要求: 画出执行完时堆栈变化示意图 CALLPRO1B1: B2: PRO1 PROC PUSHCX PUSHBX POPBX 从子程序能返回到主程序B1处吗?为什么? RET _PRO1 ENDP _4已知DS和ES指向同一个段,且当前数据段偏离0000H00FFH的存贮单元中依次存放的内容为00FFH,请回答下列程序段执行后0000H0009H单元中的内容为: _。MOVSI, 0000HMOVDI, 0001HMOVCX, 10CLDREPMOVSW5 STR1DB COM

10、PUTERNDPASCAXZ SZMDB E MOV AL, SZMLEADI,STR1问左边程序段执行到NEXT处时,MOVCX, 17(CX)=_CLD(ZF)=_REPNESCASBNEXT:6已知:AX=0D800H, DX=0003HMOVCX, 2L:SHLAX, 1问左边程序段执行后RCLDX, 1 (AX)=_LOOPL (DX)=_7程序段的功能是将数组的最大数送AL,请在各空白处填上一条合适的指令。AADB3,7,32,10,100, NEQU$ AAMOVCX, NMOVDI, OFFSET AAMOVAL, DIBB:INCDI_JAECCMOVAL, DICC:_。8

11、 ADW ?左边程序段为判A、B两字变量是否同为正数。是,置AX为0,否则,置AX为非零。请在各空白处填上一条合适的条件转移指令。(两处不能用同一条条件转移指令。)BDW ?MOVAX, AMOVBX, BXORAX, BX_TESTBX, 8000H_MOVAX, 0NEXT:9读下面程序,回答下列问题:当输入为:ABCD 时,输出什么?_。在程序中的宏指令的;后,写出其宏扩展的形式。当输入字符串为所述,则(BUF1+1)=_。RWMACROA,BMOVAH,ALEADX,BINT21HENDMDATASEGMENTBUF1DB 30, ?, 30 DUP (0)BUF2DB PLEASE

12、INPUT: BUF3DB 0AH, 0DH, $ DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATESTART:MOV AX, DATEMOV DS,AXRW 9, BUF2;RW 10,BUF1;RW9, BUF3;MOVCL,BUF1+1MOVCH, 0MOVSI,CXMOVAH,2LOPA:MOVDL,BUF1+1 SIINT21HDECSILOOPLOPAMOVAH, 4CHINT21HCODEENDSENDSTART若漏写了一条DEC SI指令,程序结束后又显示什么?_。六、设计程序或程序段(26分)1设计将当前数据段偏移地址1000H至3000

13、H 的字存贮单元中全设置为1的程序段。(用二种不同方法) (4分)2设计求某无符号字节变量A的9倍的程序段(结果不超过一无符号字节数的范围)。(用二种不同方法) (4分)3用二种不同的方法设计将DI的高8位与DI的低8位互换的程序段。(用二种方法)(4分)4编写从键盘输入一串字符,从中找出字母A出现的个数,并将此数在屏幕下一行上用十进制数形式显示出来的程序。要求: 结构完整。(3分) 回车换行用宏指令。 (2分) 将AX中16位无符号二进制数十进制数并在屏幕显示可调用已有的子程序PROS。(2分) 画出流程图。(2分) (或子模块PROS) 程序正确。(5分)汇编语言程序设计网络学院模拟试卷二

14、 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标号5串操作指令中,源串操作数的段地址一定在( )寄存器中。 ACSBSSCDSDES6使计算机执行某种基本操

15、作的命令是( )。 A伪指令B指令C标号D助符7将数据5618H存放在存储单元中的伪指令是( )。 ADATA1 DW 1856HBDATA1 DB 18H,56H CDATA1 EQU 5618HDDATA1 DB 18H,00H,56H,00H8若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( )。 A1400HB77F8HC0000HD0FF9计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( )。 ABCD码B二进制码CASCII码D十六进制码10用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写

16、程序的语言称为( )。 A汇编语言B高级语言C机器语言D低级语言二、填空题(每空1分,共20分)1在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是_SCASB,SACSW,SCASD_。2通常所说的计算机系统包括_硬件_和_软件_两大部分。38086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是_DS_、_CS_、_SS_、_ES_。4现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(3120H)=02H,(31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出

17、标志位ZF、CF的值。 AADDAX,1200H;问AX=_0_H ZF=_1_。 BSUBAX,BX ;问AX=_EE00_H ZF=_0_。 CMOVAX,BX ;问AX=_50H_HCF=_1_。 DNEGWORD PTR 1200H;问(31200H)=_EE00_HCF=_1_,5设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,并填入括号中。 A使用D的直接寻址( 0A2B1H ) B使用BX的寄存器间接寻址( 1000H ) C使用BX和D的寄存器相对寻址( B2B1H ) D使用BX、SI和D的相对基址变址寻址

18、( B3B1H ) E使用BX、SI的基址变址寻址( 1100H )三、简答题(共20分)1程序在数据段中定义的数组如下:(4分)ARRAYDBYES ISDB 20DBDO NOT 请指出下列指令是否正确?若不正确,错在哪里?AMOVBX, OFFSET ARRAYMOVAX, BX+8BMOVAX, ARRAYCMOVBX, 2MOVSI, 3MOVAX, ARRAY BXSIDMOVBX, 22MOVSI, 3MOVAX, OFFSET ARRAY BXSIINCAX2如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄

19、存器的内容是什么?(3分)MOVAX,TABLEMOVAX,OFFSET TABLE3对于下面的数据定义,三条MOV指令分别汇编成什么?(3分)TAB1DW 10 DUP(?)TAB2DB 10 DUP(?)TAB3DB 1234MOVAX,LENGTH TAB1MOVBL,LENGTH TAB2MOVCL,LENGTHTAB34子程序的说明文件中应包括哪几方面的内容?(5分)5分别指出下列指令中源操作数的寻址方式:(5分)AMOVSI, 100BMOVCX, DATA SICMOVSI,AXDADDAX, BXDIEPUSHF四、程序分析(每小题5分,共20分)1下列程序段完成什么工作?DA

20、T1DB30DUP(?)DAT2DB10DUP(?)MOVCX,10MOVBX,20MOVSI,0MOVDI,0NEXT:MOVAL,DAT1 BXSIMOVDAT2DI,ALINCSIINCDILOOPNEXT2执行下列指令后,AX寄存器中的内容是什么?STARTDW 10H,20H,30H,40H,50HEE1DW 3MOVBX,OFFSET STARTADDBX,EE1MOVAX,BX3试分析下面程序段的功能是什么?CMPAL,AJCOTHERCMPAL,Z+1JNCOTHERJMPLETTEROTHER:LETTER:4下面程序段执行完以后,AL的内容是什么?MOVBX,00FFHAN

21、DBX,0FFFHORBX,0F0FHXORBX,00FFH五、程序设计(每小题10分,共30分)1试编写出把DX、AX中的双字右移四位的程序段。2定义一个数据区,它包含有23H,24H,25H和26H四个字节数据,把这个数据区复制20次,并显示出复制结果。3内存自BUF单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90100,6089,60以下者各有多少人?并把结果连续存放到自RESUT开始的单元中。(要求画出程序流程图,各段定义完整) 汇编语言程序设计网络学院模拟试卷三 2004.4班级_ 姓名_ 学号_ 成绩_一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,

22、并将正确答案的序号填在题中的括号内。每小题1分,共10分)1把若干个模块连接起来成为可执行文件的系统程序是( )。 A汇编程序B连接程序C机器语言程序D源代码程序2使汇编程序执行某种操作的命令是( )。 A变量B指令C伪指令D宏指令3串操作指令中,目的操作数的段地址一定在( )寄存器中。 ACSBSSCDSDES4在下列语句中,AGAIN称为( )。AGAIN:INC SI A符号B助记符C标号D变量5MOV BH, 1000SI,该指令中源操作数采用的寻址方式是( )。 A立即B直接C寄存器相对D寄存器间接6OR AL, AL是( )操作指令。 A异或B加法C右移D逻辑或7DOS系统功能调用

23、中,显示单个字符的系统调用号是( )H。 A01HB02H C08HD09H8使计算机执行某种操作的命令是( )。 A宏指令B指令C伪指令D语句9换码指令的助记符是( )。 AXCHGBLEASCXLATDMOV10计算机能直接识别并执行的语言是( )。 A汇编语言B机器语言C高级语言D低级语言二、填空题(每空1分,共20分)1假设BL=0C5H,CL=2,CF=1,确定下列各条指令独立执行后,BL和CF中的值,并填入括号中。ASHRBL,1;BL=( 53H )CF=( 0 )BSARBL,CL;BL=( 18H )CF=( 1 )CRORBL,1;BL=( 9H )CF=( 0 )DRCL

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

25、DSI, BXDICJMPBYTE PTR LOOPSDSARAX, 4ERCLDX2A下面两个语句有何区别?X1EQU1000HX2=1000HB下面的程序段有错吗?若有,请指出错误。CRAYPROCPUSHAXADDAX, BXRETCRAY ENDP3假设程序中的数据定义如下:ARRAY1DW ?ARRAY2DB 16 DUP(?)ARRAY3DD ?PLENTHEQU $ARRAY1问PLENTH的值为多少?它表示什么意义?4试根据以下要求,分别写出相应的汇编语言指令。A把AX寄存器和BX寄存器的内容相加,结果存入AX中。B用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内

26、容相加,并把结果送回DL中。C把数0BEH与AH内容相加,结果送回AH中。D用SI和位移量0200H的寄存器相对寻址方式把存储器中的一个字与AX相加,并把结果送回存储单元中。E用位移量0860H的直接寻址方式把存储器中一个字与数2EA0H相加,结果回送存储器中。四、程序分析(每小题5分,共20分)1试分析下面程序段完成什么功能?CON1DW HCON2DW HMOVAX, CON1MOVBX, CON2CMPAX, BXJGEGREATLESS: GREAT:2试分析下面程序段完成什么功能?OR AL,ALJZL0CMPAL, 1JZL1CMPAL, 2JZL2JMPSTOPL0:L1:L2:

27、STOP:HLT3试问下面的程序段完成的功能是什么?程序执行后,AX的内容是什么?XORAX,AXMOVBX,2MOVCX,10L:ADDAX,BXADDBX,2LOOPLHLT4试分析下面的程序段完成什么功能?MOVCL,04SHLDX,CLMOVBL,AHSHRAX,CLSHRBL,CLORDL,BL五、程序设计(每小题10分,共30分)1试编写使AL寄存器中的无符号数乘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_HEXENDP

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com