川农汇编语言题库及部分答案 下载本文

一、单项选择题

1、在下列的选项中,能够组成计算机系统的是(A )。

A.硬件系统和软件系统 B.CPU、存储器、输入/输出设备

C.操作系统、各种语言 D.系统软件和应用软件

2、汇编语言属于( B )。

A.用户软件 B.系统软件 C.高级语言 D.机器语言

3、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B )。 A.EXE B.OBJ C.ASM D.LST

4、汇编语言的什么文件经链接(LINK)后产生可执行文件?(D) A.ASM B.EXE C.LST D.OBJ

5、中央处理器CPU是由(D )组成的。

2452643696

A.运算器 B.控制器 C.寄存器组 D.前三者

6、IBM PC机的DOS是属于( B )。

A.用户软件 B.系统软件 C.系统硬件 D.一种语言 7、汇编语言源程序是( A )程序。 A.不可直接执行的 B.可直接执行的 C.经汇编程序汇编后就可执行的 D.经连接后就可直接执行的 8、8086/8088 CPU的寄存器组中,8位的寄存器共有(C )个。 A.4 B.6 C.8 D.10

9、8086/8088 CPU的寄存器组中,16位的寄存器共有(D )个。 A.10 B.12 C.13 D.14

10、8086/8088 CPU执行算术运算时PSW共有( C )个标志位会受影响。

A.4 B.5 C.6 D.7

11、在程序执行过程中,IP寄存器始终保存的是(B )。

A.上一条指令的首地址 B.本条指令的首地址。

C.下一条指令的首地址 D.需计算有效地址后才能确定地址。

12、IBM PC机的存储器可分( D )个段。 A.4 B.256 C.512 D.65536 13、当使用BP作编程地址时,此时使用的是(D )段。

A.CS B.DS C.ES D.SS

14、如果指令的运算结果为0,则( C )标志位为1。

A.SF B.OF C.ZF D.CF

15、如果指令的运算结果中有奇数个1,则(A )标志位为0。

A.PF B.CF C.OF D.SF 16、IBM PC机的内存是按(B )是编址的。

A.位 B.字节 C.字 D.双字 17、存储器的一个字节表示(A )位。

A.8 B.16 C.32 D.64

18、如果某个字变量的数据存放在奇地址单元,则8086/8088 CPU读写该变量时需要( B )个读写周期。 A.1 B.2 C.3 D.4

19、在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是( B )地址。

A.逻辑 B.物理 C.有效 D.相对

20、一个16位相对位移的范围是( C )。

A.0~65535 B.0000H~FFFFH

C.8000H~7FFFH D.8000H~FFFFH

21、物理地址的形成过程是将段地址左移( C )位加偏移地址。

A.2 B.3 C.4 D.5

22、如果某一存储单元的逻辑地址为236FH:1000H。则物理地址为(D )。

A.1236FH B.336FH C.336F0H D.246F0H

23、如果内存的某一单元的物理地址为12345H。则它的逻辑地址为( C ):0345H。

A.0012H B.12000H C.1200H D.0120H

24、如果一个字变量中存放16个字,该字变量的起始地址为1000H:

2000H,则该字变量数据区中的最末一个字单元的物理地址为( C )。

A.1201FH B.12000H C.1201EH D.12020H

25、设22000H、22001H单元分别存放的数据为12H、34H,若要读取22000H字单元中的数据,此时读出的数据是( C )。

A.12H B.34H C.3412H D.1234H 26、如果数据存放在DI的内容为偏移地址的数据段中,设DS=3624H,DI=2200H,则此存储单元的物理地址为( A )。

A.38440H B.58240H C.25624H D.58240H 27、一般的外部设备接口电路中的状态寄存器是用来存放外设或接口电路的( C )信息。

A.数据 B.控制 C.状态 D.前三者

28、下列叙述正确的是( B )。

A.不同类型的机器字长是一样的

