当前位置:文档之家› 汇编语言程序设计模拟题

汇编语言程序设计模拟题

汇编语言程序设计模拟题
汇编语言程序设计模拟题

《汇编语言程序设计》模拟试题

一、单项选择题

1、指令JMP FAR PTR DONE属于()。

A.段内转移直接寻址

B.段内转移间接寻址

C.段间转移直接寻址

D.段间转移间接寻址

2、执行下面指令序列后,结果是()。

MOV AL,82H

CBW

A. AX=0FF82H

B. AX=8082H

C. AX=0082H

D. AX=0F82H

3、8088/8086存储器分段,每个段不超过()。

A.64K个字

B.32K个字节

C.1兆个字节

D.64K个字节

4、CPU发出的访问存储器的地址是()。

A.物理地址

B.偏移地址

C.逻辑地址

D.段地址

5、BUF DW 10H DUP(3 DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是()。

A.80H

B.100H

C.124

D.192

6、若AX= - 15要得到AX=15应执行的指令是()。

A.NEG AX

B.NOT AX

C.INC AX

D.DEC AX

7、8086/8088系统执行传送指令MOV时()。

A.不影响标志位

B.影响DF方向标志

C.影响SF符号标志

D.影响CF进位标志

8、MOV AL,79

ADD AL,0B1H

上面指令执行后,设置的标志位CF和OF的值是()。

A.CF=0,OF=1

B.CF=1,OF=1

C.CF=0,OF=1

D.CF=1,OF=0

9、检查BUF的内容是否为正偶数,如是正偶数,则AL=0。下面程序段正确的是()。

A. MOV AL,BUF

B. MOV AL,BUF

JS K1 AND AL,11

SHR AL,1 JNZ K2

JNC K1 MOV AL,0

MOV AL,0 K2:……

K1:

C. MOV AL,BUF

D. MOV AL,BUF

TEST AL,81H JNP K4

JNZ K3 TEST AL,80H

MOV AL,0 JNZ K4

K3:MOV AL,0

K4:

10、下列指令中操作数在代码段中的是()。

A.MOV AL,42H

B.ADD AL,BL

C.SUB [BX],DI

D.INC [DI]

11、与MOV BX,OFFSET VAR指令完全等效的指令是()。

A.MOV BX,VAR

B.LDS BX,VAR

C.LES BX,VAR

D.LEA BX,VAR

12、下列指令执行后对源和目的操作数均无影响的是()。

A.MOV [BX+2],AX

B.SUB AX,2467H

C.SBB [SI],BX

D.CMP AX,BX

13、表示过程定义结束的伪指令是()。

A.ENDP

B.ENDS

C.END

D.ENDM

14、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。

A.CMP

B.SUB

C.AND

D.MOV

15、上面指令执行后,AX的内容是()。

A.0302H

B.0203H

C.0202H

D.0303H

16、BUF1 DB 3 DUP(0,2 DUP(1,2),3)

COUNT EQU $ - BUF1

符号COUNT等价的值是()。

A.6

B.18

C.16

D.8

17、DA1 DW 2A05H

DA2 DB 0FAH

MOV AL,BYTE PTR DA1

SUB DA2,AL

上述指令执行后,DA2中的内容是()。

A.0DAH

B.0FAH

C.0F5H

D.0D0H

18、为在一连续的存储单元中依次存放数据41H,42H,…,48H,下面的数据定义语句中有语法错误的是()。

A.DB 41H,42H,43H,44H,45H,46H,47H,48H

B.DW 4142H,4344H,4546H,4748H

C.DB …ABCDEFGH'

D.DW …BA',…DC',…FE',…HG'

19、设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是()。

A.0036H

B.0022H

C.0030H

D.0020H

20、条件转移指令JNBE产生转移的条件是()。

A. CF=0 AND ZF=0

B. CF=0 AND ZF=1

C. CF=1 AND ZF=0

D. CF=1 AND ZF=1

21、下列寄存器中,作为16位寄存器的是()。

A. AL

B. BL

C. CH

D.DX

22、在程序运行过程中,确定下一条指令的物理地址的计算表达式是()。

A.DS*16+SI

B. ES*16+DI

C. CS*16+IP

D. SS*16+SP

23、物理地址(10FF0H )=10H,(10FF1H )=20H,(10FF2H )=30H,从地址10FF1H 中取一个字的内容是()。

A.1020H

B.3020H

C.2030H

D.2010H

24、将AX 清零,下列指令错误的是()。

A.SUB AX,AX

B.XOR AX,AX

C.OR AX,00H

D.AND AX,00H

25、下列指令中,影响或修改标志位的是()。

A.LOOPZ

B.JNLE

C.PUSHF

D.POPF

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

A.85B92H

B.86192H

C.BB690H

D.12169H

27、通用数据传送指令中,错误的是()。

A.累加器到存储器

B.立即数到存储器

C.寄存器到存储器

D.存储器到存储器

28、移位指令中,应先将移位次数放在()。

A.AX

B. AL

C. CX

D.CL

29、MOV AL,79

ADD AL,0B1H

上述指令执行后,CF和OF的值是()。

A.CF=0 OF=1

B.CF=1 OF=1

C.CF=0 OF=0

D.CF=1 OF=0

30下列语句中能实现留空8个字节单元的语句是()。

A. DA1 DT ?

B. DA2 DW ?,?

C. DA3 DD ?

D. DA4 DQ ?

31、循环指令LOOPNZ终止循环的条件是()。

A.CX=0,且ZF=0

B.CX=0,或ZF=1

C.CX10,且ZF=0

D.CX10,或ZF=1

32、设DL=55H,执行指令后能使DL中的数据为0AAH的指令是()。

A.TEST DL,0AAH

B.OR DL,0AAH

C.NEG DL

D.XOR DL,0FFH

33、完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

A. MOV AX,BX

B. MOV BX,AX

C. PUSH AX

D. MOV CX,AX

POP BX MOV AX,BX

MOV BX,CX

34、JMP BX 的目标地址的偏移量为()。

A. BX 的内容

B. BX 所指向的内存单元的内容

C. IP + BX 的内容

D. IP + [BX]

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

A.上一条指令的首地址

B.下一条指令的首地址

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

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

36、用户为了解决自己的问题,用汇编语言所编写的程序,称为()。

A.目标程序

B.源程序

C.可执行程序

D.汇编程序

37、某系列微机对存储器的分段,如果每一个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是()。

A.20位

B.16位

C.15位

D.12位

38、可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。

A.AX,BX,CX,DX

B.DS,ES,CS,SS

C.SP,BP,IP,BX

D.SI,DI,BP,BX

39、用一条指令仅实现将BX+SI=>AX的方法是()。

A.XCHG AX,[BX][SI]

B.MOV AX,[BX+SI]

C.LEA AX,BX[SI]

D.LEA AX,[BX][SI]

40、设SP初值为2000H,执行指令“PUSH AX”后,SP的值是()。

A.1FFFH

B.1998H

C.2002H

D.1FFEH

41、条件转移指令JB产生程序转移的条件是()。

A.CF=1

B.CF=0

C.CF=1和ZF=1

D.CF=1和ZF=0

42、选用串操作指令时,错误的操作是()。

A.置方向标志位

B.根据串操作指令设置重复次数并送入CX

C.设置源操作数及目的操作数指针

D.源操作数和目的操作数都可以加段超越

43、设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

C.AL=5FH SF=0 CF=1

D.AL=60H SF=0 CF=0

44、设AX=1000H

NEG AX

NOT AX

执行上述指令后,正确的结果是()。

A.AX=1001H

B.AX=0FFFH

C.AX=1000H

D.AX=0111H

45、CBW指令的功能是()。

A.把源操作数的符号位扩展到目的操作数中

B.把AL中的符号位扩展到AH中

C.把AH中的符号位扩展到AL中

D.把AX中的符号位扩展到DX中

46、汇编语言源程序中,每个语句可由四项组成,其中名字项是一个符号,下面列出的有效名字是()。

A.Variable

B.First & ld

C.0FFFFH

D.‘Memphis’

47、ORG 0030H

DA1 DB 0,‘0’,30H

DW DA1

数据为3000H字存储单元的偏移地址是()。

A.0030H

B.0031H

C.0032H

D.0033H

48、NUM1 DB(12 OR 6 AND 2)GE 0EH

NUM2 DB(12 XOR 6 AND 2)LE 0EH

上述数据定义语句中,NUM1和NUM2字节单元的内容分别是()。

A.NUM1=0,NUM2=0

B.NUM1=0,NUM2=0FFH

C.NUM1=0FFH,NUM2=0

D.NUM1=0FFH,NUM2=0FFH

49、要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用的语句是()。

A.DA1 DB …AB?

B.DA1 DW …AB?

C.DA1 DB 0ABH

D.DA1 DW 0ABH

50、DA1 EQU BYTE PTR DA2

DA2 DW 0ABCDH

SHL DA1,1

SHR DA2,1

上述指令序列执行后,DA2字存储单元的内容是()。

A.0ABCDH

B.0AB9AH

C.55CDH

D.559AH

51、下面语句中有语法错误的语句是()。

A.DB 45H

B.DW OABCDH

C.DW ‘ABCD’

D.DD ‘AB’

52、MOV CL,8

ROL AX,CL

OR AX,BX

假设AX=0012H,BX=0034H,那么上述程序段执行后,AX中的结果是()。

A.1234H

B.3412H

C.0046H

D.0034H

53、执行下列指令序列后,正确的结果是()。

MOV AL,81H

ADD AL,AL

ADC AL,AL

A.AL=05H

B.AL=204H

C.AL=04H

D.AL=205H

54、DA2 DB 12H,34H,56H,0ABH

DB $-DA2

BUF1 DB 10H,20H,30H

LEA SI,DA2

MOV CL,4[SI]

MOV CH,LENGTH BUF1

上述指令序列运行后,CX的内容是()。

A.03ABH

B.01ABH

C.0304H

D.0104H

55、在汇编语言程序中,对END语句的叙述正确的是()。

A. END语句是一可执行语句

B. END语句表示程序执行到此结束

C. END语句表示源程序到此结束

D. END语句在汇编后要产生机器码

56、十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

A. 无符号十进制数136

B. 带符号十进制数-120

C. 压缩型BCD码十进制数88

D. 8位二进制数-8的补码表示

57、指令指针寄存器是()。

A. IP

B. SP

C. BP

D. PSW

58、当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

A. 表示结果中含1的个数为偶数

B. 表示结果中含1的个数为奇数

C. 表示该数为偶数

D. 表示结果中低八位含1的个数为偶数

59、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

A. MOV AL,00H

B. AND AL,00H

C. XOR AL,AL

D. SUB AL,AL

60、下列指令执行后总是使CF=0,OF=0的是()。

A. AND

B. NEG

C. NOT

D. INC

61、完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

A. MOV AX,BX

B. MOV BX,AX

C. PUSH AX

D. MOV CX,AX

POP BX MOV AX,BX

MOV BX,CX

62、设AH=0,AL=06H,BL=09H,执行指令

ADD AL,BL

AAA

之后,其结果应是()。

A.AH=01,AL=05

B. AH=1,AL=15

C. AH=0,AL=0FH

D. AH=0,AL=05

63、设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF 的值为()。

A. OF=1,CF=0

B. OF=1,CF=1

C. OF=0,CF=0

D. OF=0,CF=1

64、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

A. CX=0且ZF=0

B. CX=0且ZF=1

C. CX=0或ZF=0

D. CX=0或ZF=1

65、下面指令中,合理而有意义的指令是()。

A. REP LODSB

B. REP SCASB

C. REP CMPSB

D. REP MOVSB

66、在汇编语言程序中,对END语句的叙述正确的是()。

A. END语句是一可执行语句

B. END语句表示程序执行到此结束

C. END语句表示源程序到此结束

D. END语句在汇编后要产生机器码

67、下面的数据传送指令中,错误的操作是()。

A. MOV SS:[BX+DI],1000H

B. MOV DX,1000H

C. MOV WORD PTR[BX],1000H

D. MOV DS,2000H

68、下面指令执行后,变量DAB中的内容是()。

DAW DW 2A05H

DAB DB 0FAH

:

MOV AL,BYTE PRT DAW

SUB DAB,AL

A. 0DAH

B. 0FAH

C. 0F5H

D. 0D0H

69、执行下列指令后,正确的结果是()。

MOV AL,100

MOV BL,-2

A. AL=100H

B. AL=64H

C. AL=64H

D. AL=100H

BL=02H BL=0FEH BL=82H BL=0FEH

70、设数据段中已有:

DA1 DB 12H,34H

DA2 DW 56H,78H

下面有语法错误的语句是()。

A. ADR1 DW DA1

B. MOV DA1+1,AX

C. MOV BYTE PTR DA2+1,AL

D. MOV WORD PTR DA1+1,AX

71、实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。

A. SHL AX,2

B. RCL AX,2

C. MOV CX,2

D. SHL AX,1

ROL DX,2 SHL DX,2 LOP:SHL AX,1 SHL AX,1

RCL DX,1 RCL DX,1

LOOP LOP RCL DX,1 72、TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

:

MOV BX,DS:[0006H]

AND BX,0FFH

AND BH,[BX]

上述指令序列运行后,BX的内容是()。

A. 0605H

B. 0402H

C. 0606H

D. 0204H

73、当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是()。

A. JLE

B. JNL

C. JNLE

D. JL

74、下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为()。

TEST BH,01H

K1

A. JNE

B. JZ

C. JS

D. JC

75、测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是()。

A. TEST BL,4FH

B. XOR BL,4FH

C. AND BL,4FH

D. OR BL,4FH

JZ NEXT JZ NEXT JZ NEXT JZ NEXT

76、用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS 的值是()。

A.F400H

B.2F80H

C.F4000H

D.2F800H

77、设DS=1100H,(12000H)=80H,(12001H)=20H,(12002H)=30H,执行MOV AX,[1000H]则AX=()。

A.8000H

B.0080H

C.2080H

D.8020H

78、下列四条指令中错误的是()。

A.MOV AX,[SI]

B.MOV AX,[DI]

C.MOV AX,[SI+DI]

D.MOV AX,[SI-DI]

79、下列四条指令执行后不影响标志位的是()。

A.JNC NEXT

B.CMP AX,BX

C.SHL AX,1

D.OR AL,AL

80、已知AX=0001H,下列四条指令执行后,不能使ZF=1的语句是()。

A.DEC AX

B.SUB AX,1

C.AND AX ,1

D.CMP AX,1

81、在8086/8088系统中,约定用于形成堆栈段数据物理地址的寄存器有()。

A.SS,SP,BP

B.SS,SP,BX

C.DS,BX,BP

D.DS,SP,BP

82、有指令MOV AX,1234H,指令中的立即数1234H是存储在()。

A.数据段

B.代码段

C.附加段

D.堆栈段

83、要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是()。

A.BUF DW 9

B.BUF DB 9

C.BUF DB 9 DUP(?)

D.BUF DW 9 DUP(?)

84、已知AL=56H,BL=34H,都是压缩BCD码,要执行二数相加,正确的指令是()。

A.ADD AL,BL

B.ADC AL,BL

C.ADD BL,AL

D.ADC BL,AL

DAA DAA DAA DAA

85、在执行子程序段内调用CALL SUBR指令后,SP的值()。

A.加1

B.减1

C.加2

D.减2

86、完成将AX清零,并且使CF清零,下面错误的指令是()。

A.SUB AX,AX

B.AND AX,0

C.XOR AX,AX

D.MOV AX,0

87、定义宏指令的伪指令是()。

A.PROC和ENDP

B.CODE和ENDS

C.EQU和END

D.MACRO和ENDM

88、在汇编语言源程序中,表达式的计算是由()完成的。

A.编程者

B.汇编程序

C.程序执行时

D.连接程序

89、为了使执行串操作指令时,地址按减量方式处理应使用指令()。

A.CLI

B.STI

C.CLD

D.STD

90、有数据定义NUM DB '12345' ,经汇编后,NUM占有()字节存储单元。

A.1

B.5

C.6

D.7

91、汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中

不可省略的项是()。

A.名字项

B.操作项

C.操作数项

D.注释项

92、在堆栈段中,存放栈顶地址的寄存器是()。

A.IP

B.SP

C.BX

D.BP

93、汇编语言程序中,反映指令操作结果的标志是()。

A.状态标志

B.控制标志

C.ZF

D.DF

94、书写汇编语言程序时规定,对字母开头的十六进制数,其前面必须加()。

A.0

B.D

C.B

D.H

95、计算机中用来存储程序、数据等信息的记忆装置是()。

A.控制器

B.运算器

C.CPU

D.存储器

96、MOV [SI][BX],AL,该指令中目的操作数采用的寻址方式是()。

A.基址加变址

B.寄存器

C.寄存器间接

D.寄存器相对

97、MUL WORD PTR[SI]指令中的乘积是存放在()、AX中。

A.CX

B.BX

C.DX

D.SI

98、汇编语言中,存放下一条将要执行的指令地址寄存器是()。

A.SP

B.AX

C.DI

D.IP

99、在计算机中,以先进后出方式工作的存储空间是()。

A.存储器

B.RAM

C.ROM

D.堆栈

100、TEST AH,30H指令的功能与()指令功能相类似。

A.AND

B.CMP

C.SUB

D.OR

101、在存储器中留60个字的空单元的伪指令是()。

A.ARRAY EQU 60

B.ARRAY DW 60

C.ARRAY DB 60 DUP(?)

D.ARRAY DW 60 DUP(?)

102、指令JMP FAR PTR DONE属于()。

A.段内转移直接寻址B.段内转移间接寻址

C.段间转移直接寻址D.段间转移间接寻址

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

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

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

C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令104、一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是()。

A.12CSBH B.12B6BH C.12C59H D.12BFEH

105、在下列指令的表示中,不正确的是()。

A.MOV AL,[BX+SI]B.JMP SHORT DONI

C.DEC [BX] D.MUL CL

106、在进行二重循环程序设计时,下列描述正确的是()。

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

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

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

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

107、条件转移指令JNE的测试条件为()。

A.ZF=0B.CF=0C.ZF=1D.CF=1

108、8086CPU在基址加变址的寻址方式中,变址寄存器可以为()。

A.BX或CX B.CX或SI C.DX或SI D.SI或DI

109、已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。

A.数据段中偏移量为3236H的字节B.附加段中偏移量为3234H的字节

C.数据段中偏移量为3234H的字节D.附加段中偏移量为3236H的字节110、执行如下程序:

MOV AX,0

MOV BX,1

MOV CX,100

A:ADD AX,BX

INC BX

LOOP A

HLT

执行后(BX)=()。

A.99B.100C.101D.102

111、上题的程序执行后(AX)=()。

A.5000B.5050C.5100D.5150

112、对于下列程序段:

AGAIN:MOV AL,[SI]

MOV ES:[DI],AL

INC SI

INC DI

LOOP AGAIN

也可用()指令完成同样的功能。

A.REP MOVSB B.REP LODSB C.REP STOSB D.REPE SCASB 113、下面指令序列执行后完成的运算,正确的算术表达式应是()。

MOV AL,BYTE PTR X

SHL AL,1

DEC AL

MOV BYTE PTR Y,AL

A.Y=X*2+1B.X=Y*2+1C.X=Y*2-1D.Y=X*2-1

114、在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来()。

A.占内存空间小,但速度慢B.占内存空间大,但速度快

C.占内存空间相同,速度快D.占内存空间相同,速度慢

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

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

C.正在执行指令的首地址D.需计算有效地址后才能确定地址

116、PSW寄存器中共有()位条件状态位,有()位控制状态位。

A.6、3B.3、6C.8、4D.4、8

117、下列指令执行时出错的是()。

A.ADD BUF1,BUF2B.JMP DWORD PTR DAT [BX]

C.MOV AX,[BX+DI] NUM D.TEST AL,08H

118、已知(AX)=1234H,执行下述三条指令后,(AX)=()。

MOV BX,AX

NEG BX

ADD AX,BX

A.1234H B.0EDCCH C.6DCCH D.0000H

119、在下列指令中,()指令的执行会影响条件码中的CF位。

A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1

120、.串指令中的目的操作数地址是由()提供。

A.SS:[BP]B.DS:[SI]C.ES:[DI]D.CS:[IP]

121、将DX的内容除以2,正确的指令是()。

A.DIV 2B.DIV DX,2C.SAR DX,1D.SHL DX,1

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

A、85B92H

B、86192H

C、BB690H

D、12169H

123、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是()。

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

124、循环指令LOOPNZ终止循环的条件是()。

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX≠0,且ZF=0

D、CX≠0,或ZF=1

125、对寄存器AX的内容乘以4的正确指令序列是()。

A、SHR AX,1 SHR AX,1

B、SHL AX,1 SHL,AX,1

C、ROL AX,1 ROL AX,1

D、RCR AX,1 RCR AX,1

126、保存字除法商的寄存器是()。

A、AX

B、AH

C、AL

D、通用寄存器

127、设DH=10H,执行NEG DH指令后,正确的结果是()。

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

128、下列传送指令中有语法错误的是()。

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

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

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

130、一条指令中目的操作数不允许使用的寻址方式是()

A. 寄存器寻址

B. 立即数寻址

C.变址寻址

D.寄存器间接寻址

131、执行下面指令序列后,结果是()。

MOV AL,82H

CBW

A、AX=0FF82H

B、AX=8082H

C、AX=0082H

D、AX=0F82H

132、与MOV BX,OFFSET VAR指令完全等效的指令是()。

A、MOV BX,VAR

B、LDS BX,VAR

C、LES BX,VAR

D、LEA BX,VAR

133、.STACK伪指令定义的默认堆栈段大小是()。

A、1KB

B、2KB

C、3KB

D、4KB

134、MOV SP,3210H

PUSH AX

执行上述指令序列后,SP寄存器的值是()。

A、3211H

B、320EH

C、320FH

D、3212H

135、BUF DW 10H DUP(3 DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是()。

A、80H

B、100H

C、124

D、192

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

A、宏定义,宏调用

B、宏定义,宏展开

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

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

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

A、名字项

B、操作码项

C、操作数项

D、注释项

138、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有()。

A、CMP

B、SUB

C、AND

D、MOV

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

A、INC CX

B、SUB CX,0FFFFH

JZ MINUS JZ MINUS

C、AND CX,0FFFFH

D、XOR CX,0FFFFH

JZ MINUS JZ MINUS

140、设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H,41H。执行REPNZ SCASB指令后,正确的结果是()

A、DI=0104H,CX=0000H

B、DI=0103H,CX=0001H

C、DI=0102H,CX=0002H

D、DI=0101H,CX=0003H

141、与LEA BX,ARRAY功能相同的指令是()

A、MOV BX,ARRAY

B、MOV BX,SEG ARRAY

C、MOV BX,OFFSET ARRAY

D、LDS BX,ARRAY

142、汇编程序的错误提示:EXAM.ASM(10):Error(9),Symbol not defined BUFF中第一个圆括号内的“10”的含义是()

A、出错行的行号

B、错误类型号

C、警告性错误的个数

D、严重错误的个数

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

A、宏定义,宏调用

B、宏定义,宏展开

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

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

144、设A=186,B=273Q,C=0BBH,它们之间的关系是()。

A.A>B>C

B.A

C.A=B=C

D.A

145、8086的存储器组织是将存储器划分为段,可作为段的起始地址是()。

A.185A2H

B.00020H

C.01004H

D.0AB568H

146、堆栈中当前出栈的存储单元地址是()。

A.SS*10H+SP

B.SS*10H+BP

C.SS*10+SP

D.SS*10+BP

147、设DL=55H,执行指令后能使DL中的数据为0AAH的指令是()。

A.TEST DL,0AAH

B.OR DL,0AAH

C.NEG DL

D.XOR DL,0FFH

148、当SS=9876H,SP=4328H,执行POPF指令后,堆栈顶部的物理地址是()。

A.9CA8AH

B.9CA90H

C.9CA86H

D.0DB00H

149、DW 10H DUP(2 DUP(3),300H)

上述定义的数据单元中,能构成0303H字存储单元的个数是()。

A.10H

B.20H

C.1EH

D.0FH

150、用一条指令实现将寄存器BX和SI的内容相加,结果并送入AX中,这条指令是()。

A.ADD AX,[BX][SI]

B.MOV AX,[BX][ST]

C.AND AX,[BX][SI]

D.LEA AX,[BX][SI]

151、设AX中有一带符号数8520H,执行SAR AX,1指令后,AX中的值是()。

A.4290H

B.0A40H

C.0C290H

D.0C260H

152、下列中指令执行后,能影响标志位的指令是()。

A.PUSHF

B.POPF

C.JNLE OPR

D.LOOPZ LOP

153、循环控制指令LOOPNZ继续执行循环的条件是()。

A.CX≠0且ZF=1

B.CX≠0且ZF=0

C.CX≠0或ZF=1

D.CX≠0或ZF=0

154、下面两个传送指令语句中源操作数寻址方式是()。

VAR1 DW 32H

VAR2 EQU32H

MOV AX,VAR1

MOV BX,VAR2

A.都是立即数寻址

B.前一条指令是立即数寻址,后一条指令是直接寻址

C.前一条指令是直接寻址,后一条指令是立即数寻址

D.都是直接寻址

155、ARRAY DW 6,9,$+4,10H,1,$+4

MOV AX,ARRAY+4

设变量ARRAY的偏移量是0084H,上述指令执行后AX中的内容是()。

A.0009

B.008CH

C.0090H

D.0010H

156、设AX=0CCBBH,CF=1

AND AX,7FFEH

RCR AX,1

上述两条指令执行后,AX和CF中的内容分别是()。

A.AX=265DH,CF=0

B.AX=265DH,CF=1

C.AX=A65DH,CF=0

D.AX=A65DH,CF=1

157、DA_B EQU BYTE PTR DA_W

DA_W DW …AB' ,…CD',…EF?,…GH'

MOV BX,DA_W+3

MOV BH,DA_B+3

执行上述两条指令后,BX中的内容是()。

A.…EF'

B.…FC'

C.…CC'

D.…FF'

158、指令语句中标号的错误定义是()

A.在代码段中的名字项定义,后面紧跟冒号

B.用EQU伪指令定义

C.用LABEL伪指令定义

D.由“JMP标号”指令定义

159、设VAR1和VAR2是已定义的变量名,非法的表达式是()。

A.VAR1-VAR2

B.VAR2-VAR1[BX]

C.VAR1+VAR2

D.VAR1[BX]

160、为在一连续的存储单元中依次存放数据41H,42H,…,48H,下面的数据定义语句中有语法错误的是()。

A.DB 41H,42H,43H,44H,45H,46H,47H,48H

B.DW 4142H,4344H,4546H,4748H

C.DB …ABCDEFGH'

D.DW …BA',…DC',…FE',…HG'

161、设NUM=11011011B,指令“MOV AH,NUM SHL 3”执行后AX中的值是()。

A.11011011000B

B.11011000B

C.00011011B

D.00011011011B

162、XOR AX,AX

MOV CX,5

NEXT:ADD AL,6

AAA

LOOP NEXT

上述程序段执行的结果是()。

A.AX=0030H

B.AX=0300H

C.AX=30

D.AX=001EH

163、如某循环程序是对两个数组进行某种运算处理,当数组处理完毕或运算处理的结果不为某一指定值时(每次循环时,对运算结果已进行了测试),就结束循环。如要求一定使用循环控制指令,这时应选用的指令是()。

A.LOOP

B.JMP

C.LOOPNE/LOOPNZ

D.JCXZ

164、在DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是()。

A. 12FAH

B. 1305FH

C. 130FFH

D. 015FH

165、IP指令指针寄存器是属于()。

A. 通用寄存器

B. 段寄存器

C. 变址寄存器

D. 控制寄存器

166、下面有语法错误的指令是()。

A. ADD AL,AH

B. ADD [BX+3],AL

C. ADD AH,[DI]

D. ADD [BP+2],DA1;(DA1是变量名)167、完成对DX的有符号数除以2的指令是()。

A. IDIV 2

B. SAR DX,1

C. ROR DX,1

D. RCR DX,1 168、使进位位置1的指令是()。

A. CLC

B. CMC

C. STC

D. NOP 169、设AL=-15,要使AL=15应执行的指令是()。

A. NEG AL

B. NOT AL

C. INC AL

D. DEC AL 170、在条件转移指令中,结果为负数则转移的指令是()。

A. JNS

B. JX

C. JS

D. JP

171、下面的XCHG指令中,语法正确的是()。

A. XCHG AL,DS

B. XCHG BL,[BX]

C. XCHG AL,0FH

D. XCHG BUF1,BUF2

172、一条指令中目的操作数不允许使用的寻址方式是()。

A. 寄存器寻址

B. 立即数寻址

C. 变址寻址

D. 寄存器间接寻址

173、设SP=1FFEH,执行下列指令后,SP寄存器的值是()。

POPF

PUSH AX

A.. 2000H

B. 2002H

C. 1FFCH

D. 1FFEH

174、LDS SI,ES:[2000H]指令的全部功能是()。

A. 把地址2000H送SI

B. 把地址2000H字单元的内容送SI

C. 把地址2000H字单元内容送SI,把2002H字单元内容送DS

D. 把地址2000H字单元内容送DS,把2002H字单元内容送SI

175、设AL=04H,BL=0F8H,执行MUL BL指令后,结果是()。

A. AX=0032H

B. AX=00E0H

C. AX=03E0H

D. AX=0FFE0H

176、设ES=3000H,DI=00FFH,CX=0005H,AL=41H,DF=0,从300FFH开始的连续5个字节单元内容分别是44H,43H,42H,41H,41H。执行REPNZ SCASB指令后,正确的结果是()。

A. DI=0104H,CX=0000H

B. DI=0103H,CX=0001H

C. DI=0102H,CX=0002H

D. DI=0101H,CX=0003H

176、某数据段如下:

DATA SEGMENT

ORG 20H

X DB 12H

Y DW 789AH

DATA ENDS

Y 单元的偏移地址是()。

A. 0

B. 20H

C. 21H

D. 12H

177、下面指令语句中,语法正确的是()。

A. INC [BX]

B. CMP [BX],60

C. JMP FAR OPR

D. MOV WORD PTR [BX],5 178、DATA SEGMENT

DA1 DB 32 DUP(?)

DA2 DW 1456H,789AH

DA3 DW DA2

DATA ENDS

MOV BX,DA3

上述指令执行后,BX中的内容是()。

A. 20H

B. 31

C. 32H

D. 21H

179、已定义数据段

DATA SEGMENT

ORG 0213H

DA1 DB 15H,34H,55H

ADR DW DA1

DATA ENDS

能使AX中数据为偶数的语句是()。

A. MOV AX,WORD PTR DA1

B. MOV AL,DA1+2

C. MOV AL,BYTE PTR ADR+1

D. MOV AX,WORD PTR DA1+2 180、如代数据段名为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

181、OV AL,-1

NEG AL

XOR AL,65

上述程序段执行后,AL中的内容是()。

A. 40H

B. 64H

C. 01H

D. 61H

182、用CMP指令对两个无符号数进行A-B的比较后,如A=B或A>B,则分别产生转移,这种情况应选择的条件转移指令是()。

A. 先用JE指令,再用JNC指令

B. 先用JNC指令,再用JE指令

C. 上述两条条件转移指令(JE和JNC)无先后次序

D. 用上述两个条件转移指令不能完成上述功能要求

二、填空题

1.假设某个字的值是1234H,其低位字节地址是20H,高位字节地址是21H,那么该字的字地址是________。

2.“SHL OPR,CNT”指令中OPR可以是除______以外的任何寻址方式。

3.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配______个字节单元。

4.指令“MOV AX,20H[SI]”中源操作数的物理地址表达式是______。

5.乘法指令语句“MUL CL”,16位的乘积存放在______中。

1.在8086/8088系统中,存储器是分段的,每段最大长度是_______字节,段内偏移地址从_______到_______。

2.在程序调试时,显示某指令存放地址是2340H:0056H,则物理地址是_______。

3.汇编语言源程序中的语句有三种类型,它们是_______语句,_______语句和_______语句。4.指令MOV AX,[BX+SI+10H]源操作数寻址方式是_______。

5.执行段间返回指令RET时,将栈顶的一个字弹出到_______后,又弹出一个字到_______寄存器中。

6.已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEG WORD PTR [DI]后,(31200H)=_______,(31201H)=_______。

7.执行下列指令序列

MOV AL,80H

MOV BL,08H

CBW

IDIV BL

则AH=_______AL=_______。

8.已知数据定义语句

ORG 120H

VECT1 DW 200H

VECT2 DW VECT1

执行MOV AX,VECT1 AX=_______

MOV BX,VECT2 BX=_______。

三、简答题

1、在指令系统中,段内、段间返回均为RET指令。试回答:

(1)执行段内返回RET指令时,执行的操作是:

(2)执行段间返回RET指令时,执行的操作是:

2、用两种办法,分别只用一条指令实现将DA1数据区中数据个数送入CX。

DA1 DB 20H DUP(?)

DA2 DW 10H,45H,7856H

3、已知:BX=1357H,BP=2468H,SI=1000H,DI=2000H,SS=1000H,DS=2000H,ES=3000H,试分别指出下列各指令中存储器操作数的物理地址。

MOV AL,[BP+20H]的物理地址是:

MOV [BX+DI-80H],AL的物理地址是:

MOV BL,ES:[SI+40H]的物理地址是:

4、请指出下列指令错误原因:

A. OR AX,[CX]

B. ADD [SI],[BX][DI]

C. JMP BYTE PTR LOOPS

D. SAR AX,4

E. RCL DX

5、DS=2000H,AX=2000H,BX=5030H,(25030H)=03H,(25031H)=05H,那么执行下列语句,A.MOV AX,BX AX= ;B.MOV AX,[BX] AX=

6、数据定义如下

X1 DB 10H,100,-1

X2 DW 10H,100,-1

X3 DD ?

COUNT EQU X3-X1

变量COUNT的值是,其表示的意义是。

7、A DW 1234H

B DW 5678H

PUSH A

PUSH B

POP A

POP B

试回答:上述程序段执行后(A)= ;(B)= 。

8、设某数据段:

DA TA SEGMENT

ORG 20H

NUM1=8

NUM2=NUM1+10H

DA1 DB 'COMPUTER'

DB 0AH,0DH

COUNT EQU $-DA1

DA2 DW 'CO','MP','UT','ER'

DA TA ENDS

试回答:

(1)DA1的偏移地址是:()

(2)COUNT的值是:()

(3)DA2+5字节单元的内容是:()

9、下列程序段完成什么工作?

DAT1 DB 30 DUP(?)

DAT2 DB 10 DUP(?)

MOV CX,10

MOV BX,20

MOV SI,0

MOV DI,0

NEXT:MOV AL,DAT1[BX][SI]

MOV DAT2[DI],AL

INC SI

INC DI

LOOP NEXT

10、下列语句在存储器中分别为变量数据区分配多少个字节单元?

(1)V AR3 DD 10

(2)V AR4 DW 4 DUP(?),2

11、设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H.下列指令分别执行后,IP的值各是多少?

(1)JMP BX IP=___________________

(2)JMP TABLE[BX] IP=___________________

12、选用NOT,AND,OR XOR逻辑指令编写一指令序列,实现将AL第0位,第2位同时置1,其他位变反。

13、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。例如:

PUSH AX

PUSH BX

PUSH CX

PUSH DX

:

恢复现场

试写出恢复现场时的指令序列。

14、完成下列操作,选用什么指令:

(1)将AX的内容,减去0520H,和上次运算的借位;

(2)将变量名TABL的段地址送AX;

15、D1 DB 20H DUP(?)

D2 DW D1

请写出用一条指令实现取D1的偏移地址送给SI中的三种方法。

16、在8086/8088系统中,存储器是分段组织的,按各段实际长度定位。已知(DS)=2150H,(CS)=2640H,(SS)=2250H,SP=100H,问题:

(1)数据段起始地址是多少?

(2)计算数据段中最多可以存放多少个字节数据?(要有具体计算式)

(3)代码段最多可以存放多少个字节程序代码?说明理由。

17、已知数据段定义如下:

DATA SEGMENT

ORG 100H

BUF DW 'CD',1,3 DUP(4,2 DUP(8,6))

VRA DB 4AH

DATA ENDS

单独执行下列语句

LEA BX,BUF BX=_______

MOV CX,VRA-BUF CX=_______(用十六进制数表示)。

18、分别说明下列两组指令中两条指令操作的相同点和不同点

(1)SUB AX,BX CMP AX,BX

(2)AND CX,DX TEST CX,DX

19、下列每组指令中的两条指令有否区别?若有,请说出它们的不同点。

A. MOV AX,OFFSET TABLE LEA AX,TABLE

B. JMP SHORT L1 JMP NEAR PTR L1

C. MOV AX,[BX] MOV AX,BX

D. SUB DX,CX CMP DX,CX

E.MOV [BP][DI],AL MOV DS:[BP][DI],AL

20、系统功能调用的方法如何?举例说明。

21、编程序,使:

A.CL寄存器内容取反

B.BX寄存器的低四位置1

C.AX寄存器的低四位清0

D.CX寄存器的低四位变反

E.用TEST指令测试DL寄存器的第3位和第6位是否为零。

22、指令AND AX,OPR1 AND OPR2中,OPR1和OPR2是两个已赋值的变量,问两个AND 操作有什么区别?

23、假定(DX)=10111001B,(CL)=0.3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。

(1)SHR DX,1

(2)RCR DL,1

(3)RCL DX,CL

24、写出完成下述功能的程序段:

(1)传送25H到AL寄存器

(2)将AL的内容乘以2

(3)传送15H到BL寄存器

(4)AL的内容乘以BL的内容

并请写出最后(AX)=?

25、写一程序段,求双字长数DX∶BX的相反数。

26、在指令系统中,段内、段间返回均为RET指令。试回答:

(1)执行段内返回RET指令时,执行的操作是:

(2)执行段间返回RET指令时,执行的操作是:

27、ARY DW 10 DUP(?)

MOV AL,TYPE ARY

MOV BL,LENGTH ARY

MOV CL,SIZE ARY

上述MOV指令序列执行后的结果是什么?

28、设某数据段:

DA TA SEGMENT

ORG 20H

NUM1=8

NUM2=NUM1+10H

DA1 DB 'COMPUTER'

DB 0AH,0DH

COUNT EQU $-DA1

DA2 DW 'CO','MP','UT','ER'

DA TA ENDS

试回答:(1)DA1的偏移地址是:___________________。

(2)COUNT的值是:___________________。

(3)DA2+5字节单元的内容是:___________________。

29、设DS=3A00H,ES=4A00H,在段地址:偏移地址=4A00H:9000H 字单元中有数据3C50H。请用一条指令将数据3C50H装入AX寄存器。(不得使用立即数)

30、设BX=0FFFFH,DI=20H,DS=2000H,CL=8,(20020H)=4567H,下列各条指令分别执行后BX中的内容各为多少?

A. ROL BX,CL ;BX=______

B. MOV BX,[DI] ;BX=______

31、DAT1 DB 1,2,3,4

DAT2 DW 3412H,5678H

MOV AX,DAT1+1 ;将DAT1+1字单元内容送入AX中

MOV BL,DAT2+1 ;将DAT2+1字节单元内容送入BL中

已知上述两条MOV语句有语法错误,请根据注释字段的要求将其改正(分别用一条语句改正)。

32、DA1 DB 20H DUP(?)

DA2 DW 10H,45H,7856H

请用两种办法,分别只用一条指令实现将DA1数据区中数据个数送入CX。

33、用三种不同方法实现在字存储单元DB1中存储2000H。

34、已知:BX=1357H,BP=2468H,SI=1000H,DI=2000H,SS=1000H,DS=2000H,ES=3000H,试分别指出下列各指令中存储器操作数的物理地址。

MOV AL,[BP+20H]的物理地址是。

MOV [BX+DI-80H],AL的物理地址是。

MOV BL,ES:[SI+40H]的物理地址是。

四、程序分析题

1、XOR AL,AL

MOV AH,AL

ADD AH,9

JZ NEXT

XCHG AH,AL

JMP K1

NEXT:MOV AH,0FFH

K1:……

上述程序运行后,AH= ,AL= 。

2、XOR AL,AL

INC AL

NEG AL

INC AL

MOV BL,7FH

ADC AL,BL

上述程序段运行后,AL= ,CF= 。

3、已知AX=1234H

MOV BX,AX

NEG BX

ADD AX,BX

执行上述三条指令后,AX= ,BX= 。

4、BUF1 DB 41H,42H,43H,44H,45H,46H

BUF2 DB 6 DUP(?)

MOV SI,OFFSET BUF1

MOV DI,OFFSET BUF2

MOV CX,6

LOP:MOV AL,[SI]

SUB AL,7

AND AL,0FH

MOV [DI],AL

INC SI

INC DI

LOOP LOP

试回答(1)上述程序段执行后,BUF2开始的6个字节存储单元的内容是什么?

(2)在程序功能不变的情况下,AND AL,0FH指令可否用SUB AL,30H指令替代。

5、BUFF DB …ABD $ QC% $ A……CYZ?

CONT EQU $ - BUFF

CLD

LEA DI,BUFF

汇编语言程序的设计试卷与答案

汇编语言程序设计试卷 一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。 ① 无符号十进制数136 ② 带符号十进制数-120 ③ 压缩型BCD码十进制数88 ④ 8位二进制数-8的补码表示 2.指令指针寄存器是()。 ① IP ② SP ③ BP ④ PSW 3.当执行指令ADD AX,BX后,若AX的内容为2BA0H, 设置的奇偶标志位PF=1,下面的叙述正确的是()。 ① 表示结果中含1的个数为偶数 ② 表示结果中含1的个数为奇数 ③ 表示该数为偶数 ④ 表示结果中低八位含1的个数为偶数 4.完成将累加器AL清零,并使进位标志CF清零, 下面错误的指令是()。 ① MOV AL,00H ② AND AL,00H

③ XOR AL,AL ④ SUB AL,AL 5.下列指令执行后总是使CF=0,OF=0的是()。 ① AND ② NEG ③ NOT ④ INC 6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。 ① MOV AX,BX ② MOV BX,AX ③ PUSH AX POP BX ④ MOV CX,AX MOV AX,BX MOV BX,CX 7.设AH=0,AL=06H,BL=09H,执行指令 ADD AL,BL AAA 之后,其结果应是()。 ① AH=01,AL=05 ② AH=1 AL=15 ③ AH=0 AL=0FH ④ AH=0 AL=05 8.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为

汇编语言程序设计实验教程

汇编语言程序设计实验教程

目录 第一章上机过程 (4) 1.1编辑源程序 (4) 1.2 汇编源程序 (5) 1.3连接目标程序 (6) 1.4运行程序 (7) 第二章DEBUG命令祥解 (8) 2.1 DEBUG程序使用 (8) 2.2 DEBUG的常用命令 (8) 第三章汇编语言程序设计实验 (13) 3.1实验一顺序与分支程序设计 (13) 3.2 实验二循环与子程序程序设计 (15) 3.3 实验三算术运算与代码转换程序设计 (16) 3.4 实验四字符串的匹配与替换程序设计 (18) 3.5 实验五输入输出程序设计 (19) 第四章部分实验参考答案 (21)

第一章上机过程 1.1编辑源程序 汇编语言源程序:用汇编语句编写的解决应用问题的程序。 汇编程序:将汇编语言源程序翻译成机器语言程序的系统。 汇编:将汇编语言程序翻译成机器语言程序的过程。 在编辑汇编语言源程序时,对计算机硬件工作环境无特殊要求,对软件工作环境要求也很简单,只需用建立ASCII码文本文件的软件即可。 (1)编辑软件 编辑软件:EDIT、QE、WORD、NOTEPAD等。 当输入、建立和修改源程序时,可任选一种编辑软件,不要用格式控制符,要求编辑完成的文件扩展名一定是.ASM。 (2)汇编程序 有汇编ASM.EXE、宏汇编MASM.EXE及TASM等,一般使用宏汇编MASM.EXE,因它比ASM.EXE功能强。TASM适用于8086/8088~Pentium系列指令系统所编写的汇编语言程序,是比较先进的汇编工具。 (3)连接程序 用连接程序LINK.EXE或TLINK.EXE,将MASM.EXE产生的目标代码程序(.OBJ)文件连接成可执行程序.EXE,TLINK比LINK更先进。 (4)辅助工具程序(.EXE) 进行汇编语言程序调试和文件格式转换的程序有: https://www.doczj.com/doc/f06914079.html, 动态调试程序 EXE2BIN.EXE文件格式转换程序

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

汇编语言程序设计期末考试题 学院(系):学号: 姓名: 计分: 一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号 内。每小题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=________

汇编语言程序设计课后习题解答宋人杰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

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)

80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著) 《计算机操作系统原理》 《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。 《数据结构和算法》——这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时) 《软件工程》——这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华) 《Windows 程序设计》——《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本 建议:你还可以在CSDN上阅读到许多书评。这些书评能够帮助你决定读什么样的书 关于编程的网站 计算机编程 郭新明-FTP服务器体验式学习课程(张孝祥监制) https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=3997 https://www.doczj.com/doc/f06914079.html,快速开发新闻系统在线播放 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=4708 数字电路基础[宁波电大] https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=774 计算机组成与汇编语言程序设计(赵丽梅)宁波电大 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=1242 操作系统(陈访荣)宁波电大(在线播放) https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=4708 计算机网络(马敏飞)宁波电大 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=1243 https://www.doczj.com/doc/f06914079.html, 2.0快速入门(12)-https://www.doczj.com/doc/f06914079.html, 2.0网站快速导航 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=2501 Internet和Intranet应用(薛昭旺)宁波电大 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=1245 2004年电脑硬件安装调试维修视频教学讲授 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=4825 https://www.doczj.com/doc/f06914079.html, 高级排错技巧 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=768 SQL Server 2000管理专家系列课程 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=4832 开心三人行系列(2):使用Atlas 构建AJAX应用 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=2564 Visual Basic 2005开发技巧系列课程(4): 在Visual Basic 2005中使用.NET Framework 2.0新增功能 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=2526 SQL Server 2005 系列课程-使用ADO https://www.doczj.com/doc/f06914079.html,开发SQL Server 2005 OLAP应用 https://www.doczj.com/doc/f06914079.html,/so/so138.aspx?id=2535

