文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言练习题库

汇编语言练习题库

汇编语言练习题库
汇编语言练习题库

华中师范大学网络教育学院

《汇编语言程序设计》练习测试题库一 .选择题(只有一个正确答案,填在题干前的括号里)

1.一台完整的计算机系统包括_________。

A.硬件系统和软件系统

B.系统硬件和系统软件

C.控制器、运算器、存储器、输入设备和输出设备

D.操作系统、机器语言、汇编语言、高级语言

2.汇编程序属于_________。

A.硬件系统

B.软件系统

C.系统软件

D.用户软件

3.简单的汇编语言程序可以通过_________来建立

A.连接程序

B.调试程序

C.汇编程序

D.编辑程序

4.8086/8088微处理器包含有两个独立的部件_________和_________。

A.R和ALU

B.CS和IP

C.BIU和EU

D.CPU和I/0设备

5 .进行汇编语言编程时,设计者应该考虑一些基本的要求,下列叙述不正确的是____。

A.程序应该结构化

B.程序应该执行速度快

C.程序应该占用空间大

D.程序应该简明、易读、易懂

6 .一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是____。

A.12C5BH

C.12C59H

7 .字符串HOLLO的ASCII代码表示为____.

A.484F4C4C4FH

B.484F4D4D4FH

C.494F4C4C4FH

D.494F4D4D4FH

8.如果内存中某一单元的物理地址是20B4CH,那么它的逻辑地址是_________:212CH。

A. IEA2H

B. IEB2H

C. IFA2H

D. IFB2H

9,现有段地址和偏移地址为1025H:0F2AH,那么它所对应存储单元中的物理地址是

_________。

A. 1107AH

B. 01F4FH

C. 11F4FH

D. 1117AH

10.一个有16个字的数据区,它的起始地址是1000H:117AH,请指出这个数据区最末一个字单元的物理地址是_________。

C .11198H

11.在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是_________。

A.逻辑地址

B.物理地址

C.有效地址

D.相对地址

12.十进制数-80用16位补码表示是_________。

A. FFBOH

B. 8080H

C. FF80H

D. F080H

13 . 设(DS)=6789H,偏移量为84H,该字节的物理地址是_____。

A. 67974H

B. 6873H

C. 67914H

D. 681DH

14.在程序执行过程中,IP寄存器中始终保存的是_____。

A.上一条指令的首地址

B.下一条指令的首地址

C.正在执行指令的首地址

D.需计算有效地址后才能确定地址

15.一个16位相对偏移量的范围是_____。

A. 0-65535

B. 0000H-FFFFH

C. 8000H-7FFFH

D. 8000H-FFFFH

16.与BP寄存器组合才能形成堆栈中物理地址的寄存器是_____。

A.CS寄存器

寄存器

C. DS寄存器

寄存器

17.在程序状态字寄存器PSW中,作为记录指令操作结果的标志是_____。

A.CF,OF,PF,AF,SF,ZF

B.CF,PP,ZF,SF

C.OF,DF,IF,SF,ZF,CF

D,1F,DF,OF,CF

18.PSW寄存器中共有_____位条件状态位,有_____位控制状态位。

A. 6、 3

B. 3、6

C. 8、 4

D. 4、8

19.8086/8088微处理器有_____地址线,直接寻址内存空间的范围是_____。

A.10条,64KB

B.20条,64KB

C.16条,1MB

D.20条,1MB

20. CPU执行的指令将从代码段取得,而用来给出当前代码段的代码段寄存器是_____。

A.CS

B.DS

C.SS

D.ES

21 .用CMP指令判断无符号数A

=1

=0

=OF=1

=OF=0

22 .在8086/8088中,执行单步中断服务程序的第一条指令时,TF、IF的状态为____。

=0,IF=0

=0,IF=1

=1,IF=0

=1,IF=1

23 .在数据传送过程中,不能直接与立即数进行传送的是_____。

A. 通用寄存器

和D 是正确的

C. 段寄存器

D.存储器

24 . 下面指令中不能完成BX+CX→AX的操作的是_____。

AX,BX BX,CX

ADD AX,CX MOV AX,BX

AX,CX AX,BX

ADD AX,BX ADD AX,CX

25 .AND DX,NUM AND 0FFABH 上述指令中出现两个AND,正确的解释是____。

A.均是逻辑运算符

B.均是指令助记符

C.前者是指令助记符,后者为逻辑运算符

D.两个AND操作均在程序执行时得到运算结果

26 .指令代码的地址存放在寄存器____中。

和SI

和BP

和DI

和IP

27 .Jump WORD PTR[SI]指令实现的是___。

A.段内直接寻址

B.段内间接寻址

C.段间直接寻址

D.段间间接寻址

28.立即寻址方式中的立即数可以为_______位。

和16

29.能充当间接寄存器寻址方式的寄存器是___。

30.能充当变址寻址方式的基址寄存器是___.

A. SI

C. CH

31.能充当相对变址寻址方式的位移量的位数是___.

和16

32.段内直接寻址方式只改变_____寄存器的内容。33.段内间接寻址方式只改变_____寄存器的内容。

34.段间直接寻址方式只改变_____寄存器的内容。

和CS

35.段间间接寻址方式只改变_____寄存器的内容。

和CS

36.段内直接寻址方式中的位移量是_____位。

和16

37.在寄存器相对寻址方式MOV AX,[SI+DAT]中,偏移量DAT应是一个_____。

A. 原码

B.补码

C.反码

D.移码

38.在下述指令的表示中,不正确的是_____。

A. MOV AK,NUM[BX]

B. MOV AX,[BX]NUM[S1]

C. MOV AK,[BX+BP+NUM]

D. MOV AX,NUM[BP+D1]

39.下列指令执行时出错的是_____。

A.ADD BUFI,BUF2

B.JMP DWORD PTR DAT[BX]

C.MOV AX,[BX+D]NUM

D.TEST AL,08H

40.指令JMP DWORD PTR[SI][BX]属于____寻址。

A.寄存器间接寻址

B.相对基址变址寻址

C.段内转移直接寻址

D.段间转移间接寻址

41.下述对PSW寄存器中标志位不产生影响的指令是____。

A.JMP NEXT

B.TEST AL,80H

C.SHL AL,1

D.INC SI

