汇编语言试卷1_第1页
汇编语言试卷1_第2页
汇编语言试卷1_第3页
汇编语言试卷1_第4页
汇编语言试卷1_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

汇编语言试卷1汇编语言试卷1汇编语言试卷1资料仅供参考文件编号:2022年4月汇编语言试卷1版本号:A修改号:1页次:1.0审核:批准:发布日期:汇编语言试卷单项选择(本大题共15小题,每小题2分,共30分)1.在下列段寄存器,代码段寄存器是()。A)ESB)CSC)DSD)SS2.设物理地址(10FF0H)=10H,(10FF1H)=20H,(10FF2H)=30H,如从地址10FF1H中取出一个字的内容是()。A)1020HB)3020HC)2030HD)2010H3.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。A)MOVAL,00HB)ANDAL,00HC)XORAL,ALD)SUBAL,AL4.设DS=8225H,DI=3942H,指令NEG

BYTE

PTR[DI]操作数的物理地址是(

)。A)12169HB)86192HC)BB690HD)85B92H5.下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(

)。A)AX,BX,CX,DXB)BX,BP,SI,DIC)SP,IP,BP,DXD)CS,DS,ES,SS6.对寄存器AX的内容乘以4的正确指令序列是(

)。A)SHR

AX,1

SHR

AX,1B)SHL

AX,1

SHLAX,1C)ROL

AX,1

ROL

AX,1D)RCR

AX,1

RCR

AX,17.下面指令执行后,改变AL寄存器内容的指令是(

)。A)TEST

AL,02HB)OR

AL,ALC)CMP

AL,BLD)AND

AL,BL8.执行下面指令序列后,结果是(

)。MOV

AL,82HCBWA)AX=0FF82HB)AX=8082HC)AX=0082HD)AX=0F82H9.MOV

SP,3210HPUSH

AX执行上述指令序列后,SP寄存器的值是(

)。A)3211HB)320EHC)320FHD)3212H10.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(

)。A)名字项B)操作项C)操作数项D)注释项11.DEC

BYTE

PTR[BX]指令中的操作数的数据类型是(

)。A)字B)双字C)字节D)四字12.下列四条指令中错误的是()。A)MOVAX,[SI]B)MOVAX,[DI]C)MOVAX,[SI+DI]D)MOVAX,[BX+DI]13.在执行子程序段内调用CALLSUBR指令后,SP的值()。A)加1B)减1C)加2D)减214.为了使执行串操作指令时,地址按减量方式处理应使用指令()。A)CLIB)STIC)CLDD)STD15.有数据定义NUMDB'12345',经汇编后,NUM占有()字节存储单元A)1B)5C)6D)7简答题(本题共3小题,每小题5分,共15分)1.完成下列操作,选用什么指令:(1)将AX的内容,减去0520H,和上次运算的借位;(2)将变量名TABL的段地址送AX:2.在指令系统中,段内、段间返回均为RET指令。试回答:执行段内返回RET指令时,执行的操作是:执行段间返回RET指令时,执行的操作是:3.分别指出下列指令中源操作数的寻址方式:A)MOV

SI,100;

B)MOV

CX,DATA[SI];

C)MOV

[SI],AX;

D)ADD

AX,[BX][DI];

E)POPHF;程序分析题(共5小题,每小题6分,共30分)1.ADW1234HBDW5678H:PUSHAPUSHBPOPAPOPB试回答:上述程序段执行后(A)=;(B)=;设执行前SP=200H,执行后SP=。2.分析下面程序段,MOVAL,200SARAL,1MOVBL,ALMOVCL,2SARAL,CLADDAL,BL试问程序段执行后(BL)=;(AL)=。3.设寄存器AL,BL,CL中内容均为76H,XOR

AL,0FHAND

BL,0FHOR

CL,0FH执行上述指令序列后,AL=_____;BL=___;CL=_______。4.START

DW

10H,20H,30H,40H,50HEE1

DW

3

:

MOV

BX,OFFSET

STARTADD

BX,EE1MOV

AX,[BX]执行上述指令序列后,AX=_____。5.现有程序段如下:MOVCX,63HMOVAX,1MOVBX,2DON:ADDAX,BXINCBXLOOPDONHLT请问:1)该程序完成的功能是什么?2)程序执行后AX=。编制程序(段)题(第1、2小题各6分,第3小题13分,共25分)1.编一程序段将BUF字节单元中的数折成高低四位,并且将分离出的高四位和低四位分别放于BUF+1和BUF+2字节单元的低四位上。2.编一程序段完成AX=1+2+3+…+98+99+1003.在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。DATA