B.一个字节有8位二进制数 C.各种不同的机器指令系统都是一样的

D.机器指令都是8位的 29、下列叙述正确的是( D )。 A.8088 CPU的内部数据总线是8位的,外部数据总线是8位的 B.8088 CPU的内部数据总线是16位的,外部数据总线是16位的 C.8086 CPU的内部数据总线是8位的,外部数据总线是8位的 D.8086 CPU的内部数据总线是16位的,外部数据总线是16位的 30、下列叙述正确的是( A )。 A.机器指令是可执行指令 B.汇编语言源程序可直接执行

C.汇编语言目标程序可直接执行

D.高级语言程序可直接执行

二、多项选择题 1、中央处理器CPU是由(ABC )组成的。

A.运算器 B.控制器 C.寄存器组 D.存储器

2、下列寄存器中属于段寄存器的有( CD )。

A.SI B.DI C.SS D.ES

3、下列属于系统软件的有( ABCD )。

A.操作系统 B.汇编语言 C.高级语言 D.编译程序 4、下列的16位寄存器中能够用2个8位寄存器来表示的有(BD )。 A.SI B.AX C.BP D.BX 5、逻辑地址是由( AC )组成的。 A.段地址 B.物理地址 C.偏移地址 D.实际地址 6、在下列标志位中,不能根据运算结果置位/复位的标志位有( AC )。

A.IF B.PF C.TF D.OF

7、在下列的标志位中,够能根据运算结果置位/复位的标志位有( ABC )。

A.ZF B.PF C.DF D.SF

8、在下列的逻辑地址中,用来表示同一个物理地址3240AH的有( ACD )。 A.3040H:200AH B.240AH:3000H

C.3200H:040AH D.3000H:240AH

9、在下列文件中,能够在计算机上直接运行的有( AC )。

A.EXE文件 B.COM文件 C.OBJ文件 D.BAT文件 10、在外部设备接口电路中,一般有( ABD )。

A.数据寄存器 B.状态寄存器 C.标志寄存器 D.控制寄存器

三、填空题

1、中央处理器CPU包括___运算器____,__控制器_____和内部可编程的___寄存器组____。

2、计算机的硬件系统包括_CPU______,___存储器____和输入/输出子系统三个主要组成部分。

3、汇编语言是属于__系统_____软件。 4、汇编语言源程序必须经过____汇编程序汇编___后再___连接____才能产生__可执行(EXE)_____文件。 5、装入程序的作用是把要执行的___程序____和库文件或其它已翻译过的__子程序____连接在一起形成机器能__执行_____的程序。

6、装入程序的作用是将程序从__外存储器_____传送到___内存____。

7、在PC机中,一些简单的汇编语言可以通过___调试程序____来建立、修改和执行。

8、操作系统是属于__系统_____软件。

9、调试程序是属于__系统_____软件。

10、用汇编语言编写的图像显示软件属于____用户(应用)___软件。 11、8086/8088 CPU的地址有__20____位。可寻址的内存地址空间是____1MB___。

12、8086/8088 CPU有___4___个段寄存器。

13、在读取下一条指令时,___CS____中的内容为作为该指令的段地址,__ IP_____中的内容作为该指令的偏移地址。

14、当两个无符号数的字节相加时,其结果超过__255_____时就将CF置1。

15、当两个有符号数的字节相加时,其结果超过_+127~-128______时就将OF置1。

16、若运算的结果为负数,则SF为___1____。

17、IBM PC机的存储器是按___字节____编址的。

18、若某双字变量中存放两个数据,它占用___8____个存储单元。 19、在8086/8088 CPU的微机中,CPU访问奇地址字单元需__2_____个内存读写周期,访问偶地址字单元需_____1__个内存读写周期。

20、IBM PC机的存储器按段划分,每个段的大小可在__64KB____范围内选取任意个____字节__数。 21、IBM PC机的1MB内存空间最多可分为____64K___个段。

