汇编语言程序设计22831_第1页
汇编语言程序设计22831_第2页
汇编语言程序设计22831_第3页
汇编语言程序设计22831_第4页
汇编语言程序设计22831_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、一、单项选择题1CPU要访问的某一存储单元的实际地址称(C)A段地址B偏移地址C物理地址D逻辑地址2某存储单元的物理地址是12345H,可以作为它的段地址有(D)A2345HB12345HC12340HD1234H3. 将十六进制数(2AF)H用二进制表示为( B )A、001010100111 B、001010101111 C、001010101011 D、0010101011014指令和程序是以(C)形式存放在程序存储器中A、源程序B、汇编程序C、二进制编码D、BCD码5与LEA BX,BUF指令完全等效的指令是( C )A.MOV BX, BUF B.LDS BX,BUFC.MOV BX

2、,OFFSET BUF D.MOV BX,WOKD PTR BUF6下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( A )A.XOR AX,AX B.AND AX,AXC.OR AX,AX D.TEST AX,07无条件转移指令JMP实现段间间接转移,转移的目标地址在( B )A.某个字存储单元中 B.某个双字存储单元中C.某个16位通用寄存器中 D.两个16位通用寄存器中8设NUM1 EQU 100 NUM2= 64H下面指令执行后,使BL中为全1的指令是( A )A.MOV BL,NUM1 EQ NUM2 B.MOV BL,NUM1 LT NUM2C.MOV BL,NUM1

3、NE NUM2 D.MOV BL,NUM1 GT NUM29设非压缩BCD码(AL)=09H,(BL)=04H在执行SUB AL,BL指令后应选的校正指令是( B ) A.DAA B.AAS C.DAS D.AAA10设AX=9ABCH,DX=8765H PUSH AX PUSH DX POP AX POP DX上述4条指令执行后,AX,DX中内容分别是( D.AX=8765H DX=9ABCH )A.AX=9ABCH DX=8765H B.AX=9ABCH DX=9ABCHC.AX=8765H DX=8765H D.AX=8765H DX=9ABCH11设SP的初值为1000H,执行指令PU

4、SH AX后SP的值是( C )A.OFFFH B.1001HC.0FFEH D.1002H12下列指令执行后既能使AX=0同时又使CF=0,OF=0的是( A )A.XOR AX,AX B.AND AX,AXC.OR AX,AX D.TEST AX,013在指令的操作数字段中,允许出现表达式,若BUF1与BUF2均为变量名,下面指令中正确的是( D )A.MOV DX,BUF1*BUF2 B.MOV DX,BUF1/BUF2C.MOV DX,(BUF1*BUF2)-BUF1 D.MOV DX,BUF2-BUF114汇编语言源程序,可以是( D )A.可以直接由机器执行 B.必须由编译程序生成

5、目标程序才能执行C.必须由解释程序生成目标程序才能执行D.必须由汇编程序汇编成目标程序才能执行15设CF=1,实现AL内容乘2的指令是( C )A.RCL AL,1 B.SAR AL,1C.SHL AL,1 D.ROR AL,116算术右移指令SAR和逻辑右移指令SHR,两条指令执行结果完全相同的条件是( A )A.目的操作数最高位为0 B.目的操作数最高位为1C.目的操作数为任意情况 D.无论什么情况都不可能完全相同17没有语法错误的输入指令是( A )A.IN AL,30H B.IN 30H,ALC.IN DX,AL D.IN AL,BX18将高级语言的程序翻译成机器码程序的实用程序是(

6、A ) A.编译程序B.汇编程序 C.解释程序D.目标程序19DEC BYTE PTRBX指令中的操作数的数据类型是( C ) A.字B.双字C.字节D.四字20在下列语句中,BUFFER称为( B ) BUFFER DB 01H,0AH A.符号B.变量C.助记符D.标号21串操作指令中,源串操作数的段地址一定在( C )寄存器中。 A. CSB. SSC. DSD. ES22使计算机执行某种操作的命令是( B ) A.伪指令B.指令C.标号D.助记符23将数据5618H存放在存储单元中的伪指令是( B ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. D

7、ATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H24若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( A ) A. 1400HB. 77F8HC. 0000HD. 0FFFFH25计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( C )码。 A. BCD码B.二进制码C.ASCII码D.十六进制码26用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( A )A.汇编语言B.高级语言C.机器语言D.低级语言27循环控制指令LoopNZ/LoopNE控制循

8、环继续执行的条件是(B)ACX0且ZF=1BCX0且ZF=0CCX0或ZF=1DCX0或ZF=028在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(C)ADAA校正指令的功能已自动加在AH中B进位值在AF中,校正后根据AF内容再加在AH中C进位值在CF中,校正后根据CF内容再加在AH中D进位值在AL最高位上,校正后根据AL最高位内容再加在AH中29AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C)A指令XOR AX,AX执行后,AX内容不变,但设置了标志位B指令OR DX,1000H执行后,将DX最高位置1,其余各位置0C