SEGMENTBUF1

DW-56,24,54,-1,89,-8……BUF2

DW45,-23,124,345,-265,……SUM

DW10DUP(0)DATA

ENDS单项选择题(每小题1分,共20分)1.如某存储器一个段最多允许16K个字单元,那么表示一个段内偏移地址的二进制位数至少是()位。A)15B)16C)17D)182.下列操作中允许超越的是()。A)取指令B)存目的串C)以BP为基址存取操作数D)堆栈操作3.下面有语法错误的指令语句是()。MOVAX,[BX][SI]B)MOVAX,-2[BX][DI]C)MOVAX,[BX][BP]D)MOVAX,-1[BX][SI]4.下列指令执行后能使BX中数据为奇数的是()。A)XORBX,01HB)ORBX,01HC)ANDAX,01HD)TESTBX,01H5.设CL=05H,要获得CL=0AH,可选用的指令是()。A)XORCL,0FHB)NOTCLC)ORCL,0AHD)ANDCL,0FH6.没有语法错误的输出指令是()。A)OUTAX,30HB)OUTDX,ALC)OUTAL,DXD)OUT30H,AH7.假设执行ADD指令后AX=6EH,再执行AAA指令,AX中的值是()。A)14HB)0104HC)74HD)04H8.某数据段有如下语句:ORG0435HDA1DB17H,44H,77HADRDWDA1下述语句能使AL中的数据为偶数的是()。A)MOVAX,WORTPTRDA1B)MOVAX,WORDPTRDA1[1]C)MOVAX,ADRD)MOVAX,BYTEPTRADR9.当执行条件转移指令JNSOPR时,如条件成立,相对于转移指令的转移距离是()。A)-128~+127个字节B)-126~+127个字节C)-128~+129个字节D)-126~+129个字节10.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是()。A)MOVAX,89B)MOVAX,0809C)MOVAX,89HD)MOVAX,0809HVAR1EQUBYTEPTRVAR2VAR2DW0ABCDH┇SHLVAR1,1SHRVAR2,1上述两条指令执行后,VAR2字单元内容是()。A)0ABCDHB)0AB9AHC)55CDHD)559AH12.设AX=0BBCCH,CF=1ORAX,3CMCRCLAX,1上述三条指令执行后,AX中的内容是()。A)779FHB)779EHC)779DHD)7799H13.下列语句中能与“DA1DB32H,34H”语句等效的是()。A)MOVDAI,32HB)MOVDA1,34MOVDA1+1,34HMOVDA1+1,32C)MOVWORDPTRDA1,3234HD)MOVWORDPTRDA1,‘’24‘’14.设SP=50H,执行段间返回指令‘’RET8‘’后,寄存器SP的内容是()。A)5AHB)5CHC)44HD)46H15.汇编语言语句格式中,对名字项的规定,请指出错误的解释()。名字的第一个字符只可以是大小写英文字母及、@、_等。名字的第一个字符可以是大小写英文字母、数字、、@、_等。名字的有效长度≤31个字符。D)名字从第二个字符起可以出现数字,但不允许出现$、#等字符。16.使用DOS功能调用时,子程序编号应放在()寄存器中。A)AHB)ALC)AXD)任意指定17.下列语句中能实现留空8个字节单元的语句是()。A)DA1DTB)DA2DW,C)DA3DDD)DA4DQ18.设BX的内容为0AA40H,执行SHRDX,1指令后的结果是()。A)5520HB)5480HC)0D420HD)0D580H19.TESTDL,55HJENEXT┇NEXT:﹍﹍┇上述程序段,执行JE指令时能产生转移的情况是()。A)DL﹥55HB)DL﹤55HC)DL=55HD)DL中第0、2、4、6位均为020.寄存器BX和DX中存放有32位二进制数,其中BX中放高16位。下列程序段完成对32位数扩大4倍的功能,那么该程序段中方框里应填的语句是()。MOVCX,2LOP:SHLDX,1LOOPLOPA)ROLBX,1B)RORBX,1C)RCLBX,1D)RCRBX,1二、填空题(本大题共5小题,每小题1分,共5分)名词解释:请将各小题的叙述与下面的词语联系起来,括号内填入对应的a,b,c,d,e。1.宏定义开始用的伪指令是()。2.DF是程序状态字寄存器的()标志位。3.对汇编语言源程序进行汇编时,使用的宏汇编程序文件名是()。4.汇编语言程序中各语句的操作项可以是指令、伪指令或()的助记符。5.CF是程序状态字寄存器中的()标志位。词语:a)宏指令b)MASMc)状态d)MACROe)控制简答题(本大题共3小题,每小题2分,共6分)DB‘AB’,0,0,‘CD’,0,0,‘EF’,0,0请分别用DW、DD伪指令改写上述数据定义语句,要求改写后保持内存单元中内容不变。2.执行:“NEGDX”指令时:①当DX=?时,CF=1