22、逻辑地址是由___段地址____和___偏移地址____组成的,它可以形成20位的物理地址。

23、形成内存物理地址的过程是将__段地址_____左移__4_____位加 偏移地址 。 24、某微机的字长为32位,一个字需占用内存___4____个字节单元。 25、若某存储单元的逻辑地址为1200H:3400H,则该存储单元的物理地址为__15400H_____。

26、IBM PC机可寻址的I/O端口地址有__64K_____,共使用__16_____条地址线。 27、若要将字1234H存放在以10000H开始的存储单元之中,则10000H=__34H_____,10001H=___12H____。

28、若要将双字12345678H存放在20000H开始的存储单元之中,则20002H=____34H___。

29、外设与接口电路中的控制寄存器中的内容是由__CPU_____送来的。

30、外设与主机传递信息是通过外设接口电路实现的。一般的接口电路中有__数据寄存器_____、__控制寄存器____和__状态寄存器_____三种不同类型的寄存器。 31、压缩型BCD码一个字节能表示___2____位十进制数,非压缩型BCD码一个字节能表示___1___位十进制数。

32、辅助进位位AF主要是用于对__十进制_____数据进行算术的调整。 四、简答题

1、IBM PC微型计算机一般采用什么总线结构形式?这种总线结构将那几个主要部件连接在一起构成微型计算机的硬件系统?

2、8086/8088 CPU为什么只能寻址1MB的内存空间?

3、IBM PC机的存储器为什么要分段?怎样采用分段寻址?

4、一个8位数能表示的最大值和最小值是多少?一个16位数能表示的最大值和最小值是多少?

5、如何实现ASCII码数字字符与BCD码之间的相互转换?

6、简述存储器的逻辑地址、物理地址和有效地址。

7、堆栈操作的原则是什么?堆栈操作的过程是怎样进行的?

8、在8086/8088系统中,内存的逻辑地址是由哪两部分组成的? 9、下列操作可使用哪些寄存器? (1)加法和减法。 (2)循环计数。 (3)乘法和除法。 (4)指示程序已执行到哪条指令的地址。 (5)指示当前从堆栈中弹出数据的地址。

(6)表示运算结果为零。

11、设SS=1200H,堆栈压入10个字节后,SP=00F6H。请指出堆栈

底部字单元的物理地址,堆栈顶部字单元的物理地址。

12、设有一个30个字的数据区,它的起始地址是2000H:3000H,请给出这个数据区的首、末字单元的物理地址。

一.单项选择题

1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为(B )。

A.5000H B.5008H C.23008H D.32008H

2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为( A )。 A.13000H B.23000H C.33000H D. 3000H

3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为( B )。 A.20200H B.30200H C.50200H D.200H

4.指令MOV MEM[BX],AX中的MEM是( C )。

A.原码 B.反码 C.补码 D.移码 5.用来作为寄存器间接寻址的寄存器有( D )个。

A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用( B )段寄存器。 A.CS B.DS C.SS D.ES

7.指令MOV BX,[BP+5]中的源操作数使用( C )段寄存器。 A.CS B.DS C.SS D.ES

8.段内间接寻址只改变( B )中的内容。

A.CS B.IP C.CS和IP D.PSW

9.段间间接寻址只改变( C )中的内容。

A.CS B.IP C.CS和IP D.PSW

10.下述指令中不改变PSW的指令是( A )。

A.MOV AX,BX B.AND AL,0FH

C.SHR BX,CL D.ADD AL,BL

11.下述指令中不影响CF的指令是( B )。

A.SHL AL,1 B.INC CX

C.ADD [BX],AL D.SUB AX,BX

12.两个整数补码9CH和7AH相加运算后,会产生( B )。

A.无溢出且无进位 B.无溢出但有进位

C.有溢出且有进位 D.有溢出但无进位 13.指令JMP WORD PTR [BX]属于(B )寻址。