汇编语言程序设计试题A卷

陕西电子信息职业技术学院考试试卷(A) 2011至2012学年度第一学期 期末 班级: 09成教 课程: 汇编语言程序设计 题 号 一 二 三 四 五 合分人 分 数 总 分 (考试时间:120分钟 满分100分) 一、单项选择题(本大题共10小题,每小题2分,共20分) 1. 计算机硬件中最核心的部件是( )。 A. 运算器 B. 主存储器 C. CPU D. 输入 / 输出设备 2. 指令指针寄存器(IP )中存放的内容( )。 A. 指令 B. 指令地址 C. 操作数 D. 操作数地址 3. 寄存器间接寻址方式中,要寻找的操作数位于( )中。 A. 通用寄存器 B. 内存单元 C. 段寄存器 D. 堆栈 4. I/O 端口的编址方式分为统一编址和( )。 A. 独立编址 B. 选择编址 C. 设置编址 D. 控制编址 5. 汇编语言程序中可执行的指令位于( )中。 A. 数据段 B. 堆栈段 C. 代码段 D. 附加数据段 6. 循环结构设计中,要考虑的核心问题是( )。 A. 循环的控制 B. 选择循环结构 C. 设置循环参数初始值 D. 修改循环控制参数 7. 在汇编中用于管理和控制计算机相关功能的指令是( )。 A. 伪指令 B. 机器指令 C. 宏指令 D. 目标指令 班级 姓名 学号 — — — — — — — — — — — — — — — — 密 — — — — — — — — — 封 — — — — — — — — — — 线 — — — — — — — — — — — — — — — —