②当DX=?时,OF=1

3.设某数据段的段名为DATA,段内有一变量BUF,请分别用MOV指令写出下述两条语句等效的语句。①MOVAX,DATA②LEABX,BUF四、程序分析题(本大题共7小题,每小题5分,共35分)MOVAL,01HRORAL,1ORAL,ALNEGAL上述程序执行后,AL=,CF=。2.A、B均是长度为10的字节数组,DS、ES已指向同一数据段:ADB1,2,3,4,5,6,7,8,9,0AHBDB0AH,9,8,7,6,5,4,3,2,1┇LEASI,ALEADI,BMOVCX,10CLDLOP:LODSBXCHGAL,[DI]XCHGSI,DIDECDISTOSBXCHGSI,DIINCDILOOPLOP上述程序段执行后:①程序段完成什么功能?

②程序段执行后,A和B两个字节数组的内容分别是什么?

3.已知AL的值为0~F中的一位十六进制数:HECAPROCFARCMPAL,10JCKKADDAL,7KK:ADDAL,30HMOVDL,ALMOVAH,2INT21HRETHECAENDP试回答:①该子程序完成什么功能?

②如调用子程序时AL=3,子程序执行后,DL=。如调用子程序时AL=0FH,子程序执行后,DL=。4.MOVAL,0FHXORAL,0FFHMOVCL,7SHRAL,CL试回答:①上述程序段执行后,AL=。②如将指令SHR换成ROR指令后,那么程序段执行后,AL=。5.已知BX=5E5CH,CX=8303H,CF=1RORBX,CLXORBH,CHROLBX,CL程序段执行后,DX=,CF=。6.XDW0123H,2A3EH,89DFHCOUNTEQU$—XYDBCOUNTDUP(0)┇LEASI,XLEADI,YMOVCX,COUNTCLDREPMOVSB试回答:①上述程序段执行后,Y数据区各字节单元中的内容是什么②程序段功能不变情况下,REPMOVSB指令可否用下面两条指令替代:LOP:MOVSBLOOPLOP7.MOVAX,0E0EHMOVBX,AXSHRBX,1CWDDIVBXXCHGBX,AXMULBX上述程序段运行结束后,AX=,BX=。五、程序填空题(本大题共2小题,每小题6分,共12分)下面程序段是完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后再用单个字符显示输出的2号功能调用,并以相反顺序显示输出这10个字符。试把空白处填上适当的指令。MOVCX,10LOP1:MOVAH,01HINT21HLOOPLOP1MOVCX,10LOP2:MOVAH,02HINT21HLOOPLOP2下面程序段实现将BUFF为首地址的内存区域,全部存储0FFH数据。试把空白处填上适当的指令。BUFFDB20HDUP()┇MOVAX,0FFFFHMOVCX,20HREPSTOSW六、编制程序(本大题共3小题,共22分)1.试编写一程序段,实现32位有符号数除4。2.试用两条指令对寄存器CH和CL分别减1,且CL中减1的借位从CH中获得,而CH中减1的借位从CL中获得。3.设数据段中有三个无符号数,分别存放在DAT,DAT+1,DAT+2字节单元中,试编一完整的源程序,找出三个数中数值大小居中的一个,并将其存入BUF字节单元中。DATDB××,××,××BUFDB汇编语言试卷一、选择题(每小题1分,共20分)1.设A=186,B=273Q,C=0BBH,它们之间的关系是()。A)A.﹥B﹥CB)A﹤B﹤CC)A=B=CD)A﹤B=C2.8086/8088的存储器组织是将存储器划分为段,可以作为段的起始地址是()。A)185A2HB)00020HC)01004HD)0AB568H3.堆栈中当前出栈的存储单元地址是()。A)SS*10H+SPB)SS*10H+BPC)SS*10+SPD)SS*10+BP4.设DL=55H。执行指令后能使DL中的数据为0AAH的指令是()。A)TESTDL,0AAHB)ORDL,0AAHC)NEGDLD)XORDL,0FFH5.当SS=9876H,SP=4328H,执行POPF指令后,堆栈顶部的物理地址是()。A)9CA8AHB)9CA90HC)9CA86HD)0DB00H6.DW10HDUP(2DUP(3),300H)上述定义的数据单元中,能构成0303H字存储单元的个数是()。A)10HB)20HC)1EHD)0FH7.用一条指令实现将寄存器BX和SI的内容相加,结果并送入AX中,这条指令是()。A)ADDAX,[BX][SI]B)MOVAX,[BX][SI]C)ANDAX,[BX][SI]D)LEAAX,[BX][SI]8.设AX中有一带符号数8520H,执行SARAX,1指令后,AX中的值是()。A)4290HB)0A40HC)0C290HD)0C260H9.下列中指令执行后。能影响标志位的指令是()。A)PUSHFB)POPFC)JNLEOPRD)LOOPZLOP10.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是()。A)CX≠0且ZF=1B)CX≠0且ZF=0C)CX≠0或ZF=1D)CX≠0或ZF=011.下面两个传送指令语句中操作数寻址方式是()。VAR1DW32HVAR2EQU32H┇MOVAX,VAR1MOVBX,VAR2A)都是立即数寻址B)前一条指令是立即数寻址,后一条指令是直接寻址C)前一条指令是直接寻址,后一条指令是立即数寻址D)都是直接寻址12.ARRAYDW6,9,$+4,10H,1,$+4┇MOVAX,ARRAY+4设变量ARRAY的偏移量是0084H,上述指令执行后AX的内容是()。A)0009B)008CHC)0090HD)0010H13.设AX=0CCBBH,CF=1ANDAX,7FFEHRCRAX,1上述两条指令执行后,AX和CF中的内容分别是()。A)AX=265DH,B)AX=265DHC)AX=0A65DHD)AX=0A65DHCF=0CF=1CF=0CF=114.DA_BEQUBYTEPTRDA_WDA_WDW‘AB’,‘CD’,‘EF’,‘GH’┇MOVBX,DA_W+3MOVBH,DA_B+3执行上述两条指令后,BX中的内容是()。A)‘EF’B)‘FC’C)‘CC’D)‘FF’15.指令语句中标号的错误定义是()。A)在代码段中的名字项定义,后面紧跟冒号B)用EQU伪指令定义C)用LABLE伪指令定义D)由“JMP标号”指令定义16.设VAR1和VAR2是已定义的变量名,非法的表达式是()。A)VAR1—VAR2B)VAR1—VAR2[BX]C)VAR1+VAR2D)VAR1[BX]17.为在一连续的存储器单元中依次存放数据41H,42H,﹍48H,下面的数据定义语句中有语法错误的是()。DB41H,42H,43H,44H,45H,46H,47H,48HDW4142H,4344H,4546H,4748HDB‘ABCDEFGH’DW‘BA’,‘DC’,‘FE’,‘HG’18.设NUM=B,指令“MOVAX,NUMSHL,3”A)BB)BC)0011011BD)000BXORAX,AXMOVCX,5NEXT:ADDAL,6AAALOOPNEXT上述程序段执行的结果是()。A)AX=0030HB)AX=0300HC)AX=30D)AX=001EH20.如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是()。A)LOOPB)LOOPE/LOOPZC)LOOPNE/LOOPNZD)JCXZ二、填空题(本大题共5小题,每小题1分,共5分)假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是。2.“SHLOPR,CNT”指令中OPR不允许使用立即数和操作数。3.“VARDB5DUP(8,2DUP(5))语句汇编应分配个字节单元。4.指令“MOVAX,20H[SI]“中操作数的物理地址表达式是。5.乘法指令语句“MULCL“,16位的乘积存放在中。三、简答题(本大题共3小题,每小题2分,共6分)1.设DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H字单元中有数据3C50H。请用一条指令将数据3C50H装入AX寄存器。(不得使用立即数)BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各条指令分别执行后BX中的内容各为多少?A)ROLBX,CL;BX=B)MOVBX,[DI];BX=3.DAT1DB1,2,3,4DAT2DW3412H,5678H┇MOVAX,DAT1+1;将DAT1+1字单元内容送入AX中MOVBL,DAT2+1;将DAT2+1字节单元内容送入AX中已知上述两条MOV语句有语法错误,请根据注释字段的要求将其改正(分别用一条语句改正)四、程序分析题(本大题共7小题,每小题5分,共35分)1.DA1DW1F28HDA2DB┇XORBL,BLMOVAX,DA1LOP:ANDAX,AXJZKKSHLAX,1JNCLOPADDBL,1JMPLOPKK:MOVDA2,BL试问:①程序段执行后,DA2字节单元内容是什么?

