汇编语言程序设计习题集3635_第1页
汇编语言程序设计习题集3635_第2页
汇编语言程序设计习题集3635_第3页
汇编语言程序设计习题集3635_第4页
汇编语言程序设计习题集3635_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

第四章汇编语言程序设计习题集一、单项选择题1.用高级语言编写的程序()。A.只能在基本种计算机上运行B.无需经过编译或解释,即可被计算机直接执行C.具有通用性和可移植性D.几乎不占用内存空间2.一般地,我们将计算机指令的集合称为()。A.机器语言B.汇编语言C.模拟语言D.仿真语言3.我们通常所说的“裸机”指的是()。A.只装备有操作系统的计算机B.不带输入输出设备的计算机C.未装备任何软件的计算机D.计算机主机暴露在外4.计算机的软件系统一般分为()两大部分。A.系统软件和应用软件C.程序和数据B.操作系统和计算机语言D.DOS和Windows5.计算机系统软件中的汇编程序是一种()。A.汇编语言程序B.编辑程序C.翻译程序D.将高级语言转换成汇编程序的程序6.假设V1和V2是用DW定义的变,量下列指令中正确的是:()A.MOVV1,20HC.MOVAL,V1B.MOVV1,V2D.MOV2000H,V27.PC机所A.ASCII码8.8086CPU中断号为8的中断矢量存放在()。使用的B.扫描码标准键盘向主机发送的代码是()C.BCD码D.格雷码A.0FFFFH:0008HC.0000H:0020HB.0000H:0008HD.0020H:0000H9.已知变量VAR为字型,则TYPEVAR=()。A.1B.2C.3D.410.汇编语言源程序经MASM汇编后可直接生成的文件是()。A..LSTB..CRFC..EXED..OBJE..ASMF..MAP11.段定义语句以(B)语句结束。A.ENDB.ENDSC.ENDPD.ENDM12.若主程序段中数据段名为DATA,对数据段的初始化操作应为()。A.MOVAX,DATAB.MOVAX,DATAMOVES,AXMOVDS,AXC.PUSHDSD.MOVDS,DATA13..EXE文件产生在()之后。A.汇编B.编辑C.用软件转换D.连接14.定义双字变的量定义符是()。A.DWB.DQC.DDD.DT15.假设VAR为变,量指令MOVBX,OFFSETVAR的寻址方式是()。A.直接寻址B.间接寻址C.立即寻址D.存储器寻址16.执行下列指令:STR1DW‘AB’STR2DB16DUP(?)CONTEQU$-STR1MOVCX,CONTMOVAX,STR1

HLT后寄存器CL的值是()。A.12HB.0EHC.0FHD.10H()17.与MOVBX,OFFSETVAR指令完全等效的指令是。A.MOVBX,VARC.LESBX,VARB.LDSBX,VARD.LEABX,VAR18.在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。A.WORDB.PAGEC.BYTED.PARA19.BUFDW10HDUP(3DUP(2,10H),3,5)()上述语句汇编后,为变量BUF分配的存储单元字节数是。A.80HB.100HC.124D.192()20.在汇编语言程序的开发过程中使用宏功能的顺序是。A.宏定义,宏调用B.宏定义,宏展开C.宏定义,宏调用,宏展开D.宏定义,宏展开,宏调用21.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不()可省略的项是。A.名字项B.操作项C.操作数项D.注释项22.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。A.CMPB.SUBC.ANDD.MOV()23.为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是。A.INCCXJZMINUSB.SUBCX,OFFFFHJZMINUSC.ANDCX,OFFFFHJZMINUSD.XORCX,OFFFFHJZMINUS24.假设V1和V2是用DW定义的变量,下列指令中正确的是().A.MOVV1,20HC.MOVAL,V1B.MOVV1,V2D.MOV2000H,V2二.多项选择题(每题有多个正确答案,选出所有正确答案,多选.少选均不得分)1.变量定义的伪指令助记符有:()。A.DBB.DWC.DDD.DFE.DQF.DT2.主程序与子程序之间传递参数可通过()进行。A.堆栈B.存储器单元C.通用寄存器D.指令队列E.其他3.交换寄存器SI.DI的内容,正确的程序段是()。