8. 识别中断源的方法包括查询中断和()共两种类型。 A. 指令中断 B. 故障中断 C. 矢量中断 D. 实时时钟中断 9. CPU与I/O设备之间需要传输的信息通常包括()、状态信息 和控制信息。 A. 编址信息 B. 格式信息 C. 中断信息 D. 数据信息 10. 一般情况下,汇编源程序应由数据段、()和代码段共三个逻 辑段组成。 A. 逻辑段 B. 堆栈段 C. 指令段 D. 类型段 二、名词解释(本大题共5小题,每小题4分,共20分) 11. 微处理器: 12. 寻址方式: 13. 伪指令: 14. 中断源:

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

2位数计算器程序-汇编语言课程设计

信息学院课程设计题目:2位数计算器程序设计 __ 姓名: __ _____ 学号: ____ ___ 班级: 课程:汇编语言 ________ 任课教师:侯艳艳 ____ 2011年12月

课程设计任务书及成绩评定

目录 摘要 (2) 1.设计目的………………………………………………………………………………………………?2 2.概要设计………………………………………………………………………………………………?3 2.1系统总体分析…………………………………………………………………………?3 2.2程序流程图 (3) 3.详细设计......................................................................................................? (4) 3.1主程序及子程序说明 (4) 3.2程序代码编写 (4) 4.程序调试 (6) 4.1运行界面分析 (6) 4.2算法的分析 (6) 4.3调试过程及分析 (6) 5.心得体会 (7) 5.1设计体会...................................................................................................? (7) 5.2系统改进...................................................................................................? (7) 参考文献 (8)

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

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 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

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.调试过程中遇到的问题和解决的方法。