②在程序段功能不变情况下,是否可用SHR指令代替SHL指令?

2.DA1DB87HDA2DB┇MOVAH,0MOVAL,DA1MOVCL,4SHRAL,CLMOVDL,10MULDLMOVBL,DA1ANDAL,0FHADDAL,BLMOVDA2,AL试回答:①程序段执行后,(DA2)=;②在程序段功能不变情况下,是否可用SAR指令代替SHR指令?

3.MOVAL,BLNOTALXORAL,BLORBL,AL程序段执行后,AL=,BL=。CTCMOVCX,0403HMOVAX,0A433HSARAX,CLXCHGCH,CLSHLAX,CL程序段执行后,AX=,CF=。5.BYTE1DBXX;任意数BYTE2EQU0FEH┇MOVDL,BYTE1ORDL,BYTE2程序段执行后,DL=或。6.DA_BDB0CH,9,8,0FH,0EH,0AH,2,3,7,4┇XORAX,AXXORCL,CLXORBX,BXLOP:TESTDA_B[BX],01HJENEXTADDAL,DA_B[BX]INCAHNEXT:INCBXINCCLCMPCL,10JNELOP上述程序段运行结束后,AH=,AL=。如果把“JENEXT”指令改为“JNENEXT”指令,那么AH=,AL=。7.VAR_BDB10DUP(3,5,7,9)┇LEABX,VAR_BMOVCX,10 XORAX,AXLOP:ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBAL,10NEXT:INCBXLOOPLOP上述程序段运行结束后,AH=,AL=。五、程序填空题(本大题共2小题,每小题6分,共12分)某程序段欲用单个字符显示的2号DOS功能调用去显示一字符串“STRING”。试在下面空白处填上适当的指令(每一空白处仅填一条指令)。STR1DB‘STRING’,‘$’┇MOVBX,OFFSETSTR1LOP:MOVDL,[BX]MOVAH,02HINT21H①②JNELOP程序段的功能是依次产生的0~9的10个ASCⅡ码,并存入BUF1数据区,请在空白处填上指令(每一空白处仅填一条指令)。BUF1DB10DUP()┇LEABX,BUF1MOVCX,10XORAL,ALLOP:MOVAH,ALADDAL,30H①INCBX②INCALLOOPLOP六、编制程序(本大题共3小题,共22分)1.(5分)把2个非压缩BCD码组合为有个压缩BCD码,并存入DA3中。DA1DBXX;高位非压缩BCD码DA2DBXX;低位非压缩BCD码DA3DB2.(5分)已知DAT1字节单元有一个数据,试编制一程序段将该数据的低4位变为1010B,最高位(第7位)置1,其余3位不变,结果送DAT2字节单元。3.(12分)在N1和N2两数据区中,分别有10H个带符号数。试编制一源程序,找出对应项目中较小的数据,并将这些较小的数据存入N3数据区中(要求:对应项比较时必须用CMPS指令)。DATASEGMENTN1DBXX,XX,XX,……N2DBXX,XX,XX,……N3DB10HDUP(0)DATAENDS汇编语言试卷一、单项选择题(本大题共20小题,每小题1分,共20分)1.设A=,B=,C=,D=,它们之间的关系是()。A)C+D=B B)A+D=BC)B=D D)A>C>D2.标志寄存器中属于控制标志位的是()。A)DF,OF,SF B)DF,IF,TFC)OF,CF,PF D)AF,OF,SF3.8088/8086存储器分段,每个段不超过()A)64K个字 B)32K个字节C)1兆个字节 D)64K个字节4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()。A)DECAL B)SBBAL,0AAS DASC)SUBAL,1 D)SUBAL,1AAS DAS 5.要输入端口1234H中的8位数据,其指令应是()。A)MOVDX,1234H B)MOVDX,1234HOUTDX,AL 1NAL,DXC)1NAX,1234H D)OUTDX,1234H6.若AX=-15要得到AX=15应执行的指令是()。A)NEGAX B)NOTAXC)INCAX D)DECAX7.8086/8088系统执行传送指令MOV时()。A)不影响标志位 B)影响DF方向标志C)影响SF符号标志 D)影响CF进位标志8.MOVAL,79ADDAL,0B1H上面指令执行后,设置的标志位CF和OF的值是()A)CF=0,OF=1 B)CF=1,OF=1C)CF=0,OF=1 D)CF=9.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()。A)DIVBX B)CWD IDIVBXC)XORDX,DX D)CBW DIVBX IDIV BX10.下列指令中操作数在代码段中的是()。A)MOVAL,42H B)ADDAL,BLC)SUB[BX],DI D)1NC[DI]11.用REPESCASB指令对字符串进行扫描,如CX0时,扫描结束,那么表示()。A)在字符串中遇上第一个AL中指定的字符B)在字符串中有一个AL中指定的字符C)在字符串中有一个不是AL中指定的字符D)在字符串中遇上第一个不是AL中指令的字符12.下列指令执行后对源和目的操作数均无影响的是()。A)MOV[BX+2],AX B)SUBAX,2467HC)SBB[SI],BX D)CMPAX,BX13.表示过程定义结束的伪指令是()。A)ENDP B)ENDSC)END D)ENDM 14.下列有语法错误的语句是()。A)DB12H B)DW4567HC)DDˋBCDˊ D)DBˋCDˊ15.DB1DB8DUP(2DUP(3),3DUP(2)) ┇ MOVAX,WORDPTRDB1[04H] 上面指令执行后,AX的内容是()。A)0302H B)0203HC)0202H D)0303H16.BUF1DB3DUP(0,2DUP(1,2),3) COUNTEQU$-BUF1 符号COUNT等价的值是()。A)6 B)1817.DA1DW2A05H DA2DB0FAH ┇ MOVAL,BYTEPTRDA1SUBDA2,AL 上述指令执行后,DA2中的内容是()。A)0DAH B)0FAHC)0F5H D)0D0H 18.设(SS)=338AH,(SP)=450H,执行PUSHBX,和PUSHF两条指令后,堆栈顶部的物理地址是()。A)33CECH B)33CF2HC)33CF4H D)33CE8H 19.设(SP)=0028H,执行段内返回指令RET6后,SP的内容是()。A)0036H B)0022HC)0030H D)0020H20.条件转移指令JNBE产生转移的条件是()。A)CF=0ANDZF=0 B)CF=0ANDZF=1C二、填空题(本大题共5小题,每小题1分,共5分)21.8086/8088CPU允许最大的存储空间为1MB,因此CPU的地址总线是位。22.一个语句的名字项可以是标号或变量,在程序中它们两个在书写形式上的主要区别是。23.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如,JL指令另一个指令助记符是。24.指令MOVAX,SEGBUF的执行,是把送到AX中。25.如果多个条件转移指令实现多路分支程序设计,那么为实现5路分支,需要个条件转移指令。三、简答题(本大题共3小题,每小题2分,共6分)26.假设DS=2000H,COUNT=0100H,SI=0030H,指令MOVAX,COUNT[ST] ①写出源操作数的物理地址?②该指令可否写成MOVAX,[COUNT+SI]27.下面指令有无错误若有错,是什么错误①MOVAX,[SI][DI]②CMP[SI],[BX]28.条件转移指令的判断条件除标志位PF外还有哪几个标志位?

