还剩12页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
汇编语言程序设计试卷
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()
①无符号十进制数136
②带符号十进制数-120
③压缩型BCD码十进制数88
④8位二进制数-8的补码表示2.指令指针寄存器是()
①IP
②SP
③BP
④PSW3.当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()
①表示结果中含1的个数为偶数
②表示结果中含1的个数为奇数
③表示该数为偶数
④表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()
①MOVAL00H
②ANDAL00H
③XORALAL
④SUBALAL5.下列指令执行后总是使CF=0,OF=0的是()
①AND
②NEG
③NOT
④INC6.完成同指令XCHGAX,BX相同功能的指令或指令序列是()
①MOVAX,BX
②MOVBX,AX
③PUSHAXPOPBX
④MOVCX,AXMOVAX,BXMOVBX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADDAL,BLAAA之后,其结果应是()
①AH=01,AL=05
②AH=1AL=15
③AH=0AL=0FH
④AH=0AL=058.设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为
①OF=1,CF=0
②OF=1,CF=1
③OF=0,CF=0
④OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()
①CX=0且ZF=0
②CX=0且ZF=1
③CX=0或ZF=0
④CX=0或ZF=110.下面指令中,合理而有意义的指令是()
①REPLODSB
②REPSCASB
③REPCMPSB
④REPMOVSB11.在汇编语言程序中,对END语句的叙述正确的是()
①END语句是一可执行语句
②END语句表示程序执行到此结束
③END语句表示源程序到此结束
④END语句在汇编后要产生机器码12.下面的数据传送指令中,错误的操作是()
①MOVSS:[BX+DI]1000H
②MOVDX1000H
③MOVWORDPTR[BX]1000H
④MOVDS2000H13.下面指令执行后,变量DAB中的内容是()DAWDW2A05HDABDB0FAHMOVAL,BYTEPRTDAWSUBDAB,AL
①0DAH
②0FAH
③0F5H
④0D0H14.执行下列指令后,正确的结果是()MOVAL,100MOVBL,-2
①AL=100HBL=02H
②AL=64HBL=0FEH
③AL=64HBL=82H
④AL=100HBL=0FEH15.设数据段中已有DA1DB12H,34HDA2DW56H,78H下面有语法错误的句是()
①ADR1DWDA1
②MOVDA1+1,AX
③MOVBYTEPTRDA2+1,AL
④MOVWORDPTRDA1+1,AX16.实现将DX AX中存放的32位数扩大四倍,正确的程序段是()
①SHLAX,2ROLDX,2
②RCLAX,2SHLDX,2
③MOVCX,2LOP SHLAX,1RCLDX,1LOOPLOP
④SHLAX,1SHLAX,1RCLDX,1RCLDX,117. DATA SEGMENT TA1DW0102H,0304H,0506H TA2DB02H,03H,04H: MOVBX,DS[0006H] ANDBX,0FFH ANDBH,[BX上述指令序列运行后,BX的内容是()
①0605H
②0402H
③0606H
④0204H18.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()
①JLE
②JNL
③JNLE
④JL19.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为TESTBH,01H_________K1
①JNE
②JZ
③JS
④JC20.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是()
①TESTBL,4FHJZNEXT
②XORBL,4FHJZNEXT
③ANDBL,4FHJZNEXT
④ORBL,4FHJZNEXT
二、简答题(每小题4分,共12分)1.在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息例如PUSHAX\PUSHBX\保护现场PUSHCX/PUSHDX/:}恢复现场试写出恢复现场时的指令序列POPDX(1分)POPCX(1分)POPBX(1分)POPAX(1分)2.完成下列操作,选用什么指令
(1)将AX的内容,减去0520H,和上次运算的借位;
(2)将变量名TABL的段地址送AX;
(1)SBBAX,0520H(2分)
(2)MOVAX,SEGTABL(2分)3.D1DB20HDUP(?)D2DWD1请写出用一条指令实现取D1的偏移地址=SI中的三种方法
①LEASI,D1
②MOVSI,OFFSETD1
③MOVSI,D2
三、程序分析题(每小题6分,共36分)1. ADW1234H BDW5678H: PUSHA PUSHB POPA POPB试回答
①上述程序段执行后(A)=___,(B)=____
②设执行前SP=200H,执行后SP=_____
①(A)=5678H(2分)(B)=1234H(2分)
②SP=2000H(2分)2.现有下列程序 MOVAX,6540H MOVDX,3210H MOVCL,04 SHLDX,CL MOVBL,AH SHLAX,CL SHRBL,CL ORDL,BL试问上述程序段运行后,(AX)=_____(BL)=_____(DX)=____2.(AX)=5400H(2分)(BL)=06H(2分)(DX)=2106H(2分)3.分析下面程序段, MOVAL,200 SARAL,1 MOVBL,ALMOVCL,2 SARAL,CL ADDAL,BL试问程序段执行后(BL)=_____(AL)=_____3.(BL)=0E4H(3分)(AL)=0DDH(3分)4.程序段如下BLK1DB46,84,34,-5,20,122,73: MOVCX,7 LEAS1,BLK1NEXT MOVAL,[SI] INCSI TESTAL,81H LOOPZNEXT MOVBL,[SI]:请回答程序段运行后(AL)=______(BL)=_______4.(AL)=-5或0FBH(3分) (BL)=14H或20(3分)5.STRING DB‘ABCDEFGHIJ MOVAH01;从键盘输入字符1~9 INT21H ANDAL,0FH DECAL XORAH,AH MOVBX,OFFSETSTRING ADDBX,AX MOVBL,[BX] MOVAH,02H ;显示输出 INT21H:试回答
(1)上述程序段的功能是什么?
(2)如从键盘输入字符‘4,程序段有什么结果?5.
①程序段功能根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符(4分)
②显示器显示字符‘D’(2分)6. ANDAL,AL JZBRCH1 RCRAL,1 JZBRCH2 RCLAL,1 INCAL JZBRCH3:上述程序运行后,试回答
(1)当(AL)=__________时,程序转向BRCH1
(2)当(AL)=__________时,程序转向BRCH2
(3)当(AL)=__________时,程序转向BRCH36.
①(AL)=0,
②(AL)=1,
③(AL)=-1(每个回答各2分)
四、程序填空题(下列各小题中,一个空只能填一条指令每小题6分,共12分)1.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上 TESTAX,8000H ___________ MOVPLW,BX JMPDONE K1________ DONE1.
①JEK1或JZK1(3分)
②MOVPLW,AX(3分)2.现有下列数据段 DATASEGMENT STR1DB‘ABCDEFGHIJKL COUNTEQU-STR1 BUFDBCOUNTDUP
(0) DATAENDS下面程序段是实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一字符送到BUF的第一个单元)试把程序中所空缺的指令填上 MOVSI,OFFSETBUF-1 MOVDI,OFFSETBUF MOVCX,COUNT ________LOOP:MOVSB ________________ LOOPLOP2.
①CLD(3分)
②SUBSI,2(3分)或
①STD(3分)
②ADDDI,2(3分)
五、编制程序(段)题(第1小题6分,第2小题14分,共20分)
1.编程序段计算SUM=∑ai=a1+a2+...+a20,已知a
1......a20依次存放在以BUF为首址i=1的数据区,每个数据占两个字节,和数SUM也为两个字节(要求用循环结构编写,循环控制采用计数控制)(此题考生勿需书写源程序格式,只需把试题要求的有关指令序列书写出来)2.设在DAT单元存放一个-9~+9的字节数据,在SQRTAB数据区中存放了0~9的平方值,请用直接查表法编写一个子程序,在SQRTAB中查找出DAT单元中数据对应的平方值送SQR单元并写出主程序的调用方式数据段如下 DATASEGMENT DATDBXXH SQRTABDB0,1,4,9,...81 SQRDB? DATAENDS
五、编制程序题(第1小题6分,第2小题14分,共20分)1.程序段MOVAX,0 MOVBX,OFFSETBUF MOVCX,20 LOP ADDAX,[BX] INCBX INCBX LOOPLOP MOVSUM,AX评分细则
①地址指针BX置初值;(1分)
②循环计数初值(1分)
③累加(2分)
④循环结构(1分)
⑤存结果(1分)2.参考程序 DATA SEGMENT DAT DBXXH SQRTAB DB0,1,4,9,…,81 SQR DB? DATA EMDS STACL1 SEGMENTPARASTACK DW20HDUP(?) STACK1 END CODE SEGMENT ASSUMECS CODE,DS DATA,SS STACK1 START MOVAX,DATA MOVDS,AX ┇ CALLSUBROT ┇ MOVAH,4CH INT21H SUBROT PROC PUSHAX PUSHBX。