A.段内直接 B.段内间接 C.段间直接 D.段间间接 14.指令MOV AX,[BX+SI+8]的源操作数属于( D )寻址。 A.直接 B.寄存器相对 C.基址变址 D. 相对基址变址

15.指令( A )不改变CF的内容。

A.DEC AL B.ADD AX,CX C.SUB [BX],CL D.SBB AL,DL

16.十进制数字74所对应的压缩型BCD码的形式是( B )。

A.74 B.74H C.4AH D.4A

17.十进制数字85所对应的非压缩型BCD码的形式是( D )。 A.0085 B.0085H C.0805 D.0805H

18.设AL=67H,执行―CMP AL,76H‖后,AL=( C )。

A.76H B.0DFH C.67H D.00

19.设AL=65H,BL=29H,执行下列指令后,AL=( C )。 ADD AL,BL DAA

A.8EH B.94 C.94H D.8E

20.压栈操作是( B )位数的操作。

A.8 B.16 C.32 D.任意

21.执行IMUL指令时,如果乘积的高位部分不是低位部分的符号扩展,则( D )。

A.OF=0、CF=0 B.OF=0、CF=1 C.OF=1、CF=0 D.OF=1、CF=1

22.设AX=3762H,CL=5,执行―SHR AX,CL‖后,AX=( B )。 A.0376H B.01BBH C.01BB D.0376

23.若要在BUF缓冲区中寻找与AL中不相等的数据,应使用( C)SCASB串操作指令。 A.REPNE B.REP C.REPE D.REPNZ

24.如果―JNC L‖指令的操作码放在0040H,转移后在0020H处取下一条指令的操 作码,那么该条指令的位移量是( C )。 A.20H B.1EH C.0DEH D.0E0H 25.如果―JA P‖指令的操作码放在0050H, 该指令的位移量为34H,执行完此条指

令转移到取下一条指令的偏移地址为( C)

A.0082H B.0084H C.0086H D.0088H 26.若DS=1000H,BX=2000H,(12000H)=56H,(12001H)=78H,AX=1000H,执行―ADD AX,[BX]‖指令后,AX=( A )。

A.8856H B.6678H C.8800H D.6600H

27.设AX、BX寄存器中存放的是有符号的二进制数据,若执行―CMP AX,BX‖指

令后,( D )L表示大于则转L。 A.JZ B.JA C.JGE D.JG

28.执行―DIV BX‖指令后,( C )寄存器中存放商。

A.AL B.AH C.AX D.DX

29.执行―( A )AX,BX‖指令不改变AX寄存器中的内容。

A.CMP B.ADD C.XOR D.OR

30.若AX=1000H,执行―NEG AX‖指令后,AX=( C )。 A.1000H B.0E000H C.0F000H D.1001H 二、多项选择题

1.在下列寻址方式中,用来访问内存的寻址方式有( BCD )。

A.寄存器寻址 B.寄存器间接寻址 C.寄存器相对寻址 D.直接寻址

2.用来作为寄存器间接寻址的寄存器有( BC )。

A.AX B.BX C.BP D. CX

3.在下列指令中,源操作数使用DS段寄存器进行寄存器相对寻址的有( AD )。 A.MOV AX,[DI+4] B.MOV AX,ES:[SI+8]

C.MOV AX,[BP+4] D.MOV AX,[BX+4] 4.在下列指令中,源操作数的寻址方式是错误的有( BCD )。

A.MOV AX,[DI+BX] B.MOV AX,[SI+DI]

C.MOV AX,[BP+BX] D.MOV AX,[DX]

5.在下列指令中,属于段内转移指令的有( ABD )。

A.JMP SHORT A B.JMP [BX] C.JMP DWORD PTR [BX] D.JMP NEAR PTR [BX+SI]

6.在下列指令中,错误的指令有( ABCD )。

A.SUB 5,AL B.ADD AL,BX

C.INC [BX] D.SHR AX,6