42.下述对PSW寄存器中标志位产生影响的指令是____。

A.LOOP DON

B.NOT AX

C.NEG AX

D.XLAT BUF

43.进行两个补码整数9CH和7AH相加运算后,会产生____。

A.无溢出且无进位

B.无溢出但有进位

C. 有溢出且有进位

D. 有溢出但无进位

44.从键盘输入一个十进制数3042,它所对应的非压缩型BCD码的存储形式是____。

A. 03,00,04,02

B. 02,04,00,03

C. 33,30,34,32

D. 32,34,30,33

45.累加器AL中的内容为74H,执行CMP AL,47H指令后,累加器AL中的内容为____。

A. 2DH

B. OD3H

C. 74H

D. 00H

46.已知(AX)=1234H,执行下述三条指令后,(AX)= ____。

MOV BX,AX

NEG BX

ADD AX,BX

A. 1234H

B. 0EDCCH

C. 6DCCH

D. 0000H

47.执行IMUL指令时,如果乘积的高一半不是低一半的符号扩展,则( )。

A. CF=0, OF=0

B. CF=0, OF=1

C. CF=1, OP=0

D. CF=1, OF=1

48.若(DS)=2000H,(BX)=0050H,(20050H);12H,(20051H)=34H,执行MOVAX,[BX]指令后,AX寄存器中的内容是____。

A.(AX)=0050H

B.(AX)=0012H

C.(AX)=1234H

D.(AX)=3412H

49.下列描述不正确的是____。

A.执行指令XOR AX,AX后不会改变累加器原有的内容

B.执行指令TEXTAX,8000H后,不会改变加器原有的内容

C.执行指令AND AX,0FFPFH后,不会改变累加原有的内容

D.执行指令OR AX,0000H后,不会改变累加器原有的内容

50.指出下列指令正确的是____。

A. MOV AX,12H

B. ADD ADRI,ADR2

C. 1NC [BX]

D. XOR AX,[CX]

51.以下指令中不是逻辑运算指令的是____。

B.NOT

D.CWD

52.在移位类指令中,只有____指令不仅仅是在空缺位补零。

B.SAR

D.SHR

53.移位类指令使用时,若需移动多位,则应先将该位数置于____中。

B.AH

D.CH

54.____是定义字节变量的。

55.____是定义字变量的。

56. ____是定义双字节变量的。

57.若某数据段定义如下:

DATA SEGMENT

F1 DB 25H, 28H, 46H, 34H

F2 DW 3356H,2536H,1242H

F3 DD 4 DUP(?)

DATA ENDS

则执行指令语句:MOV AH,TYPE Fl

MOV AL,TYPE F2

之后,AX中的内容为____。

A.102H

B.104H

C.201H

D.以上均不正确

58.ASSUME伪指令说明了汇编程序所定义段与段寄存器的对应关系,它只影响____的设定。

A.源程序

B.目标程序

C.汇编程序

D.连接程序

59.在汇编过程中,汇编程序在第____遍扫描之后产生机器代码。

A.1

B.2

C.3

D.4

60.在ASSUME伪指令设定了段寄存器后,无需在程序段中用指令完成赋值的寄存器是____。

A.CS

B.DS

C.SS

D.ES

61 .流程图中的执行框表明的是某一段程序或某一个模块的功能,它的特点是___。

A.一个入口一个出口

B.一个入口多个出口

C.多个入口一个出口

D.多个入口多个出口

62.在8086/8088基址变址寻址指令中,允许使用的寄存器有____。

, BX, CX, DX

, IP

, ES, DS, SS

, BP, SI, DI

63.以BUF为起始地址的字节单元中建立一个输入缓冲区,在DOS功能子程序的调用中,执行0AH号功能后,用户从键盘输入的字符是从____个字节开始存放。

A. 第一

B. 第二

C. 第三

D. 第四

64 .下列描述中正确的是____。

A.在汇编语言编程中,必须有数据段和代码段

B.在汇编语言编程中,数据可以安排在代码段中

C.在汇编语言编程中,必须分别完整的定义数据段、堆栈段、附加段和代码段

D.在汇编语言编程中,必须采用过程的形式编写

65 .子程序重定位可选在内存中的整个区域内,进行程序设计时子程序内应采用____。

A.绝对地址

B.逻辑地址

C.相对地址

D.物理地址

66 .在进行二重循环程序设计时,下列描述正确的是____。

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内

B.外循环初值应置外循环之内;内循环初值应置内循环之内

C.内、外循环初值都应置外循环之外

D.内、外循环初值都应置外循环之内,内循环之外

67.COM文件只能由一个段组成,最大长度为____。

A.1KB.

B.64KB

C.1MB.

D.无限制

68、在汇编语言程序的开发过程中使用宏功能的顺序是____。

A、宏定义,宏调用

B、宏定义,宏展开

C、宏定义,宏调用,宏展开

D、宏定义,宏展开,宏调用

69、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是____。

A、名字项

B、操作项

C、操作数项

D、注释项

70、当程序顺序执行时,每取一条指令语句,IP指针增加的值是____。

A.1

B.2

C.3

D.由指令长度决定的

71、下列属于合法的指令是____。

A.MOV DS,ES

B.MOV [SI],[DI]

C.MOV AX,BL

D.MOV [DI],BL

72、下列传送指令中有语法错误的是____。

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

73、下面指令执行后,改变AL寄存器内容的指令是____。

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

74、将DX的内容除以2,正确的指令是____。

A.DIV 2

B.DIV DX,2

C.SAR DX,1

D.SHL DX,1

75、下列数值表达式和地址表达式中,错误的是____。

A.MOV AL,8*14+4

B.MOV SI,OFFSET BUF+13

C.MOV CX,NUM2-NUM1

D.MOV CX,NUM2+NUM1

76、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是____。

A、INC CX JZ MINUS

B、SUB CX,OFFFFH JZ MINUS

C、AND CX,OFFFFH JZ MINUS

D、XOR CX,OFFFFH JZ MINUS

77、下列叙述正确的是____。

A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令

B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令

C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令

D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令78、某存储单元的物理地址是12345H,可以作为它的段地址有____。

A.2345H

B.12345H

C.12340H

D.1234H

79、在执行下列指令时,需要使用段寄存器DS的指令是____。