A.PUSHSIPUSHDIB.PUSHSIPUSHDIPOPSIPOPDIPOPDIPOPSIC.MOVAX,SIMOVSI,AXMOVDI,AXD.MOVAX,SIMOVBX,DIXCHGBX,AX4.过程(子程序)调用的形式有()。A.段内直接B.段内间接C.段间直接D.段间间接三.填空题23.当要求段的首地址只能被16整除时,需选择的定位方式为___。2.程序段VAR1DB?VAR2DW20DUP(58H,2DUP(?))1.VAR3DB‘ABCD’...MOVAX,TYPEVAR1MOVBX,TYPEVAR2MOVCX,LENGTHVAR2MOVDX,SIZEVAR2MOVSI,LENGTHVAR3AX=,BX=,CX=,DX=,SI=。3.段定义伪指令语句用语句表示开始,以语句表示结束。4.ARRAYDW10DUP(5DUP(4DUP(20H,40H,60H)))语句执行后共占字节存储单元。5.汇编语句中,一个过程有NEAR和FAR两种属性。NEAR属性表示主程序和子程序,FAR属性表示主程序和子程序。6.DOS系统功能号应放在ah寄存器中。7.子程序又称过程,它可以由语句定义,由ret语句结束,属性可以是或。8.与指令MOVBX,OFFSETBUF功能相同的指令是。9.设有伪指令ADB01H,23H,则执行指令BDW2DUP(0)MOVAL,TYPEA后,(MOVBL,SIZEB后,(BL)=。10.根据下面的指令和伪指令序列,AX寄存器的内容。AL)=;TABDB1,2,3,4,5,6ENTRYEQU3MOVBX,OFFSETTABADDMOVBX,ENTRYAX,WORDPTR[BX]11.将下列文件类型填入空格:(1).obj(2).exe(3).crf(4).asm(5).lst(6).map编辑程序输出的文件有;连接程序输出的文件有。12.数据段中有以下定义:ARRAY1EQU16HARRAY2DW16H请指出下面两条指令的寻址方式:MOVAX,ARRAY1;寻址方式:MOVAX,ARRAY2;寻址地址:四、判断)(正确的在括号画“√”,错误的画“×”1.汇编语言程序语言必须由四部分组成。()2.汇编语言源程序中所使用的变量,必须在代码段中先定义,后引用。()3.在汇编语言中,一般伪指令语句放在代码段中()4.字表达式。()5.6.7.伪指令是指示性语句,不产生机器目标代码。逻辑操作符AND、OR、XOR或NOT,只能用于数符号定义语句不占内存单元,变量定义语句占内存单元。()汇编语言源程序中至少有一个代码段。()()8.伪指令BVAR:DB‘ABCD’,200DUP(?)是合法伪指令。()9.伪指令DAT1DB7,8,9,10与DAT1DW07H,08H,09H,0AH所预置的数据是一()10.8086CPU的中断向量表共占有1024个字(节00000H-003FFH),所以共有256个中样的。断。()五.程序分析题1.执行下面的程序段后,CX的内容是()DAT1DB12H,34H,56HN=$-DAT1MOVCX,N2.执行下面的程序段后,AX的内容是(),BX的内容是().M1DB12H,34HSI,OFFSETM1AX,0AL,[SI]BX,WORDPTR[SI]MOVMOVMOVMOV3.源程序如下:STRDB‘ABCDEF0123456789’MOVBX,OFFSETSTRMOVAL,65HPUSHAXANDAL,0FHXLATMOVDL,ALPOPAXADDAL,08HDAAMOVDH,ALCMPDH,32H执行上面程序段后,(DL)=(),(DH)=()。4.源程序如下:MOVAX,SEGTABLE;TABLE为表头MOVES,AXMOVDI,OFFSETTABLEMOVAL,‘0’MOVCX,100CLDREPNESCASB问:1)该段程序完成什么功能?()2)该段程序执行完毕之后,ZF和CX有几种可能的数值?各代表什么含义?()5.源程序如下:DATASEGMENTS9DB0,1,2,3,4,5,6,7,8,9DATAENDS┇LEASI,S9LEA,DI,S9+1MOVCX,5LOP:MOVAL,[SI]XCHGAL,[DI]MOV[SI],ALADDSI,2ADDDI,2LOOPLOP(上述程序段运行后,S9开始的10个字节存储单元内容是什么?)6.源程序如下:MOVAL,38HMOVBL,49HCALLSUBO