7.执行―CMP AX,8003H‖指令后,当AX中的无符号数高于8003H时,下列指令中有效的转移指令有( AB )。

A.JNB L B.JA L C.JG L D.JNL L

8.可与串操作指令―CMPSW‖指令配合使用的重复前缀有( BCD )。 A.REP B.REPZ C.REPNZ D.REPE

9.在下列的输入/输出指令中,正确的指令有( ABD )。 A.IN AX,80H B.OUT DX,AX

C.IN AL,340 D.OUT DX,AL

10.在下列的指令中,错误的指令有( ABCD )。

A.PUSH AL B.MOV AL,BX

C.PUSH 1000H D.CALL AX

11.可以用下列指令代替―LOOP L‖指令的有( AC )。

A.DEC CX B.DEC CX

JNZ L JNC L

C.DEC CX D.DEC CX

CMP CX,0 JE L

JE L 三.填空题

1.在一条指令中,立即数只能作 源 操作数。

2.8086/8088 CPU形成的内存物理地址有 20 位。

3.指令―MOV AX,[BX+SI]‖的源操作数在内存的 DS(数据) 段。 4.指令―MOV BX,[BP+DI]‖的源操作数在内存的 SS(堆栈) 段。 5.指令―MOV AX,ES:[SI]‖的源操作数在内存的 ES(附加) 段。 6.入栈指令使用的是 SS(堆栈) 段。

7.指令―ADD [BX+SI],AL‖的目的操作数是 基址加变址 寻址方式。

8.指令―SUB BX,A[SI]‖的源操作数是 寄存器相对 寻址方式。 9.指令―JMP DWORD PTR [BX]‖属于 段间间接 寻址方式。 10.可作为寄存器间接寻址的寄存器有 4 个。

11.堆栈是从 目标地址 高 地址向 低 方向生长的。其操作遵循 后进先出(先进后出) 的操作原则。

12.在进行弹栈操作时应该先将弹出的数据送 目标地址 ,然后 SP+2 。

13.在进行多精度加法运算时,一般使用 ADC(带进位加) 指令。 14.通用的数据传送指令不影响 标志位(PSW) 。 15.―INC AL‖ 指令不影响标志位的 CF 位。

16.若AL=11H,执行―NEG AL‖ 后,AL= 0EFH 。

17.JMP指令的执行 不影响 PSW寄存器中的各位。

18.两个无符号数进行比较时,可以根据 CF(SF) 标志位来判断大小。在编写程序时可使用

JA(JB、JC、JNC、JS、JNS) 指令来实现。

19.若执行―DIV BX‖,其被除数的高16位必须放在 DX ,低16位必须放在 AX 。

20.DAA指令只对 AL 寄存器中的内容进行调整。 21.若AL=84H,在执行CBW后,AL= 0FF84H 。

22.十进制数1234的压缩型BCD码为 1234H 。

23.执行 AND AL,0FH JNZ L

指令,是检测AL中的 低4位 位,当它为非零则转移。

24.若移位指令的移位位数大于1时,其移位位数必须放在 CL 中。 25.如果AL=85H,CL=4,执行―SAR AL,CL‖时,AL= 0F8H ,CF= 0 。

26.在串操作指令中,SI指向 源 串,DI指向 目的 串。 27.如果要查找某串中与AL寄存器中有相同的字符(数),则在SCASB指令前应配合使用 REPNE(REPNZ) 重复前缀。

28.转移指令―JNZ L ‖的转移范围(十进制)是 –128~127 。该指令的第二个字节为位移量,用 补码 形式表示。 29.段内调用指令改变 IP 中的内容。

30.段间调用指令改变 CS和IP 中的内容。

四.判断题(判断下列指令是否正确,如果是错误的,请指出错误的原因) 1.ADD AL,BX

2.MOV [BX],SI 3.SUB [BX],[SI] 4.CMP 5,AL 5.MOV CX,AX 6.LEA BL,A 7.SHR AL,6