四、程序分析题(本大题共7小题,每小题5分,共35分)29.ADRDW1234H,5678H┇LEASI,ADRLDSBX,ADR设变量ADR的偏移地址是100H,上述两条指令执行后:SI=,BX=。30.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01,02,03,…,0FF,00H。问下列程序段执行后,0000~0009H的内容是些什么值。MOVSI,0000HMOVDI,0001HMOVCX,0080HCLDREPMOVSW31.STR1DBˋCOMPUTERNDPASCALˊ SCADBˋNˊ ┇LEADI,STR1MOVAL,SCAMOVCX,10HCLDREPNESCASBNEXT:……程序运行到NEXT时CX=ZF=32.已知AX=0FFFFH,DX=0001HMOVCX,2LOP:SHLAX,1RCLDX,1LOOPLOP上述程序段执行后,DX=AX=33.已知DX=0A476H,CX=0302H,CF=1 ORDX,DX RCRDX,CL XCHGCH,CL RCLDX,CL上述程序段执行后,DX=CF=34.MOVAX,10SHLAX,1SHLAX,1MOVBX,AXMOVCL,2SHLAX,CLADDAX,BX上述程序段执行后,BX=AX=35.已知AX=78H,BX=0804HSHRBX,1ANDBX,0F0FHMOVCX,4LOP:XCHGBH,BLDIVBLSALAX,1LOOPLOP上述程序段执行后,AX=BX=五、程序填空题(本大题共2小题,每小题6分,共12分)36.下面程序执行后,AL的内容为ARRAY数组中的最小数,请在空白处各填上一条指令。ARRAYDB3,5,-3,-2,4,5,-8,6 ┇MOVCX,7MOVDI,0MOVAL,ARRAYA1: INCDI①