INCALDECCL┇SUBOPROCADDAL,BLMOVCL,ALDAARETSUBOENDP上述程序段运行后,AL=(7.源程序如下:DA3EQUWORDPTRDA4DA4DB0ABH,89H┇),CL=()SHRDA3,1MOVDX,DA3SHLDA4,1MOVCX,DA3上述程序段运行后,CX=(),DX=()8.下面程序是将10个8位无符号数按递减次序排序,请将程序填写完整。DATASEGMENTARRAYDB05H,78H,FFH,7BH,00HDB8CH,20H,A0H,F0H,60HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAINPROCFARSTART:PUSHDSXORAX,AXPUSHAXMOVAX,DATAMOVDS,AXAB1:MOVSI,OFFSETARRAYMOVBL,0MOVCX,10

()AGAIN:MOVAL,[SI]INCSICMPAL,[SI]()CD1MOVAH,[SI]MOV[SI],ALDECSIMOV[SI],AHINCSIMOVBX,1CD1:LOOPAGAINDECBL()AB1RETMAINENDPCODEENDSENDSTART9.下面的程序段是统计AX中16位二进制数1的个数,并将结果放在CX中,填空使程序完成预定的功能。XORL1:ANDJZCX,CXAX,AXSTOPSHLAX,1()INCL2:JMPSTOP:HLTCXL110.下面的程序段是求8个无符号数累加和,最后结果用双字表示,存在YAH和YAL单元,填空使程序完成预定的功能。DATATABLEYAHSEGMENTDW34,789,67,78,345,89,78,60DWDW00YALDATACODEENDSSEGMENTASSUMECS:CODE,DS:DATASTART:MOVMOVAX,DATADS,AXMOVDX,0XORAX,AX;清AXMOVMOVBX,OFFSETTABLECX,8CLCLP:ADD((AX,[BX]))DON:INCINCBXBXLOOPLPMOVYAL,AX;存和MOVMOVINTYAH,DXAH,4CH21HCODEENDSENDSTART11.两个非组合BCD数(BY0,BY1)进行十进制减法,并将差求绝对值后保存在SD单元。MOVCMPJNCAL,BY0AL,BY1L1MOVMOVMOVAH,BY1BY1,ALAL,AHL1:SUBAL,BY1()MOVSD,AL12.附加段有一块长50个字的数据区,首址为DEST,现将数据区初始化为0FFFFH。LEADI,DESTMOVCX,50*2CLDMOVAL,0FFH()13.下面是某数据段定义,在表中标出各字节单元的值,并回答问题。DATAPASEGMENTDB1PBDW5PPEQU2PCDBPPDUP(0)DATAENDS偏移值+0+1+2+3+401H05H00H00H00HTYPESIZESIZEPA=()PA=()PC=()TYPESIZEPB=()PB=()14.源程序如下:MOVCL,4MOVAX,[2000H]SHLAL,CLSHRAX,CLMOV[2000H],AX试问:若程序执行前,数据段内(2000H)=09H,(2001H)=03H,则执行后有(2000H)=_____,(2001H)=______。本程序段的功能_________________________。15.阅读程序,并完成以下要求(10分)MOVCL,04HMOVDX,1234HMOVAX,5678HSHLDX,CLMOVBL,AHSHLSHRORAX,CLBL,CLDL,BLA)(DX)=,(AX)=B)由上面的结果可以看出该程序的功能是:16.源程序如下:(6分)MOVCX,9MOVAL,01HMOVSI,1000HNEXT:MOV[SI],ALINCSISHLAL,1LOOPNEXT试问:执行本程序后有:AL=_____;SI=______;CX=______;本程序的功能是______________________________。17.设某数据段:DATASEGMENTORG20HNUM1=8NUM2=NUM1+10HDA1DB'COMPUTER'DB0AH,0DHCOUNTEQU$-DA1DA2DW'CO','MP','UT','ER'DATAENDS试回答:(1)DA1的偏移地址是:_________________(2)COUNT的值是(3)DA2+5字节单元的内容是18.从BUF开始的11个单元中存放着11个整数,找出这R中。__________________________________________________11个数中正数并且是偶数的个数存入DATASEGMENTBUFDB–2,5,-3,6,100,0,-20,-9,8,-110,21N=RDW?DATAENDSCODESEGMENTBEGIN:MOVAX,DATALEABX,BUFMOVCX,NLOPA:CMP[BX],BYTEPTR0TEST[BX],BYTEPTR1INCAXNEXT:INCBXDECCXMOVR,AXMOVAH,4CHINT21HCODEENDSEND19.对于下面两个数据段,偏移地址为10H和11H的两个字节中的数据是一样的吗?为什么?DTSEGSEGMENT||DTSEGSEGMENTORG10HORG10HDATA1DB72H|DATA1DW7204HDB04HDTSEGENDS|DTSEGENDS|()。20.内存单元初始化内容为:(2000H:2A00H)--(2000H:2A02H)分别为0FH、0EH、0DH,(2000H:2A10H)--(2000H:2A12H)分别为09H、08、07H。执行下列程序后,请填写存储单元的内容:MOVAX,2000HMOVDS,AXMOVES,AXMOVSI,2A10HMOVDI,2A00HCLDMOVCX,3L:MOVAL,[DI]MOVSBDECSIMOV[SI],ALINCSILOOPLHLT(1)2000H:2A00H=。(2)2000H:2A11H=。(3)2000H:2A12H=。六.简答题1.有变量定义的伪指令如下:NUMSDW18DUP(4DUP(5),23)VARDB'HOWAREYOU!',0DH,0AH试问:NUMS、VAR变量各分配了多少存储字节?1、在指令系统中,段内、段间返回均为RET指令。试回答:(1)执行段内返回RET指令时,执行的操作是?(2)执行段间返回RET指令时,执行的操作是?ARYDW10DUP(?)3.┇MOVAL,TYPEARY.;MOVBL,LENGTHARY;MOVCL,SIZEARY;上述MOV指令序列执行后的结果是什么?4.已知某数据段定义如下:DSEGSEGMENTORG00HDAT1DW4,26ORG06HDAT2DW5678H‘AB’DBDSEGENDS要求:用内存分配示意图,说明该数据段的存储器分配情况。5.读程序,并回答问题DATASEGMENTTABLEDB0,1,4,9,16,25,36,49,64,81,100XADDB3YADDB?DATAENDSSTACKSEGMENTSTACK'STACK'STADB16DUP('STACK')STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMAINPROCFARSTART:PUSHDSMOVPUSHAX,0AXMOVMOVAX,DATADS,AXMOVMOVBX,OFFSETTABLEAH,0MOVAL,XADADDBX,AXMOVAL,[BX]MOVADDMOVYAD,ALAL,30HDL,ALMOVAH,02HINT21HRETMAINENDPCODEENDSENDSTART(1).在存储器中分别为table、xad、yad、sta分配多少字节单元?(2).程序运行后,xad、yad,单元中的值为多少?屏幕上显示的字符是什么?。6.下面的程序是将表中元素按值的大小升序排序。要求填空(1)和(2)使程序按预定目标运行;(3).程序运行后,显示结果为什么?CODESEGMENTASSUMECS:CODESTAR:JMPSSTTASCIIDB'GFBACXYD6291','$'COUNT=$-ASCII-2SSTT:MOVAX,CSMOVMOVMOVXORDS,AXDL,COUNTDH,1;设交换标志=1BX,BXL0:ORDH,DH