8.MOV AL,[DI+SI] 9.MOV BL,200H 10.MOV AX,DATA 11.INC [BX]

12.CMP [BX],A ;A为变量

13.MOV AX,?+‘

14.MOV AX, [BP+BX] 15.ADD AX,[CX] 16.OUT 400,AL 17.JNC P

18.MOV BX,,OFFSET A 19.LEA DI,A[SI] 20.CMP AX,5

五.改错题(按下列指令中的原意改正下列指令)

1.DEC [SI] 2.CMP AL,BX ;无符号数比较

3.MOV [DX],AL 4.MOV AL,300H 5.MOV [BX],[DI] ;字节操作

6.ADD AL,[CX+SI] 7.ADD AL,BX ;有符号数相加

8.PUSH AL

9.CMP [BX],5 ;字节比较

10.MOV DS,1234H 六.简答题

1.设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么? (1)使用D的直接寻址

(2)使用BX寄存器的间接寻址 (3)使用BX寄存器的相对寻址 (4)基址变址寻址

(5)相对基址变址寻址 2.请指出下列各条指令的源操作数的寻址方式是什么?

(1)MOV AX,BUF (2)CMP AL,5 (3)ADD [BX+5],AX (4)SUB AX,[BX+SI]

(5)ADC AH,A[SI] (6)MOV BX,[SI]

(7)AND CX,B[BP+SI] (8)JMP WORD PTR [BX]

(9)JMP P

(10)JMP FAR PTR P 3.设 DS=2000H, BX=0100H, SI=0002H, (20100H)=12H, (20101H)=34H,(20102H)= 56H, (20103H)= 78H, (21200H)= 2AH, (21201H)= 4CH,(21202H)=B7H,(21203H)

=65H,试说明下列各条指令执行完后AX寄存器中的内容是多少?

(1)MOV AX,1200H (2)MOV AX,BX

(3)MOV AX,[1200H] (4)MOV AX,[BX]

(5)MOV AX,[BX+1100H] (6)MOV AX,[BX+SI] (7)MOV AX,[BX+SI+1100H] 4.按下列各小题的要求写出相应的一条汇编语言指令。

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中 (2)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。 (3)以SI和位移量20H作寄存器相对寻址,将该单元中的内容与CX寄存器中的内

容相加,结果存入CX寄存器中。

(4)清除AX寄存器的内容,同时清除CF标志位

(5)将字单元NUM与0B6H进行比较 5.按下列各小题的要求使用相应的几条指令完成其操作。 (1)将偏移量为200H的存储单元中的数与300H相加,结果存入AX寄存器中

(2)比较AX寄存器中与BX寄存器中的16位有符号数,当AX中的内容大于BX中的内容时转移到L。

(3)将BUF1和BUF2中的16位数据交换

(4)测试BUF字缓冲区中第15位,如果为1则转移到P

(5)将BUFI和BUF2的字相加,结果送S缓冲区

6.设BX=8234H,请说明下列两条指令的区别,执行下列各指令后BX中的内容是什么? SHR BX,1

SAR BX,1 7.分别说明下列每组指令中的两条指令的区别。

(1) MOV BX,BUF LEA BX,BUF (2) OR BL,0FH AND BL,0FH (3) JMP SHORT L JMP L

(4) MOV AX,BX MOV AX,[BX] (5) MOV AX,[BX+DI] MOV AX,[BP+DI] 8.说明下列各指令的源操作数和目的操作数的存储地方。

(1)MOV [2000H],AX (2)ADD AX,[BX+5] (3)LEA SI,BUF (4)DAA

(5)MUL BL 9.指出下列无条件转移指令的转移目标地址是什么?存放在何处?

(1)JMP BX

(2)JMP WORD PTR [BX] (3)JMP DWORD PTR [BX]

(4)JMP P

(5)JMP SHORT R