汇编语言程序设计(钱晓捷)课后答案

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(01) 2.1 (1)AX=1200h (2)AX=0100h (3)AX=4C2Ah (4)AX=3412h (5)AX=4C2Ah (6)AX=7856h (7)AX=65B7h 2.2(1) 两操作数类型不匹配 (2) IP指令指针禁止用户访问 (3) 立即数不允许传给段寄存器 (4) 段寄存器之间不允许传送 (5) 两操作数类型不匹配 (6) 目的操作数应为[ BP ] (7) 源操作数应为[BX+DI] (8) 立即数不能作目的操作数 2.3 lea bx,table ;获取table的首地址,BX=200H mov al,8 ;传送欲转换的数字,AL=8 xlat ;转换为格雷码,AL=12H 2.4 堆栈是一种按“先进后出”原则存取数据的存储区域。 堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。 2.5 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h 2.6 AL=89h CF ZF SF OF PF AL=12h 1 0 0 1 1 AL=0afh 0 0 1 0 1 AL=0afh 1 0 1 0 1 AL=00h 0 1 0 0 1 AL=0ffh 0 0 1 0 1 AL=00h 0 1 0 0 1 2.7 W=X+Y+24-Z

2.8 (1)ADD DX,BX (2)ADD AL,[BX+SI] (3)ADD [BX+0B2H],CX (4)ADD WORD PTR [0520H],3412H (5)ADD AL,0A0H 2.9;为了避免与操作数地址混淆,将题中X,Y,Z,V 字操作数改为A,B,C,D mov ax,X ;ax=A imul Y ;dx,ax = A*B (将操作数看作符号数,以下同) mov cx,ax mov bx,dx ;bx,ax <-- dx,ax =A*B mov ax,Z ;ax = C cwd ;dx,ax =C (扩展符号后为双字) add cx,ax adc bx,dx ;bx,cx <-- bx,cx+dx,ax=A*B+C sub cx,540 sbb bx,0 ;bx,cx<-- A*B+C-540 mov ax, V ;ax= D cwd ;dx,ax= D (扩展符号后为双字) sub ax, cx sbb dx, bx ;dx,ax = dx,ax - bx,cx = D-(A*B+C-540) idiv X ;运算结果:[D-(A*B+C-540h)]/A ;ax存商,dx存余数 2.10;(1)xchg的操作数不能是立即数 (2不能对CS直接赋值 (3)两个操作数不能都是存储单元 (4)堆栈的操作数不能是字节量 (5)adc的操作数不能是段寄存器 (6)没有确定是字节还是字操作 (7)in不支持超过FFH的直接寻址 (8)out只能以AL/AX为源操作数 第二章(02) 2.11; 指令AX的值CF OF SF ZF PF Mov ax,1407h1470h----- And ax,ax1470h00000 Or ax,ax1470h00000 Xor ax,ax000011 Not ax0ffffh----- Test ax,0f0f0h0ffffh00101 注意: 1. mov, not指令不影响标志位 2. 其他逻辑指令使CF=OF=0, 根据结果影响其他标志位。

全国1月高等教育自学考试汇编语言程序设计试题历年试卷

做试题,没答案?上自考365,网校名师为你详细解答! 全国2005年1月高等教育自学考试 汇编语言程序设计试题 课程代码:02321 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填 在题干的括号内。每小题1分,共16分) 1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。 A.2025∶0F2A B.2108∶00EA C.2000∶017A D.2100∶117A 2.某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( )字节。 A.2K B.4K C.8K D.16K 3.以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。 A.INC [DI] B.INC DI C.INC BYTE PTR[DI] D.ADD [DI],1 4.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。 A.COUNT是变量 B.COUNT占用一个字节存储单元 C.COUNT是符号常数 D.COUNT占用二个字节存储单元 5.下面指令中,源操作数的寻址方式为立即寻址的是( )。 A.MOV AX,OFFSET A B.MOV AX,A C.MOV AX,A+1 D.MOV AX,A[BX] 6.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。 A.2111H B.2112H C.210FH D.210EH 7.将AX中有符号数除以2的正确指令是( )。 A.SHR AX,1 B.SAR AX,1 C.ROR AX,1 D.RCR AX,1 8.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。 A.JAE HIGH B.JBE HIGH C.JEG HIGH D.JLE HIGH 9.指令SCASB操作数的段地址一定在( )寄存器中。 A.CS B.DS C.ES D.SS 10.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配 的存储单元字节数是( )。 A.48H B.90H C.120 D.60 11.下列指令执行后,不改变AL寄存器内容的指令是( )。 1

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