JZMOVMOVSUBL3DH,0CX,COUNTCX,BXMOVL1:MOVINCSI,OFFSETASCIIAL,[SI]SICMPAL,[SI]JBEL2;小于等于转XCHGAL,[SI](1)MOV[DI-1],ALMOVDH,1L2:LOOP(2)L1INCDECBXDLJNZL0L3:MOVMOVDX,OFFSETASCIIAH,9INTMOVINT21H21HAH,4CH;返回DOSCODEENDPENDSTAR7.阅读下面的程序.MODELSMALL.386,回答问题.STACK.DATASTRINGDB'AssembleLanguageispowerful'N=$-STRINGNEWSTRDBNDUP(0).CODE.STARTUPMOVCX,NLEASI,STRINGLEADI,NEWSTR.REPEATMOVAL,[SI].IF(AL>='a')&&(AL<='z')SUBAL,32.ENDIFMOV[DI],ALINCSIINCDI.UNTILCXZ.EXITEND【问题】写出程序功能,程序执行后,从NEWSTR开始的N个字节中的内容是什么?

七.编程题1.将AL中的数,高4位保持不变,低4位置零。2.从1000H单元开始,连续存放100个字符串,要查出第一个$符号,编程序将第一个$字符地址送BX中。3.从地址2100H单元开始,连续存放8个字节的无符号数,现在用BX作地址指针,编程序求和,并将结果存在210AH单元中。4.将连续存放在2000H单元开始的两个16位无符号数相乘,结果存放在两个数之后。5.检查AX中的第2位(bite2),为零时,把DH置0;为1时,把DH置1。6.假设某班80个学生某门课的成绩存放在数据区BUF开始的字节单元中,请编程统计小于60分的人数,6080分的人数,大于80分的人数,并将统计结果分别存于S1、S2、S

温馨提示

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

评论

0/150

提交评论