9、指令AND AX,OFH执行后,分离出AL低四位DNOT AX,执行后,将AX清030在执行下列指令时,需要使用段寄存器DS的指令是(D)ASTOSWBADD AL,CLCNEG BXDINC DABX31无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(B)AADD BH,01HBOR BH,01HCXOR BH,01HDTEST BH,01H32完成对CL寄存器的内容乘以4的正确操作是(C)AROL CL,1BMUL 4ROL CL,1CSHL CL,1DMOV CL,2SHL CL,1SHL CL,CL33下面各传送指令中,正确的是(C)AMOV DI,SIBM

10、OVDX+DI,ALCMOV WORD PTR BX,0100HDMOV AL,BX34汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)A名字的第一个字符可以是大写英文字母及小写英文字母B名字的第一个字符可以是字母、数字及?、_ C名字的有效长度31个字符D在名字中不允许出现$35要实现使BETA的值为56,应采用语句为(C)ABETA DB 56BBETA DB 56HCBETA EQU 56DBETA EQU 56H36REPZ CMPSW指令,重复执行的终止条件是(A)ACX=0或ZF=0BCX=0且ZF=0CCX=0或ZF=1DCX=0且ZF=137下面程序段执行后,A

11、L中的内容是(B)MOV AX,8833HADD AL,AHDAAA21B21HC0C1HD0DDH38比较两个带符号的数A、B,当A=B时程序转移,测试的条件为(A)AZF=1BZF=0CSF=1DSF=039检查二个无符号数的关系,若要实现ALBL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是(C)AJNC LOP1BJA LOP1CJC LOP1DJGE LOP140在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)ASTOSWBLODSWCSCASWDCMPSW41DA1DWAB,CD,EF,GH MOV AX,DA1+3指令执行后AX中的内容是(D

12、)AEFBCDCBCDFC42使用DOS系统功能调用时,使用的软中断指令是(B)AINT 21BINT 10HCINT 16HDINT 21H43串操作指令中,目的操作数的段地址一定在( D )寄存器中 A. CS B. SS C. DS D. ES44在下列语句中,AGAIN称为( C ) AGAIN: INC SI A.符号 B.助记符 C.标号 D.变量45DOS系统功能调用中,显示单个字符的系统调用号是( B )H。 A. 01H B. 02H C. 08H D. 09H二、填空题1假设BL=0C5H,CL=2,CF=1,确定下列各条指令独立执行后,BL和CF中的值,并填入括号中。 A

13、. SHR BL,1;BL=( 62H ) CF=( 1 ) B. SAR BL,CL;BL=( 0F1H ) CF=( 0 ) C. ROR BL,1;BL=( 0E2H ) CF=( 1 ) D. RCL BL,CL;BL=( 17H ) CF=( 1 )2计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是_ ASCII,_码,称为美国_标准信息交换_码。()38086/8088CPU中,有二个变址寄存器,分别是_ SI _和_ DI _,二个指针寄存器,分别是_ SP _和_ BP _。4十六进制数0FFF8H表示的十进制正数为_+65528_

14、,表示的十进制负数为_ -32760_。5若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,(SI+COUNT)中,源操作数的有效地址EA为_20A8H _,其物理地址为_11488H _。(20A8H;11488H)6当标志位_CF_=1时表示无符号数运算产生溢出,而当标志位_=1是表示带符号数运算产生溢出。(CF;OF)7如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是_ IP _,而后两个字节存放的是_ CS _。(IP;CS)8在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是_ STOS

15、 _或_ CMP _才有实际意义。(STOS;CMP)98086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是_ CS _、_ DS _、_ES _、_ SS _。(.CS DS ES SS)10现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。 A.ADD AX,1200H;问AX=_H ZF=_ B.SUB AX,BX;问AX=_H ZF=_ C.MOV AX,BX;问AX=

16、_H CF=_ D.NEG WORD PTR1200H;问(31200H)=_H CF=_(A.3200H 0B.0E00H 0C.0250H 不影响D.0B0H 1)11设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,试计算出下列各种寻址方式下的有效地址,填入括号中。 A.使用D的直接寻址( 0A2B1H ) B.使用BX的寄存器间接寻址( 1000H ) C.使用BX和D的寄存器相对寻址( 0B2B1H ) D.使用BX、SI和D的相对基址变址寻址( 0B3B1H ) E.使用BX、SI的基址变址寻址( 1100H )(A.0A2B1H B.1000H C.

17、0B2B1H D.0B3B1H E.1100H)128086/8088存贮器地址分段时,每个段起始地址的特征是_。(在16进制表示的地址中,最低位为0;或者二进制表示的地址中,最低4位为0)13执行带符号数字节相乘指令IMUL BL后,CF=1,OF=1意味着_。(乘积的高八位不是低八位的符号位扩展)14ARRAY DB 0,2 DUP(1,2),0,3汇编时生成的数据依次是_。(0,1,2,1,2,0,3)15CPU的标志寄存器中标志位,可以分为两大类,其中一类称为_状态_标志位,另一类称为_控制_标志位。(状态;控制)三、简答题1.在汇编源程序时,下面数据段共分配多少个字节存储单元?变量B