A.STOSW

B.ADD AL,CL

C.NEG BX

D.INC DA[BX]

80、使用DOS系统功能调用时,使用的软中断指令是____。

A.INT 21

B.INT 10H

C.INT 16H

D.INT 21H

二 .判断题(只需判断对错,在题干前括号里对√,错×)

() 1.指令MOV AX,[BX][SI]也可写作MOV AX,[BX+SI] 。

()2. CF标志位,不但可以用来判断无符号数有无溢出,而且也可以判断带符号数有无溢出

()3.立即数是不允许被用作目的操作数的。

()4.一个符号经EQU赋值后,在整个程序中,这个符号不能再重新赋值。

()5.因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。

( ) 6 .因为计算机的存储空间是分段管理的,而汇编程序存放在存储器中,无论取指还是存操作,都要访问内存,因此,汇编语言源程序的编写必须遵照存储器分

段编写。

( )7 .汇编好的目标程序要经过连接和定义之后才能交给机器运行。

( )8 .存储区存取数据或地址采用的原则和存储程序区存取指令代码的原则一样都是

“先进先出”。

( )9.只有通过汇编才能产生目标程序。

( )10.换码指令可将累加器AL中的一个值/码翻译为内存表格中的另一个值/码,但不送回AL。

( )11 .MOV 指令中的源和目的操作数中至少要有一个是寄存器。

()12. 执行部件负责指令的执行,它主要由寄存器组、算逻部件、标志寄存器组成。()13.在用户程序中,一般都需要用户自己建立堆栈段,大小可由用户根据需要选定,最大不超过64K字节。

()14. 机器语言指令由操作码和地址码两部分组成.

()15. 寄存器法就是于程序的入口参数和出口参数都在约定的寄存器之中。

()16. 计算机与外设传送数据的常用方式有如下四种:无条件传送、查询传送、中断传送、直接存储器传送。

()17.串寻址中,8086规定SI指向目的串,DI指向源串。

()18.串传送时的串长度值必须放在CL中。

( )19. 串处理指令处理存放在存储器里的数据串,所有串指令都可以处理字节或字。()20. 变量的偏移地址是指变量所在段的段首址到该变量定义语句的字节距离。()21. 所有移位指令都可以作字或字节操作。

()22.数据寄存器主要用来保存操作数或运算结果等信息。

( )23. 指示器变址寄存器组一般用来存放操作数的偏移地址,用作指示器或变址寄存器。

( )24. 标志寄存器用来保存在一条指令执行之前,CPU所处状态的信息及运算结果的特征。

()微处理器只能进行16位地址运算,表示16位地址,寻找操作数的范围最多也只能是64K字节。

( )26. 逻辑运算是按字节操作的.

( )27. 子程序结构相当于高级语言中的过程。

( )28.寄存器寻址方式中指令所指明的寄存器就是操作数的存放地址,即操作数的指令指明的寄存器中。

()29。在变址寻址方式中,操作数在存储器中,而操作数偏移地址EA是指令中指明的寄存器的内容与指令中给出的位移量相加之和。

()30. IN和OUT指令提供了字和字节两种使用方式,选用哪一种,则取决于外设端口宽度。

( )31. LEA 有效地址送寄存器指令格式为: LEA REG,SRC

( )32. 减法指令格式: SUB DST,SRC

( )33. 乘法指令对除CF和OF以外的条件码位无定义。

( )34. 除法指令要求字节操作时商为8位,字操作时商为16位。

( )35. 在汇编语言中,变量是一个数据存储单元的名字,即数据存放地址的符号表示。 ( )36. 变量的段属性即指定义变量所在段的段首址,当需要访问该变量时,该段首址一定要在某一段寄存器中。

( )37. 标号是机器指令语句存放地址的符号表示,也可以是过程名。

( )38.语句MOV SI,OFFSET BUF的功能是:将变量BUF的偏移地址送入SI,其后的源操作数也属于立即寻址方式。

( )39. 地址表达式中允许出现不带方括号的寄存器符号。

( )40. 在数据定义语句中,如果表达式中出现变量和标号,则是取其偏移地址值参加

运算。

( )41. 操作项可以是指令、伪操作,但不可以是宏指令的助记符。

( )42. 存储器的物理地址是由段地址和偏移地址组合而成的。

三.填空题

1.软件是为了____、_____和维护计算机而编制的各种____的总和。

2.把汇编源程序翻译成目标程序的语言程序称为______。汇编程序进行翻译的过程叫做______。

3.控制器负责把指令逐条从 ______中取出,经_____ 后向全机发出取数、执行和存数等控制命令,以保证完成程序所要求的功能。

5.PSW是一个16位的寄存器,其中状态标志位有_______位,控制标志位有_____位。

6.存储器按段划分,每个段的大小可在______范围内选取任意个_______数。

7.段的起始地址______起始于任意地址,在1MB的地址空间中可以选取 _____个段起始地址。

8.计算"00000000"和"01010101"的与运算结果是。

9.计算"00000000"和"01010101"的或运算结果是。

10.计算"00000000"和"01010101"的非运算结果是。

11.计算"00000000"和"01010101"的异或运算结果是。

12.加法指令的汇编语言格式为:ADD DST,SRC,其中SRC表示____地址。

13.加法指令的汇编语言格式为:ADD DST,SRC,其中DST表示____地址

14.在SHL指令中移位次数由_____决定,CNT可以是___或____。

15. 所有移位指令都可以作___或______操作。

16.算术移位指令适用于_____运算;而逻辑移位指令则用于____运算。

17.循环移位指令不影响除____和____以外的其他条件标志。

21.在字操作中,当方向标志DF=0时用____,当方向标志DF=1时用____。

22.转移可以分成两类:______和_______。

23.段内转移是指在同一段的范围之内进行转移,此时只需改变__寄存器的内容。段间转移则是要转到另一个段去执行程序,此时不仅要修改IP寄存器的内容,还需要修改_____寄存器的内容才能达到目的。

24.转移目标地址由新的_____和______两部分组成。

25.段内直接短转移格式只允许在____到____字节的范围内转移。

26.条件转移指令根据上一条指令所设置的_____来判别测试条件。

27. RET指令放在子程序的____,它使____程序在功能完成后返回调用程序继续执行。

