川农汇编语言题库及部分答案

更新时间:2024-03-22 21:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2452643696 一、单项选择题

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 )组成的。

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指向 目的 串。

A5 DB 7,3,2 DATA ENDS

请回答:(1)用一条指令将A2的偏移地址送BX。 (2)将A1的第6个字节送字符?A‘的ASCII码 (3)将A2的第3个字节的内容送AL。 (4)将A2的第3个单元开始的字内容送AX。

(5)用一条伪指令求出A1和A2所占字节数(设伪指令的变量为C)。 6.设数据段定义如下: DATA SEGMENT A DW 2,3

B DB 100 DUP(0) C DD 12345678H D DB $—B E DW B DATA ENDS

请回答:(1)用一条指令将C的第2个字节的内容取出并送AL。 (2)执行完―MOV AL,LENGTH B‖后,AL= 。 (3)执行完―MOV AL,TYPE C‖后,AL= 。 (4)执行完―MOV AL,LENGTH A‖后,AL= 。 (5)执行完―MOV AL,SIZE B‖后,AL= 。 (6)执行完―MOV AL,D‖后,AL= 。 (7)执行完―MOV BX,E‖后,BX= 。 (8)执行完―MOV AL,A+2‖后,AL= 。 7.设数据段定义如下: DATA SEGMENT A DW 1,2,3 B DB ?ABCDEF‘ C DW ?AB‘

D DB 12H,34H,56H E = $+5 DATA ENDS

请回答:(1)用一条指令将B字符串中的字符?E‘送AL。

(2)用一条指令将D变量中的第2个、第3个字节的内容送AX。 (3)用一条指令将A变量中的第3个字节送AL。 (4)―MOV AX,C‖执行后,AX= 。 (5)―MOV AL,E‖执行后,AL= 。 8.按下列要求写出数据段DATA的相应内容。 (1)TAB是0~9的ASCII码表。

(2)STR是字符串变量,字符串为COMPUTER。 (3)BUF是100个空格的缓冲区。

(4)COUNT是计算BUF缓冲区中字节数的常量变量。 (5)AD是存放TAB的偏移地址变量。 (6)D是字节变量,数值为15H,2,3 9.按下列要求写出数据段DSEG的相应内容。 (1)STR是存放字符ABCDE的字符串变量。

(2)D是存放十进制BCD数据372,2673,6852的字变量。 (3)BUF是存放10个0的字节缓冲区。

(4)E是存放BUF偏移地址和段地址的双字变量。 (5)F是常量,其值为5。

10.简述宏指令与子程序的主要区别。

11.在操作系统状态下,执行MASM程序对某一汇编语言源程序进行汇编后,除产生目标文件外,通过对答方式还可以产生对应源程序的另外两个文件。请指出: (1)这两个文件的扩展名是什么? (2)这两个文件的功能是什么?

12.简述汇编程序对宏调用作宏展开的过程。 13.设数据段定义如下: DATA SEGMENT A DW 1,2 B DB 3,4 C DB ?ABCD‘ D = $—C E DB 3 DUP(0) DATA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。

(2)变量A、B、C、E的偏移地址各是多少? (3)变量D的值是多少? 14.设数据段定义如下: DATA SEGMENT BUF1 DW 123H BUF2 DB ?SIMPLE‘ BUF3 DW $+4 BUF4 EQU $—BUF1 DATA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。 (2)BUF1、BUF2、BUF3的偏移地址各是多少? (3)BUF4的值是多少?

(4)―MOV AL,BUF2+5‖执行后,AL= 。 15.设数据段定义如下: DATA SEGMENT ORG=4

A EQU 100 B DB ?ABC‘,2 C DW 101B D EQU B+4 DATA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。 (2)B、C的偏移地址各是多少?

(3)―MOV AX,D‖执行后,AX= 。 五.判断改错题

1.设数据段定义如下,判断各语句是否正确,如有错误则改正。 DATA SEGMENT A DB 123H B DW 23,45678H C DW ?ABCD‘

D DB 100 DUP(?ABC‘) E DB ($—D)/3

DATA END 2.设数据段定义如下: DATA SEGMENT BUF1 DB 2,3 BUF2 DW 3 BUF3 DD 5 BUF4 EQU $—BUF1 BUF5 DB ?ABCD‘ BUF6 DW BUF5 DATA ENDS

请判断下列指令是否正确,如果有错请改正。 (1) MOV AX,BUF1 (2) MOV AL,BUF5 (3) MOV AX,BUF4 (4) LEA BL,BUF2 (5) MOV AX,BUF3

(6) MOV [BX],TYPE BUF3 (7) MOV [BX],WORD PTR BUF3 (8) MOV BUF5,AL (9) MOV BUF6,BUF2 (10)MOV BX,BUF6

3.判断下列伪指令是否正确,如果有错请改正。 (1)DATA SEG ┇ ENDS

(2)CODE SEGMENT ┇ CODE END (3)MA SEGMENT ┇ ENDM

(4)STACK SEGMENT ?STACK‘

(5) A SEGMENT B DW 1 C DB 123H A ENDS

(6)MYNAME SEGMENT PARA ┇

MYNAME ENDS 六.程序分析题

1.分析下列程序,说明程序的功能。 DATA SEGMENT

A DB 18H,34H,05H,06H,09H DB 0AH,0CH,11H,12H,14H B DB 3,4 C DB 2 DUP(0) DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA BX,A MOV CX,2

MOV SI,OFFSET B LEA DI,C L: MOV AL,[SI] XLAT

MOV [DI],AL INC SI INC DI LOOP L MOV AH,4CH INT 21H CODE ENDS

本文来源:https://www.bwwdw.com/article/scr8.html

Top