10.说明MOVSB和CMPSB各能使用哪些重复前缀? 七.程序分析题

1.现有程序段如下: MOV AX,1234H MOV BX,60H ADD AX,BX

请回答 :(1)该程序段完成的功能是什么?

(2)程序段执行完后AX= 。

2.现有程序段如下: MOV AX,0603H MOV BL,8 AAD

DIV BL

请回答 :(1)该程序段完成的功能是什么?

(2)程序段执行完后AX= 。

3.设AX=0D023H,BX=9FD0H,试分析执行完如下程序段后程序转向何处?

ADD AX,BX JNO L1 JNC L2

SUB AX,BX JNC L3 JNO L4 JMP L5

4.程序段如下: MOV AX,X MOV DX,X+2 ADD AX,Y ADC DX,Y+2 ADD AX,36 ADC DX,0 SUB AX,Z

SBB DX,Z+2 MOV W,AX MOV W+2,DX

请回答 :(1)该程序段完成的功能是什么?

(2)该程序的操作数是何类型?

(3)结果存放在何处? 5.设A为字节变量,变量中的内容分别为64H、52H;B为字节变量,变量中的内容分别为12H、46H,现有程序段如下:

MOV AL,A SUB AL,B DAS

MOV C,AL MOV AL,A+1 SBB AL,B+1 DAS

MOV C+1,AL

请回答 :(1)该程序段完成的功能是什么?

(2)最后结果是什么? 6.现有程序段如下: MOV BL,AL MOV CL,4 SHR BL,CL MOV A,BL AND AL,0FH MOV B,AL

请回答 :(1)该程序段完成的功能是什么?

(2)如果AL的初值为56H,则A= ,B= 。 7.现有程序段如下: MOV AL,8 MOV BL,7 MUL BL AAM

ADD AX,3030H XCHG AH,AL MOV BUF,AX

请回答 :(1)该程序段完成的功能是什么?

(2)BUF两个单元中的值分别为 。

8.现有程序段如下: MOV AX,M MOV DX,N SHR DX,1 RCR AX,1

请回答 :(1)该程序段完成的功能是什么?

(2)若M=1234H,N=5678H,程序运行后DX= ,AX= 。

9.现有程序段如下: XOR AX,AX

MOV AX,6342H MOV CX,0404H ROL AH,CL XCHG CH,CL ROR AL,CL

请回答 :(1)该程序段执行后AX= 。

(2)CF= 。

10.现有程序段如下: MOV AX,1 MOV BX,2 MOV CX,4 MOV DX,3 L: INC AX

ADD BX,AX SHR DX,1 LOOPNZ L

请回答 :(1)该程序段的循环次数是多少?

(2)该程序段执行完后AX= ,BX= ,CX= ,DX= 。

11.现有程序段如下: MOV CX,16 MOV BX,0 MOV DX,1

L: MOV AX,9AB8H AND AX,DX JZ N INC BX

N: SHL DX,1 LOOP L MOV M,BX

请回答 :(1)该程序段完成的功能是什么?

(2)该程序段执行完后(M)= 。

12.现有程序段如下: CLD

MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV CX,100 REP MOVSB

请回答:该程序段完成的功能是什么?

13. 现有程序段如下: CLD

LEA DI,BUF MOV AL,20H MOV CX,100 REPNZ SCASB

请回答 :(1)该程序段完成的功能是什么?

(2)若ZF=1,表示BUF中 值为20H数据

(3)若BUF的首地址为0,ZF=0,执行完该程序段后DI= 。

14.现有程序段如下: MOV AL,0 MOV BL,1 MOV CX,10 L: ADD AL,BL INC BL LOOP L

请回答 :(1)该程序段完成的功能是什么?

(2)该程序执行完后,AL= 。

15.现有程序段如下: MOV AX,M CMP AX,N JA L

MOV AX,M+2 CMP AX,N+2 JAZ L

MOV FLG,BYTE PTR 0 JMP P