28.CALL指令和RET指令都______条件码。

29.中断分为____中断和_____中断两类。

30.当CPU响应一次中断时,应将___和___和____保存入栈。

31.变量仅代表本数据存储区中的____数据单元。

32.字类型变量中存放的16位操作数_____传送到8位的寄存器AL中?

33._____运算符用来指明某个变量、标号或地址表达式的类型属性。

34._____是机器指令语句存放地址的符号表示,也可以是过程名。

35.运算符______用于临时给变量、标号或地址表达式指定一个段属性。

36.运算符THIS与______具有类似的功能,即指定某个变量、标号或地址表达式的类型。

37.不带方括号的寄存器符号不是______。

38._____运算符分离出其后变量或标号所在段的段首址。

39._____运算符分离出其后变量或标号的偏移地址。

40._____运算符取其后变量或标号的类型。

41.取变量所含的数据存储单元个数算符______。

42._____用来取其后常量或地址表达式的高字节数据作为运算结果。

43.一般说来,名字项可以是_____或_____。

44.操作项可以是______、______或______。

45.操作数项由一个或多个______组成,多个操作数项之间一般用逗号分开。

46.______用来说明一段程序或一条减几条指令的功能,它是可有可无的。

47.______可以是常数、寄存器、标号、变量或由表达式组成。

48.无分支,无循环,无转移的程序结构称为程序,这种程序设计方法称为直流法或称为

_______。

49. 顺序结构程序设计主要考虑如何选择简单的有效______,如何选择_____单元和_____

单元。

50.在顺序结构的流程图中,执行框有_____个,但判断框。

51.在汇编语言程序设计中,以中断方式结束程序返回系统,送入AH寄存器中的功能号是______或______。

52.在编写汇编浯言程序时,常常对存储单元赋产一个名字,这些存储单元一般有二种类型的用途:常数单元、_____单元及_____单元。

53.当循环次数已知时,通常使用_______实现循环。

54.循环计数器可根据寄存器的分配情况,选用_____通用寄存器或存储单元。

55.LOOP指令往回转向的标号离该指令的下一条指令所在地址的距离范围为____字节。

56.单重循环循环次数分_____和______两种情况。

57.所谓_____,即其循环体内不再包含循环结构。

58.若测试比较的结果表明_____循环条件,则继续循环,否则结束循环。

59.对于循环次数未知的情况,常用_____来控制循环。

60.在循环结构执行过程中,对循环体先执行,后判断的循环结构称为____ 循环结构;对循环体先判断,后执行的循环结构称为______循环结构。

61、可屏蔽中断就是它的请求是否被CPU响应要受 _____的控制。

62、使用LINK连接命令,执行后可生成文件的扩展名为_____

63、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在_____段中,段地址在 SS 寄存器中。

64、注释项用于说明程序段或是一条和几条指令的功能,一般用_____表示注释的开始。

65、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送_____寄存器后执行INT 21H

66、通常主程序和子程序间参数传送的方法有三种:_____、_____、_____

67、_____是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为_____

68、在字符串操作指令中,DS∶_____指向源串,ES∶_____指向目的串。

69、计算机系统通过_____与外围设备通信。

70、键盘I/O、显示I/O和打印I/O分别对应_____、_____和_____号中断。

71、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节为显示字符的_____,第二个字节为显示字符的_____

72、若AX=349DH,CX=000FH。则执行指令AND AX,CX后,AX的值是_____

73、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是_____

74、对寄存器AX的内容乘以4的正确指令序列是_____

75、执行INC指令除对SF、ZF有影响外,还要影响的标志位是_____

76、设DH=10H,执行NEG DH指令后,正确的结果是_____

77、十六进制数0FFF8H表示的十进制正数为_____,表示的十进制负数为_____

78、CPU的标志寄存器中标志位,可以分为两大类,其中一类称为_____标志位,另一类称为_____标志位。

79、当标志位_____=1时表示无符号数运算产生溢出,而当标志位______=1是表示带符号数运算产生溢出。

80、在程序执行过程中,IP寄存器中始终保存的是_____

81、PSW寄存器中共有_____位条件状态位,有_____位控制状态位。

82、串指令中的目的操作数地址是由_____提供。

83、8086CPU在基址加变址的寻址方式中,变址寄存器可以为_____

84、MOV SP,3210H PUSH AX 执行上述指令序列后,SP寄存器的值是_____

85、BUF DW 10H DUP(3 DUP(2,10H),3,5)上述语句汇编后,为变量BUF分配的存储单元字节数是_____

汇编语言基础练习题目