JLEA2MOVAL,ARRAY[DI]A2:②

37.下面程序段是判断两个存储单元是否同为正数,如是,则AX置全0,否则AX置非0。试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。VAR1DW××××VAR2DW××××┇MOVAX,VAR1MOVBX,VAR2XORAX,BX

TESTBX,8000H ②

MOVAX,0NEXT:……六、编程序(本大题共3小题,共22分)38.编一程序段将BUF字节单元中的数折成高低四位,并且将分离出的高四位和低四位分别放于BUF+1和BUF+2字节单元的低四位上。(5分)39.编写一子程序,将AL中一位十六进制数转移为对应的ASCII码并用2号DOS功能调用显示出来,输入参数:被转换的十六进制数已在AL中。(5分) 40.在数据段中,WEEK是星期一~星期日的英语缩写,DAY单元中有数1~7(1表示星期一,7表示星期日):WEEKDBˋMONˊ,ˋTUEˊ,ˋWEDˊ,ˋTHUˊ,ˋFRIˊ,ˋSATˊ,ˋSUNˊ DAYDBX ;数字1~7试编写一源程序,根据DAY的内容用单个字符显示功能调用(2号功能)去显示对应的英文缩写。(12分)汇编语言试卷

一、单项选择题(每小题1分,共16分)

