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

下载本文档

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

文档简介

1、选择1 下面指令执行后,改变 AL寄存器内容的指令是(D )。A. TEST AL , 02HB.OR AL , ALC.CMP AL , BLD.AND AL , BL2对寄存器AX的内容乘以4的正确指令序列是(B )。A.SHR AX,1 /SHR AX,1B.SHL AX,1/ SHL,AX,1C.ROL AX,1 /ROL AX,1D.RCR AX,1/ RCR AX,13 .设 DS=8225H,DI=3942H,指令 NEG BYTE PTRDI操作数的物理地址是 ( A )A.85B92HB.86192HC.BB690HD.12169H4 .指令 JMP FAR PTR DONE

2、 属于匚A .段内转移直接寻址B .段内转移间接寻址C .段间转移直接寻址D .段间转移间接寻址5 .将DX的内容除以2,正确的指令是CA . DIV 2 B. DIV DX , 2 C. SAR DX , 1 D. SHL DX , 16 .编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D )。A.CMPB.SUBC.ANDD.MOV7 .下列指令执行后既能使AX=0同时又使CF=0,OF=0的是A.XOR AX,AX B.AND AX,AX C.ORAX,AXD.TEST AX,0&假设执行 ADD指令后AX=006EH,再执行A. 14HB. 010