、填空 1. 在8086/8088的计算机中,存储单元的20位物理地址由两部分组成,即16 位的 段地址 和16位的 偏移地址,物理地址=段地址X 10H+偏移量。 2. 段的起始地址必须是某小段的首地址,它能被 10H 整除。 3. 已知01020H 字单元的内容为6A58H 请分别写出它的两个字节单元的地址和 内容: (01020H =58H, ( 01021H =6AH 4. 指令执行后,若标志寄存器的ZF=0,则表示结果不为0;若SF=0,则表示结 果的符号是正号,即结果为正数。 5. 控制器从存储器取出一条指令后,指令指针寄存器IP 的内容是 将要执行的下 一条指令开始的偏移地址。 6. 段地址和偏移地址为1000: 127B 的存储单元的物理地址是1127BH 解:由物理地址=段地址X 10H+偏移量的公式可得 物理地址=1000HX 10H+127BH=10000H+127BH=1127BH 、选择 1. 与CS 寄存器组合才能形成代码段的物理地址的寄存器是 解:16K 个字单元,即为32K 个字节单元。由于2的15次方为32K,因此至 少需要15位二进制数才能表示16K 个字单元。 3. 已知一数据段的段地址是0100H,这个段的第6个字单元的物理地址是(B ) o 解:由于一个字单元占用两个字节,第一个字单元的偏移地址为 0000H,因 此第一个字单元的物理地址为 01000H 。以后每一个字单元的地址在前一个的基 C )。 A. SP 寄存器 B. BP 寄存器 C. IP 寄存器 D. BX 寄存器 2.如果存储器分段时, 的二进制数至少是( 一个段最多允许16K 个字单元,那么表示该段内偏移地址 A )o A.15 位 位 B.16 位 C.17 位 D.18 A. 01010H B. 0100AH C.01012H D.01006H

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 1.逆序输出字符串“BASED ADDRESSING”。 2.试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。 3.编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序显示这三个字符。 4.从键盘上输入一系列以$为结束符的字符串,然后对其中的非数字字符计数,并显示计数结果。 5.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。)放在STRING中,试编制一个程序测试字符串中是否存在数字。如有,则把CL的第5位置1,否则将该位置置0。 6.从键盘上输入一串字符(用回车键结束,使用0A号功能调用。),将其中的小写英文字母变换为大写英文字母,其他字符保持不变。然后将变换后的字符串显示出来。 7.试编制一个程序:从键盘输入一行字符,要求第一个键入的字符必须是空格符,如不是,则退出程序;如是,则开始接收键入的字符并顺序存放在首地址为buffer的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。 8.试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”, 若不相同则显示“NO MATCH”。 9.试编写一段程序,要求输入两个字符串,如两个字符串相等则显示“MATCH”, 否则显示“NO MATCH”。 10.试编写一段程序,要求在长度为100H字节的数组中,找出大于61H的无符号数的个数并存入字节单元UP中,找出小于2FH的无符号数的个数并存入字节单元DOWN中。 11.在内存区域0B800:0000-0B800:0FFFF(都是16进制数)内查找首地址为SOURCE的串(SOURCE的首字节为串长度),如果找到,则把AL的第0位置0,否则将该位置置1。 12.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数。试编制一个程序,把既在A中又在B中出现的整数存放于数组C中。 13.在附加段中,有一个首地址为LIST和未经排序的字数组。在数组的第一个字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数。要求编制一个程序:在数组中查找该数,如果找到此数,则把它从数组中删除。 二、数字输入输出类 1. 试编制一个程序,把BX寄存器内的二进制数以十六进制数的形式在屏幕上显示出来。 2. 试编制一个程序,把BX寄存器内的二进制数以八进制数的形式在屏幕上显示出来。 3. 试编制一个程序,把BX寄存器内的二进制数以十进制数的形式在屏幕上显示出来。 4.从键盘上输入2个一位数,求出它们的和(假设和不超过1位)。 5.试编写一段程序,从键盘接收一个四位的十六进制数,并在终端上显示与它等值的二进制数。 6.试编写一段程序,从键盘接收一个0-65535间的十进制无符号数,并在终端上显示与它等值的二进制数。 7.试编写一段程序,从键盘接收一个-32768-32767间的十进制有符号数,并在终端上显示与它等值的二进制数。 8.编写一个程序,从键盘输入一个0~65535之间的10进制无符号数,然后以16进制

汇编语言试题及参考答案

汇编语言试题及参考答案 一,填空题 1.ZF标志位是标志结果是否为零的,若结果,ZF为( 1 ),否则ZF为( 0 ).当ZF为1时,SF为( 0 ) 2.标号可以有两种类型属性.它们是( )和( ) 3.8位无符号整数的表示范围为0--255,写成16进制形式为( ),8位有符号整数的表示范围为-128--+127,写成16进制形式为( ) 4.伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是( ),不得有名字的是( ),可有可无名字的是( ). 5.循环程序通常由( )( )( )和循环结果外理四部分构成 6.在数值不达式中,各种运算符可可混合使用,其优先次序规则*,/( )于+,-;XOR,OR( )于AND,LT( )于GT 7. 宏指令定义必须由伪指令( )开始,伪指令( )结束,两者之间的语句称为( ) 8.调用程序与子程序之间的参数传递方法有四种,即堆栈法( )( )( ) 9.分别用一条语句实现下述指明的功能 (1)栈顶内容弹出送字变量AYW( ) (2)双字变量AYD存放的地址指针送ES和SI( ) (3)变量AY2类型属性送AH( ) (4)不允许中断即关中断( ) (5)将字符串'HOW ARE YOU!'存入变量AYB( ) (6)子程序返回调用程序( ) (7)地址表达式AYY[4]的偏移地址送字变量ADDR( ) (8)AX的内容加1,要求不影响CF( ) (9)BX的内容加1,要求影响所有标志位( ) (10)若操作结果为零转向短号GOON( ) 二,单选题 1.IBM PC微机中,有符号数是用( )表示的 1.原码 2.补码 3.反码 4.BCD码 2.把汇编源程序变成代码程序的过程是( ) 1.编译 2.汇编 3.编辑 4.链接

汇编语言程序设计练习题及答案

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。) 1.为在一连续的存储单元中,依次存放数据41H,42H,43H,44H,45H,46H,可选用的数据定义语句是(D) A.DB 41,42,43,44,45,46 B.DW 4142H,4344H,4546H C.DW ‘AB’,‘CD’,‘EF’D.DW ‘BA’,‘DC’,‘FE’ 2.DA2 DB‘AB’,‘CD’ ┇ MOV AX,WORD PTR DA2+1 上述语句执行后AX中的值是(D) A.‘AD’B.‘BC’ C.‘DA’D.‘CB’ 3.下列数据定义语句中可实现留空20H个字节存储单元的是(D) A.DB 20 DUP(?) B.DW 20H DUP(?) C.DB 10H DUP(4 DUP(?)) D.DD 08H DUP(?) 4.如某存储器分段时,表示偏移地址是17位二进制代码,那么一个段最多的存储单元数是(D) A.32K字节B.32K字 C.64K字节D.64K字 5.下列寄存器中用来指示堆栈中任意数据区的偏移地址的是(B)A.BX B.BP C.SI D.DI 6.下列指令中有语法错误的是(C) A.PUSH AX B.PUSH [20H+SI+BX] C.POP CS D.PUSH CS 7.执行PUSH BP指令时,目的操作数的物理地址表达式是(D) A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP 8.把BL中的数据输出到端口8CH中正确指令是(C) A.OUT 8CH,BL B.IN 8CH,BL C.MOV AL,BL D.MOV AL,BL OUT 8CH,AL IN 8CH,AL 9.结果为零的条件转移指令,其测试条件是(A) A.ZF=1 B.ZF=0 C.SF=l D.SF=0 10.下面程序段完成测试DA-BYTE字节单元中数是否为负数,若是则将全l送DH中,否则全0送DH中,那么程序段中方框里应填的语句是 MOV CH,0 MOV CH,0FFH ZERO:MOV DH,CH(C) A.JNZ ZERO B.JS ZERO