1.用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是()。A)F400HB)2F80HC)F4000HD)2F800H2.设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOVAX,[1000H]则AX=()。A)8000HB)0080HC)2080HD)8020H3.下列四条指令中错误的是()。A)MOVAX,[SI]B)MOVAX,[DI]C)MOVAX,[SI+DI]D)MOVAX,[SI-DI]4.下列四条指令执行后不影响标志位的是()。A)JNCNEXTB)CMPAX,BXC)SHLAX,1D)ORAL,AL5.已知AX=0001H,下列四条指令执行后,不能使ZF=1的语句是()。A)DECAXB)SUBAX,1C)ANDAX,1D)CMPAX,16.在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有()。A)SS,SP,BPB)SS,SP,BXC)DS,BX,BPD)DS,SP,BP7.有指令MOVAX,1234H,指令中的立即数1234H是存储在()。A)数据段B)代码段C)附加段D)堆栈段

8.要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是()。A)BUFDW9B)BUFDB99.已知AL=56H,BL=34H,都是压缩BCD码,要执行二数相加,正确的指令是()。A)ADDAL,BLB)ADCAL,BLC)ADDBL,ALD)ADCBL,ALDAADAADAADAA10.在执行子程序段内调用CALLSUBR指令后,SP的值()。A)加1B)减1C)加2D)减211.完成将AX清零,并且使CF清零,下面错误的指令是()。A)SUBAX,AXB)ANDAX,0C)XORAX,AXD)MOVAX,012.定义宏指令的伪指令是()。A)PROC和ENDPB)CODE和ENDSC)EQU和ENDD)MACRO和ENDM13.在汇编语言源程序中,表达式的计算是由()完成的。A)编程者B)汇编程序C)程序执行时D)连接程序14.为了使执行串操作指令时,地址按减量方式处理应使用指令()。A)CLIB)STIC)CLDD)STD15.有数据定义NUMDB'12345',经汇编后,NUM占有()字节存储单元。A)1B)5C)6D)716.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()。A)名字项B)操作项C)操作数项D)注释项二、填空题(每空1分,共16分)