3、4HC. 74HAAA指令,D. 04HAX中的值是(B9 .用MOV指令将十进制数A. MOV AX , 89C. MOV AX , 89H89以非压缩BCD码格式存入B. MOV AX , 0809D. MOV AX , 0809HAX,可使用的指令是(10 .下列语句中能与 “ DA1A. MOV DA1 , 32HC. MOV WORD PTR DA1 ,MOV DA1+1 , 34HDB 32H,3234H34H”语句等效的是(B. MOVD. MOV WORD PTR DA1MOVA )DA1 , 32DA1+1 ,'24'34第7页共6页11. 设 NUM1 EQ

4、U 100NUM2 =64HF面指令执行后,BL中全为1的指令是A、MOVBL,NUM1 GT NUM2B、MOV BL,NUM1 LT NUM2C、MOVBL,NUM1 NE NUM2D、MOV BL, NUM1 EQ NUM212. 下列语句中能实现留空 8个字节单元的语句是( D )A. DA1 DT ?B.DA2 DW ?,? C. DA3 DD ?D.DA4 DQ ?13. 在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是D 。A、MOVDX,BUF1*BUF2B、MOVDX,BUF1/BUF2C、MOVDX,(BUF1*BUF2)-BUF1D

5、、MOVDX,BUF2-BUF114. 设有变量 VAR和标号LAB,不正确的指令是CA.LEA AX,V ARB.LEA AX,LABC. JMP NEAR PTR V AR D.JMP SHORT LAB15. 一个有128个字的数据区,它的起始地址为12ABH : 00ABH,请给出这个数据区最末一个字单元的物理地址是CA . 12CSBH B. 12B6BH C. 12C59H D. 12BFEH16. 在下列指令的表示中,不正确的是 CA . MOV AL , BX+SIB . JMP SHORT DONIC. DEC BXD. MULCL17 .在进行二重循环程序设计时,下列描述正

6、确的是AA.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内B .外循环初值应置外循环之内;内循环初值应置内循环之内C .内、外循环初值都应置外循环之外D .内、外循环初值都应置内循环之外,外循环之内18 .条件转移指令JNE的测试条件为 AA . ZF=0 B . CF = 0C . ZF=1 D . CF=119 .将DX的内容除以2,正确的指令是 CA . DIV 2 B . DIV DX , 2 C . SAR DX , 1D . SHL DX , 120 .已知 BX=2000H , SI=1234H,则指令 MOV AX , BX+SI+2的源操作在(A )中。A .

7、数据段中偏移量为 3236H的字节B .附加段中偏移量为 3234H的字节C .数据段中偏移量为 3234H的字节D .附加段中偏移量为 3236H的字节21.执行如下程序:MOVAX,0MOVBX,1MOVCX,100A: ADDAX,BXINCBXLOOPAHLT执行后(BX ) = CA. 99 B. 100 C. 101 D. 10222 .上题的程序执行后(AX ) = BA. 5000 B. 5050 C. 5100 D. 515023 .在下列指令中,_D指令的执行会影响条件码中的CF位。A . JMP NEXTB . JC NEXTC . INC BXD . SHL AX ,

8、124 .下面指令序列执行后完成的运算,正确的算术表达式应是一D-MOVAL ,BYTE PTR XSHLAL ,1DECALMOVBYTE PTR Y , ALA . y=x*2+1B . x=y*2+1C . x=y*2-1D . y=x*2-125 没有语法错误的输入指令是A.IN AL,30HB.IN 30H,ALC.IN DX,AL D.IN AL,BX26 在程序执行过程中,IP寄存器中始终保存的是 B_A 上一条指令的首地址B 下一条指令的首地址C 正在执行指令的首地址D .需计算有效地址后才能确定地址二、简答1假定(DX ) =10111001B , ( CL) =3 , (

9、CF) =1,试确定下列各条指令单独执行后,DX中的值。(3分)(1) SHR DX , 1(2) RCR DL , 1(3) RCL DX , CL答:(1) 005CH (2) 00DCH (3) 05CCH2 8086中段的划分方式,以及最小段数目。 参考课本29页 3指出下列指令的错误原因。操作数类型不同(1) MOV BX, AL(2) MOV 256, CX(3) POP CS(4) MUL 45H(5) MOV DS, 2000H(6) JMP WORD PIR LOO(7) IN AL , 3F8H4.某程序段如下:MOVDX,0EFADHMOVAX,1234HMOVCL,4S

10、HLDX,CLMOVBL ,AHSHLAX,CLSHRBL ,CLORDL,BL上面的程序段执行完后,DX、AX的内容是什么?DX=FAD0HAX=2340H三、填空1 计算机语言分为 机器语言、汇编语言和 高级语言。2. 23D=10111 B, 100101011B=12B H。3. 寄存器间接寻址SI的是默认段为 DS BP默认段SS。4. 8086 CPU内部共有14个 16位的寄存器。5 汇编语言源程序需要经过编译才能运行6. 8086存储器地址分段时,每个段起始地址的特征是_20位地址的最后4位为07执行带符号数的运算,IMUL BL 后CF=1 OF=1表示该数 乘积的高8位不是

11、低8位的符号位扩展而是有 效数8. 8086系统的操作数分为立即操作数、寄存器操作数和存储器操作数三种类型四、程序分析1. 现有如下程序段:DATA SEGMENTORG 0020HDA1DW 12H , 23HDA2DB 11H , 21HDA3EQU 1234HDA4EQU $-DA2DA5DB 31H , 32HDATA ENDS请回答:(1)该程序段已占有的存储字节数是多少?(2)符号名DA4的值是多少?符号名 DA5的值是多少?答:(1)该程序段已占有的存储字节数是8个字节。(2)符号名DA4的值为2,符号名 DA5的值是0026H。2.DA1 DB '345'DA2

12、 DB 3 DUP(O)MOV SI,0MOV CX,3LOP: MOV AL,DA1SIADD AL,11HOR AL,01HMOV DA2SI,ALINC SILOOP LOP试问:(1)程序段执行后,DA2各字节中的数据是答:注意该题首先得到 3' 4' 5'的asc码33h 34h 35h然后在增加到44H 45H 46H分别对应D E F的ASC码,然后再把这些字母的 ASC码对应的二进制数的最低位置 1,把最终的 ASC码值存入DA2 中,结果为 EEG。五、程序填空题1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在 AX寄存器

13、中。如果总和值超过 AX寄存器的容量,则置 AX寄存器内容不变。请在程序中的空格处填入适当指令使其完 整。LEA BX, TABLEMOV CX, 10MOV SUM, AXMEXT:(1 ) ADD AL,BXADC AH , 0JNC DON(2 ) MOV AX,SUMJC END0DONINC BX(3 ) LOOP NEXT ENDO :HLT2. BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。请在程序中的空格处填入适当的指令使其完整。MOV CX,32HLEA SI ,BEGMOV DI,SI(1) ADD DI 99DON:

14、 MOV AL,SI(2) XCHG AL,DIMOV SI ,AL(3) INC SIDEC DILOOP DONHLT3 下面程序段完成用单个字符输入的1号功能调用,从键盘输入 10个字符,然后用2号功能调用以相反的顺序显示输出这 10个字符。请在空白处添上适当的指令(每一空白处只添一条指令)。MOVCX,10LOP1 : MOVAH,1INT21HPUSH AXLOOP LOP1MOVCX,10LOP2: POP DXMOVAH,2INT21HLOOP LOP24下面程序段完成将以 BUFF为首地址的内存区域全部存储0FFH数据。请在空白处添上适当的指令(每一空白处只添一条指令)。BUF

15、F DB 20H DUP (?)LED DI,BUFFMOV AX, 0FFFFHMOV CX, 10HCLDREP STOSW六、编制程序题1 .试编写一个汇编语言子程序,要求将包含任意字符、以0结尾的字符串中的小写字母转换成大写字母。assume cs:code,ds:datadatasgsegme ntdb 'Begi nners All-purpose Symbolic In struct ion Code.',0 datasg ends codesg segme ntbegi n:mov ax,datamov ds,axmov si,0call lettercmov

16、ah,4chint 21hletterc:push axs:mov al,simov ah,0mov cx,axjcxz returncmp al,61hjb n extcmp al,91hja n extand al,11011111bmov si,aln ext:i nc sijmp short sreturn:pop axretcodesg endsend begi n2 写一程序段,求双字长数 DX : BX的相反数。NEG DXNEG AXSBB DX, 0Y=第6页共6页5.编写程序求:X+10HJ 32X(X<o)(0w Xw 10)X-90HX>10)STACK SEGMENT PARA STACK STACK 'DB 100 DUP(0)STACK ENDSDATA SEGMENTX DW ?Y DW ?DATA ENDSCODE SEGMENTASSUME CS: CODE,DS:DA TASTART:

温馨提示

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

评论

0/150

提交评论