L: MOV FLG BYTE PTR 1

P: …

请回答 :(1)该程序段完成的功能是什么?

(2)若M=1234H,N=5678H,则FLG= 。 16.现有程序段如下: MOV CX,100 LEA BX,BUF MOV DX,0

L1:MOV AL,<, /FONT>[BX]

CMP AL,10 JL L2 INC DX L2:INC BX

LOOP L1

请回答 :(1)该程序段完成的功能是什么?

(2)如果将JL改为JG,该程序段完成的功能又是什么? 17.设TAB中存放的数据为30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,现有程序段如下: LEA BX,TAB

MOV AL,X ;X为数字0~9 XLAT

请回答 :(1)该程序段完成的功能是什么?

(2)若X中的内容为4,则AL= 。

18.现有程序段如下: LEA SI,BUF1 LEA DI,BUF2 MOV CX,100

L: MOV AL,[SI+100] MOV [DI],AL

INC DI DEC SI LOOP L

请回答:该程序段完成的功能是什么?

么? 19.现有程序段如下: MOV AX,BUF CMP AX,0 JNS L

MOV BX,BUF+2 NEG BX

MOV BUF+2,BX NOT AX ADC AX,0 MOV BUF,AX L: …

请回答:该程序段完成的功能是什

20.现有程序段如下: MOV AL,X AND AL,0FH JZ L

MOV BYTE PTR FLG,1

JMP M

L: MOV BYTE PTR FLG,0

M: …

请回答:该程序段完成的功能是什么?

八.程序设计题

1.使用串操作指令,将BUF缓冲区中的100个字节清0。

2.比较5个字节的字符串A和B,若两个串相等则字节标志单元FLG置0;否则清1。 3.设BUF缓冲区中有100个字数据。编写程序段统计100个字数据中数据为0的个数,

并将统计的结果存放在DL寄存器中。 4.计算Z=(X+5)*Y+30,(X,Y为无符号字节数据)。

5.将DX:AX:BX中的48位数乘以2。

6.将有100个字符的缓冲区BUF中的$符号用空格(20H)代替。 7.将有符号的字数据A和B中的大者存入C中。

8.测字单元A中的第四位是否为0,是则FLG置1,否则清0。 9.将DX:AX中的32位数据逻辑左移2位。

10.将100个元素的字数组A中的每个元素减1。 3.4.1 单项选择题 1.下列选项中不能作为名字项的是(C )。

A.FH B.A3 C.3B D.FADC

2.下列指令不正确的是( D )。 A.MOV AL,123 B.MOV AL,123Q C.MOV AL,123D D.MOV AL,123H

3.下列指令不正确的是( A )。 A.MOV BL,OFFSET A B.LEA BX,A

C.MOV BX,OFFSET A D.MOV BX,A 4.若定义―BUF DB 1,2,3,4‖,执行MOV AL,TYPE BUF 后AL=( B )。

A.0 B.1 C.2 D.3 5.若定义―A EQU 100‖,执行―MOV AX,A‖后,AX=( C )。

A.A的偏移地址 B.A单元中的内容 C.100 D.A的段地址 6.若定义―B DW 1,2,10 DUP(0)‖,则该伪指令分配( D )字节单元。

A.10 B.20 C.22 D.24

7.若定义―C DD 2,4‖,则该伪指令分配( D )个字节单元。

A.2 B.4 C.6 D.8

8、伪指令是( C )规定的汇编说明符,它在源程序汇编时进行说明。 A、DEBUG B、LINK C、MASM D、EDIT

9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个( A )文件。 A. .LST B. .EXE C. .MAP D. .ASM

10.LINK命令执行后可以生成一个以( B )为扩展名的文件。

A.ASM B.EXE C.OBJ D.COM

11.一个段最大可定义( B )字节。

A.1M B.64K C.32K D.16K

12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选( D )。 A.BYTE B.WORD C.PARA D.PAGE