1.在8086/8088系统中,存储器是分段的,每段最大长度是_____字节,段内偏移地址从_____到_____。2.在程序调试时,显示某指令存放地址是2340:0056,则物理地址是_______。3.汇编语言源程序中的语句有三种类型,它们是_______语句,_______语句和_______语句。4.指令MOVAX,[BX+SI+10H]源操作数寻址方式是_______。5.执行段间返回指令RET时,将栈顶的一个字弹出到_______后,又弹出一个字到_______寄存器中。6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEGWORDPTR[DI]后,(31200H)=_______,(31201H)=_______。7.执行下列指令序列MOVAL,80HMOVBL,08HCBWIDIVBL则AH=_______AL=_______。8.已知数据定义语句ORG120HVECT1DW200HVECT2DWVECT1执行MOVAX,VECT1AX=_______MOVBX,VECT2BX=_______。三、简答题(每小题4分,共12分)1.在8086/8088系统中,存储器是分段组织的,按各段实际长度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:(1)数据段起始地址是多少(2)计算数据段中最多可以存放多少个字节数据(要有具体计算式)(3)代码段最多可以存放多少个字节程序代码?说明理由。2.已知数据段定义如下:DATASEGMENTRG100HBUFDW'CD',1,3DUP(4,2DUP(8,6))VRADB4AH...DATAENDS单独执行下列语句LEABX,BUFBX=_______MOVCX,VRA-BUFCX=_______(用十六进制数表示)。3.分别说明下列两组指令中两条指令操作的相同点和不同点(1)SUBAX,BXCMPAX,BX(2)ANDCX,DXTESTCX,DX四、程序分析题(每小题6分,共24分)1.MOVAX,9090HSUBAX,4AE0HJCL1JOL2JMPL3上述程序执行后AX=_______,程序转向_______2.假设寄存器AX=1234H,DX=0A000HMOVBX,0MOVCX,BXSUBCX,AXSBBBX,DXMOVAX,CXMOVDX,BX上述程序段执行后AX=_______,DX=_______程序功能是_______3.BUFDB45H,68H,7AH,35H,39H...MOVDI,OFFSETBUFMOVCX,5MOVAL,‘a'CLDREPSTOSB该程序段执行后,BUF中的内容是_______,方向标志DF=_______4.假设寄存器AX=5AH,CX=23H...MOVDL,0LOP:SUBAX,CXJCNEXTINCDLJMPSHORTLOPNEXT:ADDAX,CXHLT上述程序段执行后,AX=_______,DL=_______;用数学表达式指明程序功能:_______五、程序填空题(每小题6分,共12分,每空格只能填一条指令)1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出)FLDDW10,-20,30,-60,-71,80,79,56_______MOVCX,8XORAX,AXR1:_______ADDSI,2LOOPR1MOVCL,8IDIVCLHLT2.已知数据段DAT单元存放某一数N(-6≦N≦6)下面的程序段用查表法求数N的平方值,结果送SQR单元,请将程序填写完整。TABLEDB0,1,4,9,16,25DATDBNSQRDB?LEABX,TABLEMOVAL,DAT_______JGENEXT_______NEXT:XLATHLT六、程序设计题(第1小题6分,第2小题14分,共20分)1.假设DATAX和DATAX+2单元存放双字P,DATAY和DATAY+2单元中存放双字Q,编程计算2P-Q,差在DX,AX中。若OF=1,程序转OVERFLOW,否则转NOOVER。(只写与试题要求有关的指令语句)2.已知在数据区BUF1和BUF2分别存放20个字节数据。编程检查两数据区中的数据是否相同。若完全一致,则将标志单元FLAG置FFH,否则置0,并将第一次出现的不同数据的地址分别存放在ADDR1和ADDR2单元中。要求:源程序格式完整。课堂练习1.把2个非压缩BCD码组合为1个压缩BCD码,并存入DA3中。DA1DBXX;高位非压缩BCD码DA2DBXX;低位非压缩BCD码DA3D

温馨提示

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

评论

0/150

提交评论