18、UF的偏移地址是多少?DATA SEGMENT ORG $+20HDA1 DB 10H DUP(2,3)DA2 DW 10H DUP(2,3) ORG $+20HBUF DD DA1,DA2DATA ENDS (共分配0A8H字节存储单元,BUF的偏移地址是0A0H)2.设BX=0FFFFH,下面指令序列中,每条指令执行后,分别为0,1表示SF、ZF、CF的值,若对标志位无影响,用斜杠/表示 SF ZF CF STC / / 1 XOR BX, BX _0_1_0 _ ADD BX,8001H _1_0_0_ SAR BX,1 _1_0_1_(/ / 10 1 01 0 0 1 0 1)3.如

19、果执行NEG AL指令后AL中的内容仍保持不变,那么AL中的值是多少?执行后OF的值又是多少?(AL = -128 或 80H;OF = 1)4已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。(1)MOV AL,BX(2)MOV CS:BX+DI,AH(21357H;43357H)50P1 DB 1,20P2 DW 3412H,5678HMOV AX,OP1+1;字单元(OP1+1)AXMOV BL,OP2+1;字节单元(OP2+1)BL上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。(MOV AX,WORD

20、 PTR(OP1+1) MOV BL,BYTE PTR(OP2+1)6下列语句在存储器中分别为变量分配多少字节?(1)AD2 DW 10 DUP(?),(2)AD3 DD 100 DUP(?)(22,400)7简述下面两条指令分别是什么语法错误?MOV BX,SIMOV AX,DL(MOV指令不能在两个存储器操作数之间进行; 操作数类型不匹配)8.请指出下列指令错误原因: A. OR AX,CX B. ADD SI,BXDI C. JMP BYTE PTR LOOPS D. SAR AX,4 E. RCL DX(A.CX不能作为间接寻址寄存器 B.加法指令不能完成存储单元之间的加法运算 C.转

21、移指令中,转向标号地址的属性说明错 D.移位指令格式错,当移位次数大于1时,需用CL给出 E.指令中应指出移位次数)9. A.下面两个语句有何区别? X1 EQU 1000H X2=1000H B.下面的程序段有错吗?若有,请指出错误。 CRAY PROC PUSH AX ADD AX,BX RET ENDP CRAY(A.第一个语句中,X1不能多次赋值,而X2可以多次赋值 B.程序最后一行有错,应写成: CRAY ENDP)10.假设程序中的数据定义如下: ARRAY1 DW ? ARRAY2 DB 16 DUP(?) ARRAY3 DD ? PLENTH EQU $-ARRAY1 问PLE

22、NTH的值为多少?它表示什么意义?(22它表示ARRAY1到ARRAY3所占存储单元的字节数)11.试根据以下要求,分别写出相应的汇编语言指令。 A.把AX寄存器和BX寄存器的内容相加,结果存入AX中。 B.用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中。 C.把数OBEH与AH内容相加,结果送回AH中。 D.用SI和位移量0200H的寄存器相对寻址方式把存储器中的一个字与AX相加,并把结果送回存储单元中。 E.用位移量0860H的直接寻址方式把存储器中一个字与数2EA0H相加,结果回送存储器中。(A. ADD AX,BX B. ADD DL,BXSI

23、 C. ADD AH,OBEH D. ADD SI+0200H,AX E. ADD 0860H,2EA0H )12.程序在数据段中定义的数组如下:ARRAY DB YES IS DB 20 DB DO NOT请指出下列指令是否正确?若不正确,错在哪里? A.MOV BX,OFFSET ARRAY MOV AX,BX+8 B.MOV AX,ARRAY C.MOV BX,2 MOV SI,3 MOV AX,ARRAYBXSI D.MOV BX,2*2 MOV SI,3 MOV AX,OFFSET ARRAYBXSIINC AX(A.正确 B.数据类型不匹配错 C.前两条指令正确,第三条数据类型不匹

24、配 D.前两条正确,后两条不正确,在汇编过程中,OFFSET操作将得到变量的偏移值,但对相对基址变址寻址方式形成的值在汇编指令时还是未知的,所以第三条指令不正确。第四条指令中,AX不能作为基址寄存器用。)13.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,试问以下两条指令有什么区别?指令执行后,AX寄存器的内容是什么?(3分)MOV AX,TABLEMOV AX,OFFSET TABLE(第一条指令传送的是0100H单元中的内容 AX=0FF00H第二条指令传送的是地址0100H AX=0100H)14.分别指出下列指令中源操作数的寻址方式:(5分) A.MOV SI,100 B.MOV CX,DATASI C.MOV SI,AX D.ADD AX,BXDI E.POPHF(.A.立即寻址 B.寄存器相对寻址 C.寄存器寻址 D.基址加变址寻址E.寄存器寻址)四、程序设计题1. 试编写出把DX、AX中的双字右移四位的程序段。MOV CL,04SHR AX,CLMOV BL,DL

温馨提示

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

评论

0/150

提交评论