完整word版,汇编语言期末考试试题及

汇编语言模拟试题及答案 一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.指令JMP FAR PTR DONE属于参考答案为:C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用 JAE/JNB指令 [解析]对于无符号数和有符号数的比较都采用CMP指令; CMPS指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。

3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.12CSBH B.12B6BH C.12C59H D.12BFEH [解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+(128-1)×2 即12ABH×10H+00ABH+(128-1)×2=12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如 DEC BYTE PTR [BX]或DEC WORD PTR [BX] 但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。5.在进行二重循环程序设计时,下列描述正确的是参考答案为:AA.外循环初值应置外循环之外;内循环初值应置内

汇编语言题库

汇编语言题库 一、单项选择题 1、在下列的选项中,能够组成计算机系统的是()。 A.硬件系统和软件系统 B.CPU、存储器、输入/输出设备 C.操作系统、各种语言 D.系统软件和应用软件2、汇编语言属于()。 A.用户软件 B.系统软件 C.高级语言 D.机器语言3、汇编语言源程序经汇编程序汇编后产生的文件的扩展名是()。 A.EXE B.OBJ C.ASM D.LST 4、汇编语言的什么文件经链接(LINK)后产生可执行文件? A.ASM B.EXE C.LST D.OBJ 5、中央处理器CPU是由()组成的。 A.运算器 B.控制器 C.寄存器组 D.前三者6、IBM PC机的DOS是属于()。 A.用户软件B.系统软件C.系统硬件 D.一种语言7、汇编语言源程序是()程序。 A.不可直接执行的B.可直接执行的 C.经汇编程序汇编后就可执行的D.经连接后就可直接执行的8、8086/8088 CPU的寄存器组中,8位的寄存器共有()个。 A.4B.6C.8D.109、8086/8088 CPU的寄存器组中,16位的寄存器共有()个。 A.10B.12C.13D.1410、8086/8088 CPU执行算术运算时PSW共有()个标志位会受影响。 A.4B.5C.6D.711、在程序执行过程中,IP寄存器始终保存的是()。 A.上一条指令的首地址B.本条指令的首地址。 C.下一条指令的首地址D.需计算有效地址后才能确定地址。 12、IBM PC机的存储器可分()个段。 A.4B.256C.512D.65536 13、当使用BP作编程地址时,此时使用的是()段。 A.CSB.DSC.ESD.SS

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

汇编题库重点复习题

1.已知X=76,则[X]补=_______。 A.76H B. 4CH C. 0B4H D. 0CCH 2.已知[X]补=80H,则X =_______。 A.80H B.0 C. 0FFH D. -80H 3.已知[X]补=80H,则[X]补/2=_______。 A.0CCH B.4CH C. 49H D. 31H 4.已知X=78,Y=-83,则[X+Y]补=_______。 A.0F5H B.0A1H C. 0FBH D. 65H 5.将124转换成十六进制的结果是_______。 A.7CH B.7DH C. 7EH D. 7BH 6.将93H看成一个压缩的BCD码,其结果是_______。 A.10010101 B.10010011 C. 10000011 D. 10000001 7.45转换成二进制数是_______。 A.10101101 B.00111101 C. 00101101 D. 10011101 8.6CH 转换成十进制数是_______。 A.118 B.108 C. 48 D. 68 9.将93H扩展为字的结果是_______。 A.FF93H B.0093H C. 1193H D. 1093H 10.56的压缩BCD码是_______。 A.38H B. 56H C. 0506H D. 3536H 11.ASCII中的47H表示字符的是_______。 A.“7” B. “G” C. “g” D. “E” 12.十进行数-1的8位二进制数补码是_______。 A.11111110 B. 11110000 C. 11111111 D. 10001111 13.下列为补码表示,其中真值最大的数是_______。 A.10001000 B. 11111111 C. 00000000 D. 00000001 14.十六进制数88H,可表示成下面几种形式,请找出错误的表示_______。 A.无符号十进制数136 B. 1带符号十进制数-120D C. 压缩BCD码十进制数88 D. 8位二进制数-8的补码 15.计算机对字符、符号采用统一的二进制编码。其编码采用的是_______。 A.BCD码 B. 二进制码 C. ASCII D. 十六进制码第二章 16.在微机中分析并控制指令执行的部件是_______。 A.寄存器 B. 数据寄存器 C. CPU D. EU 17.在计算机的CPU中执行算术逻辑运算的部件是_______。 A.ALU B. PC C. AL D. AR 18.执行指令PUSH CX后堆栈指针SP自动_______。 A.+2 B. +1 C. —2 D. —1 19.在标志寄存器中表示溢出的是_______。 A.AF B. CF C. OF D. SF 20.对汇编语言源程序进行翻译的是程序是_______。 A.连接程序 B. 汇编程序 C. 编译程序 D. 目标程序

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题 学院(系):学号: 姓名: 计分: 一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号 内。每小题1分,共10分) 1.CPU发出的访问存储器的地址是( ) A.物理地址 B.偏移地址C.逻辑地址D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是( ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( ) A.字 B.双字C.字节D.四字 4.在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AH A.符号 B.变量 C.助记符D.标号 5.串操作指令中,源串操作数的段地址一定在( )寄存器中。 A. CS B. SS C. DS D. ES 6.使计算机执行某种操作的命令是( ) A.伪指令B.指令 C.标号D.助记符 7.将数据5618H存放在存储单元中的伪指令是( ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( ) A.1400H B. 77F8H C. 0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍 采用的是( )码。 A. BCD码 B.二进制码 C.ASCII码D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语 言称为( ) A.汇编语言 B.高级语言 C.机器语言 D.低级语言 二、填空题(每空1分,共20分) 1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2.通常所说的计算机系统包括________和________两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、_____ ___、________、________。 4.现有AX=2000H,BX=1200H, DS=3000H, DI=0002H, (31200H)=50H,(31201H)=02H, (31202H)=40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标 志位ZF、CF的值。 A.ADDAX,1200H;问AX=________H,ZF=________

【汇编语言程序设计】试题及答案合集

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(D) A:0F8H B:11010011B C:82 D:123Q 2.下列有关汇编语言中标号的命名规则中,错误的是(D) A:通常由字母打头的字符、数字串组成 B:标号长度不能超过31个字符 C:?和$不能单独作为标号 D:.号不可位于标号首 3.8088/8086存储器分段,每个段不超过(D ) A.64K个字 B.32K个字节 C.1兆个字节 D.64K个字节 4.寻址指令MOV CX, [BX + DI + 20]使用的是哪一种寻址方式(B)A:寄存器寻址B:相对基址变址寻址 C:变址寻址D:基址变址寻址 5.若AX= - 15要得到AX=15应执行的指令是(A ) A.NEG AX B.NOT AX C.INC AX D.DEC AX 6.8086/8088系统执行传送指令MOV时( A) A.不影响标志位 B.影响DF方向标志 C.影响SF符号标志 D.影响CF进位标志 7.若要求一个操作数中的若干位维持不变,若干位置?1?,可以使用(B)A:NOT B:OR C:AND D:XOR 8.下列指令中段默认为堆栈段的是( C) A.MOV AX,[BX+SI+10] B.ADD AX,ES:[SI] C.SUB [BX],[BP][DI] D. MOV DX,[1000H] 9.关于8086/8088微机系列,下列说法哪个是正确的(D) A:一个存储单元由16个二进制位组成,简称字。

B:当存储一个字数据时,低字节放高地址位,高字节放低地址位。 C:在内存空间中,可以无限分配段,且段的大小不受限制。 D:段与段之间可以邻接,也可以重叠。 10.下列关于堆栈的说法,错误的是(D) A:以?先入后出?为原则。 B:栈区最高地址单元的前一个单元为栈底。 C:运行中SP寄存器动态跟踪栈顶位置。 D:压栈和弹出都是以字节为单位。 11.表示过程定义结束的伪指令是( A) A.ENDP B.ENDS C.END D.ENDM 12.BUF1 DB 3 DUP(0,2 DUP (1,2),3) COUNT EQU $-BUF1 符号COUNT等价的值是( B) A.6 B.18 C.16 D.9 13.下列标志位中,可以用来判断计算结果正负的是(B) A:PF B:SF C:DF D:OF 14.下列指令正确的是( CD) A. MOV [100H], [BX] B.MOV DS, ES C. ADD V[BX], CX D.MOV AX, 34H 15.下列哪个寄存器是属于指针寄存器(C) A:SI B:DX C:SP D:ES 二、填空题 (每小题4 分,共 20 分) 1.下列程序段求数组FLD的平均值,结果在AL中。请将程序填写完整(不考虑溢出) FLD DW 10, -20, 30, -60, -71, 80, 79, 56 _LEA SI,FLD______ MOV CX, 8 XOR AX, AX

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A ) A.20640H B.2063EH C.2063FH D.21900H 2.使用DOS功能调用时,子程序编号应放在( B ) A.AL B.AH C.AX D.任意指定 3.没有 ..语法错误的输出指令是( B ) P76 A.OUT AX,30H B.OUT DX,AL C.OUT AL,DX D.OUT 30H,AH 4.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是( B ) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,0809 5.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是( B ) P117 A.4321H B.0FFFFH C.8000H D.0001H 6.设CL=05H,要获得CL=0AH,可选用的指令是( A) A.XOR CL,0FH B.NOT CL C.OR CL,0AH D.AND CL,0FH 7.假设执行ADD指令后AL=8CH,再执行DAA指令,AL中的值是( A ) A.92H B.0104H C.74H D.8CH 8.MOV AL,79H ADD AL,B1H 上面指令执行后,设置的标志位CF和ZF的值是( D ) A.CF=0,ZF=1 B.CF=l,ZF=1 C.CF=0,ZF=0 D.CF=1,ZF=0 9.TEST DL,55H P123 JZ NEXT NEXT:…… … 上述程序段,执行JZ指令时能产生转移的情况是( D ) A.DL>55H B.DL<55H C.DL=55H D.DL中第0、2、4、6位均为0 10.假设AL=28H, 执行ROL AL,1 指令之后的情况是( D ) P125 A.AL=14H, CF=1 B.AL=50H, CF=1 C.AL=14H, CF=0 D.AL=50H, CF=0 11. 98的BCD码是(B) A)10011001 B) 10011000 C) 10011010 D) 10001010 12. –0110110 的补码是(A) A) 11001010 B) 11001001 C) 10110110 D) 00110110