汇编语言程序设计教程(第3版 卜艳萍)参考答案

汇编语言程序设计教程(第3版) 习题参考答案 第1章汇编语言基础知识 思考与练习 1.计算机系统分哪几个层次?简述计算机系统的硬件结构。 1)数字逻辑层 2) 微体系结构层 3) 指令系统层 4) 操作系统层 5) 汇编语言层 6) 高级语言层 7) 应用层 硬件系统是指构成计算机系统的物理实体或物理装置。它由控制器、运算器、存储器、输入设备和输出设备等部件构成。 2.简述用汇编语言进行程序设计的必要性。 1)程序要具有较快的执行时间,或者只能占用较小的存储容量。例如,操作系统的核 心程序段,实时控制系统的软件,智能仪器仪表的控制程序等。 2)程序与计算机硬件密切相关,程序要直接、有效地控制硬件。例如,I/O接口电路 的初始化程序段,外部设备的低层驱动程序等。 3)大型软件需要提高性能、优化处理的部分。例如计算机系统频繁调用的子程序、动 态连接库等。 4)没有合适的高级语言或只能采用汇编语言的时候。例如,开发最新的处理器程序时, 暂时没有支持新指令的编译程序。 5)汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解 密软件、分析和防治计算机病毒等。 3.汉字编码主要分哪几类?每类的功能如何? 汉字编码主要分为四类:汉字输入码、汉字交换码、汉字机内码和汉字字形码。 1)为了能直接使用西文标准键盘进行输入,就必须为汉字设计相应的编码方法,即用 西文标准键盘上的字母数字串表示汉字的编码。目前,汉字输入编码方法主要有三 种:数字编码、拼音编码和字形编码。 2)汉字交换码:在不同汉字信息处理系统间进行汉字交换时所使用的编码,就是国标 码。无论采用哪种方法输入汉字,一旦输入到计算机中,必须采用统一的国标码标 识每个汉字。 3)汉字机内码是汉字在设备或信息处理系统内部最基本的表达形式,是在设备和信息 处理系统内部存储、处理、传输汉字用的编码。 4)字形编码也称为字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式。4.计算机的字长是怎么定义的,试举例说明。 计算机能同时处理二进制信息的位宽定义为计算机的字长。如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。 5.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值? 用相应进制的数值加上进制标记即可。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(本大题共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

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)解析

IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社) (沈美明,温冬蝉著) 第二章 1.解答:有256个 2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元 E5 1E 3C 2A 3.解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: CDABH 4.解答: 这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址 5.解答: CS+IP 第一个字的物理地址为: 0AAA40H 6.解答: 条件标志OF,SF,ZF,CF,的值依次为:0,0,0,0 7.下列操作可使用那些寄存器? (1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH ,AL等(2)循环计数 CX (3)乘法和除法DX,AX,AH,AL (4)保存段地址CS ,DS,ES,SS (5)表示运算结果为O FLAGS (6)将要执行的指令地址IP (7) 将要从堆栈取出数据的地址BP,SP,SS 8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP 9.一一对应; 5--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O 第三章 1.(1)立即寻址没有 (2)直接寻址7237H (3)使用BX的寄存器寻址没有 (4)使用BX的间接寻址 637DH (5)使用BX的寄存器相对寻址0D5B4H (6)基址变址寻址8E18H (7)相对基址变址004FH 2.根据下列要求,写出相应的汇编指令。 (1)ADD DX,BX (2) ADD AL,[BX][SI] (3) ADD [BX][0B2H], CX (4) MOV AX,2A59H ADD [0524H] ,AX (5) ADD AL ,0B5H

实验一基础汇编语言程序设计

实验一基础汇编语言程序设计 实验目的 1.学习和了解TEC-XP十六位机监控命令的用法; 2.学习和了解TEC-XP十六位机的指令系统; 3.学习简单的TEC-XP十六位机汇编程序设计。 实验内容 1.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储器内容; 2.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序,用T、P命令单步运行并观察程序单步执行情况。 3.学习联机使用TEC-XP教学试验系统和仿真终端软件。 实验要求 在使用该教学机之前,应先熟悉教学机的各个组成部分及其使用方法。 实验步骤 1.关闭电源,将大板上的COMl口与PC机的串口相连; 2.接通电源,在PC机上运行PCEC.EXE文件,设置所用PC机的串口为“l”或“2”,其它的设置一般不用改动,直接回车即可; 3.置控制开关为001110(连续、内存读指令、组合逻辑、16位、联机),开关拨向上方表示“1”,拨向下方表示“0”,“X”表示任意。其它实验相同; 4.按一下“RESET”按键,再按一下“START”’按键,主机上显示: 5.用R命令查看寄存器内容或修改寄存器的内容 1.用R命令查看寄存器或修改寄存器内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。

2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空格, 也可有—个或数个空格 主机显示: 寄存器原值:xxxx 在后面输入新的值0036 再用R命令显示寄存器内容,则R0的内容变为0036。 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 会显示从2000H地址开始的连续128个字的内容; 连续使用不带参数的D命令,起始地址会自动加128(即80H)。

汇编语言程序设计试题

汇编语言程序设计试题 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题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)。

相关主题
文本预览
相关文档 最新文档