汇编语言期末考试试题及答案

汇编语言模拟试题及答案 一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分) 1.指令JMP FAR PTR DONE 属于参考答案为:C A .段内转移直接寻址 B ?段内转移间接寻址 C .段间转移直接寻址 D ?段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A ?对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令 B ?对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令 C .对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D .对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令 [解析]对于无符号数和有符号数的比较都采用CMP 指令; CMPS 指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转 移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH ,请给出这个数 据区最末一个字单元的物理地址是参考答案为:C A . 12CSBH B . 12B6BH C. 12C59H D . 12BFEH [解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+( 128 —1) >2 即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A . MOV AL ,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D . MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的 [BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B ?外循环初值应置外循环之内;内循环初值应置内循环之内 C ?内、外循环初值都应置外循环之外

汇编语言期末复习题库

一、填空题 1.中央处理器包括运算器、控制器、寄存器组。 2.物理地址是指实际的20 位主存单元地址,每个存储单元对应唯一 的物理地址。 3.用二进制代码书写指令和程序的语言,称为机器语言。 4.计算机中的指令由操作码和操作数两部分组成。 5.把A和B两个寄存器的内容进行异或运算,若运算结果是0 ,那么 A、B寄存器的内容必定相同。 6.AL,BL中存放着压缩的BCD数,(AL)=18H,(BL)=47H,执行如下 两条指令ADD AL,BL 和DAA后,(AL)=65H 。 7.当指令“SUB AX,BX”执行后,CF=1,说明最高有效位有借位; 对有符号数,说明操作结果溢出。 8.FLAG状态标志寄存器中,AF为辅助进位标志,CF为进位标志, SF为符号标志,ZF为零标志,OF为溢出标志,PF为奇 偶性标志。 9.指出下列指令源操作数的寻址方式: MOV AX,ARRAY[SI] 变址寻址 MOV AX,ES:[BX] 寄存器间接寻址 MOV AX,[200H] 直接寻址 MOV AX,[BX+DI] 基址变址寻址 MOV AX,BX 寄存器寻址 MOV AX,1200H 立即数寻址

MOV AX,20[BX+SI]基址变址寻址 MOV AX,[DI+20] 变址寻址 10.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H, (20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21023H)=65H,下列指令执行后填入AX寄存器的内容: (1)MOV AX,1200H;(AX)= 1200H (2)MOV AX,BX;(AX)=0100H (3)MOV AX,[1200H];(AX)= 4C2AH (4)MOV AX,[BX];(AX)= 3412H (5)MOV AX,1100[BX];(AX)= 4C2AH (6)MOV AX,[BX][SI];(AX)= 7856H (7)MOV AX,1100[BX][SI];(AX)= 65B7H 11.已知‘A’的ASCII是41H,那么‘E’的ASCII是45H 。 12.Ends 是段定义结束伪指令,与Segment配套使用。 13.逻辑地址由段基值和偏移量组成。将逻辑地址转换为物理地址的公 式是段基值*16+偏移量。其中的段基值是由段寄存器存储。 14.一个有16个字的数据区,它的起始地址为70A0:0100H,那么该数据 区的最后一个字单元的物理地址为70B1E H。 15.DEBUG命令中,显示内存命令 D ,显示寄存器命令R,汇编命令 A ,执行命令G 。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共50分) 1.CPU发出的访问存储器的地址是( A ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.使计算机执行某种操作的命令是( B ) A.伪指令 B.指令 C.标号 D.助记符 3.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=(A) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 4.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是( C)码。 A. BCD码 B.二进制码 C.ASCII码 D.十六进制码 5.下列关于8086CPU的工作原理的描述错误的是__C___。 A.汇编程序员可以通过对各种寄存器中内容的修改实现对CPU的控制。B.CPU在访问内存时,采用“段地址*16+偏移地址”的形式给出要访问的内存单元的物理地址。 C.任意时刻,CS:IP指向的内容即是此刻CPU正在执行的指令。 D.传送指令能够更改所有通用寄存器的内容。 6.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(C) A.12CFBH B.12B6BH C.12C5BH D.12BFEH 7. 16位结构的CPU 不一定具备的特性是(D)。 A. 运算器一次最多可以处理16位的数据 B. 寄存器的最大宽度为16位 C. 寄存器和运算器之间的通路为16位 D. 地址总线为16根 8. 下列指令的书写正确的是(C)。 A. push al B. mov cs:[0],ds:[10] C. pop si D. mov ds:[0],2 9.在DEBUG工具中,显示寄存器内容的命令是( D )。 A. G B. D C. T D. R 10. 能够将ax中的内容送到内存0000:0200H处的指令序列是(D)。

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

汇编语言复习题(附答案)

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。 A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是 ( C )。 A..SS和SP B.DS和DI C.CS和IP D.ES和SI 3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D.段地址 4.MOV AX,3064H,该指令中源操作数采用的寻址方式是( A )。 A.立即 B.直接 C.寄存器相对 D.寄存器间接 5.换码指令的助记符是( C )。 A. XCHG B. LEAS C.XLAT D. MOV 6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。 7.下列符号中,可用作标识符的是( C )。 A.MOV B.AX C.MSG1 D.1ABC 8.X DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。 A.20D B.10D C.20H D.10H 9.当DF=0时,执行串操作指令MOVSB,变址寄存器SI、DI的值将( C )。 A. 不变 B.减1 C.加1 D.无法确定 10.如下指令可将AX寄存器内容改变的是( A )。 A.AND AX , BX B.TEST AX , BX C.CMP AX , BX D.XCHG AX , AX 11.16位CPU支持的I/O地址范围是( D )。 A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH

汇编语言程序设计题库

汇编语言程序设计题库 一.选择题(100选20个每个1,共20分) 1. 1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 A. 10 B.11 C.12 D.13 2.在存储器中,数据和程序以形式存放。 A.二进制 B.十进制 C.八进制 D.十六进制 3.CPU要访问的某一存储单元的实际地址称 A.段地址 B.偏移地址 C.物理地址 D.逻辑地址 4.某存储单元的物理地址是12345H,可以作为它的段地址的有 A.2345H B.12345H C.12340H D.1234H 5.设物理地址(21000H)=20H ,(21001H)=30H,(21002H)=40H。如果从地址21001H 中取出一个字的内容是 A. 2030H B.3040H C.3020H D.4030H 6.在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址为() A. 3017BH B. 30170H C. 3017AH D. 30210H 7.在DEBUG工具中,单步执行指令的命令是()。 A. G B. D C. T D. R 8. 在DEBUG工具中,显示寄存器内容的命令是()。 A. G B. D C. T D. R 9.若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为()。 A. 20098H B. 20102H C. 200FEH D. 20100H 10.若栈顶的物理地址为20100H,当执行完指令POP AX后,栈顶的物理地址为()。 A. 20098H B. 20102H C. 200FEH D. 20100H 11.如代数据段名为DATA_SEG,它的起始地址为20A00H,对数据段寄存器DS赋值段地址值的方法是()。 A. MOV DS,20A0H B. ASSUME DS:DATA_SEG C. DATA_SEG SEGMENT D. MOV AX,DATA_SEG MOV DS,AX 12.执行PUSH BP指令时,源的操作数的物理地址表达式是() A.16*SS+BP B.16*DS+BP C.16*CS+IP D.16*SS+SP 13.用户为了解决自己的问题,用汇编语言所编写的程序,称为() A目标程序B源程序C可执行程序D汇编程序 14.已知AX=8065H,BX=103AH,则指令ADD BL,AL执行后,OF和CF的值分别为()。 A. 0,0 B. 0,1 C. 1,0 D. 1,1 15. 当CX=0时,REP MOVSB执行的次数为。( ) A. 1次 B. 0次 C. 25535次 D. 25536次 16.条件转移指令JB产生程序转移的条件是() A.CF=1 B.CF=0 C.CF=1和ZF=1 D.CF=1和ZF=0 17.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]后,正确的结果是() A.AL=5FH SF=1 CF=1 B.AL=60H SF=1 CF=0

第四章MCS-51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

相关文档
相关文档 最新文档