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

汇编语言习题

汇编语言习题
汇编语言习题

汇编语言习题

一、选择题

1. 以8086/8088为CPU的微机内存最大容量为( )。

A. 4MB

B. 1MB

C. 640KB

D. 64KB

2. 下列四个寄存器中,不允许用传送指令赋值的寄存器是( )。

A. CS

B. DS

C. ES

D. SS

3. 指令MOV AX,10[SI]的源操作数字段的寻址方式是( )。

A. 寄存器直接寻址

B. 寄存器间接寻址

C. 寄存器相对寻址

D. 基址寻址

4. 指令MOV 100[SI][BP],AX的目标操作数的隐含段为( )。

A. 数据段

B. 堆栈段

C. 代码段

D. 附加段

5. 一个字节所能表示的无符号整数数据范围为( )。

A. 0~256

B. 0~255

C. -128~127

D. -127~127

6. 确定下列哪些数据在汇编语言中是非法的( )。

A. 19AH

B. 1372

C. ABH

D. 145

7. 若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为( )。

A. 20102H

B. 20101H

C. 200FFH

D. 200FEH

8. 当执行完下列指令序列后,标志位OF和CF的值为( )。

MOV AL,0C4H

ADD AL,9DH

A. 0,0

B. 0,1

C. 1,0

D. 1,1

9. 当执行完下列指令序列后,标志位OF和CF的值为( )

MOV AH, 00H

SUB AH,32H

A. 0,0

B. 0,1

C. 1,0

D. 1,1

10. 当执行完下列指令序列后,标志位OF和CF的值为( )。

MOV AH,80H

NEG AH

A. 0,0

B. 0,1

C. 1,0

D. 1,1

11. 已知AL,BX为无符号数,计算AL*BX的乘积,用下述程序段( )。

A. MUL BX

B. IMUL BX

C. XOR AH,AH

D. CBW

MUL BX MUL BX

12. 已知AL,BX为带符号数,计算AL*BX的乘积,使用下述程序段( )。

A. MOV AH,0

B. XOR AH,AH

MUL BX IMUL BX

C. MOV AH,-1

D. CBW

IMUL BX IMUL BX

13. JMP SI的目标地址偏移量为( )

A. SI的内容

B. SI所指向的内存字单元之内容

C. IP+SI的内容

D. IP+[SI]

14. 指令JMP WORD PTR[BX] 转移的目标地址是( )

A. BX的内容

B. SP+BX之和

B. IP+[BX]之和D. BX指出的内存单元之内容

15. 当A≥B时转移的条件转移指令为(A、B为带符号数) ( )

A. JA

B. JAE

C. JG

D. JGE

16. 已知X,Y为带符号数, 两数比较后, 欲判断X≤Y发生转移, 应使用指令( ? )

A. JBE

B. JL

C. JNG

D. JNA

17. 当执行完下述指令序列后标志位CF和OF的值为( )

MOV AH,73H

ADD AH,AH

A. 0, 0

B. 0, 1

C. 1, 0

D. 1, 1

18. 已知AX=8078H,BX=5610H, 指令CMP BL,AH执行后OF,CF为何值( )

A. 0,0

B. 0,1

C. 1,0

D. 1,1

19. 条件转移指令的转移目标距该指令的距离范围为( )

A. -128~127

B. -126~129

C. -130~125

D. -127~128

20. NEXT是程序中某指令语句标号,下述哪个程序段不能实现转移到NEXT?语句执行。( )

A. JMP NEXT

B. MOV BX, OFFSET NEXT

JMP BX

C. MOV BX, NEXT

D. LEA AX, NEXT

JMP BX JMP AX

21. 循环控制指令隐含指定哪个寄存器作为循环计数器。( )

A. CL

B. CX

C. AL

D. AX

22. 循环控制指令与循环体入口指令的距离只能在什么范围内。( )

A. -126~129

B. -128~127

C. -127~128

D. -129~126

23. 在循环次数已知的情况下,采用哪种方法控制循环程序最方便。( )

A. 正计数法

B. 倒计数法

C. 寄存器终值法

D. 条件控制法

24. 当CX=0时,REP MOVSB执行的次数为。( )

A. 1次

B. 0次

C. 65535次

D. 65536次

25. 已知CALL BX执行前SP=100H, 执行后SP的内容为( )

A. 100H

B. 102H

C. 98H

D. 0FEH

26. 已知CALL DWORD PTR[BX]执行前SP=100H, 执行后SP的内容为( )

A. 0FEH

B. 0FCH

C. 104H

D. 96H

27. 已知SUBR是一个属性NEAR的子程序, 下述调用SUBR子程序的指令序列中, ?哪一个不能实现调用SUBR的目的。( )

A. CALL SUBR

B. CALL NEAR PTR SUBR

C. MOV BX, OFFSET SUBR

D. MOV BX, OFFSET SUBR

CALL NEAR PTR[BX] CALL BX

28. 已知RET指令是属性为NEAR子程序中的返回指令, 执行RET前SP=100H,?执行后SP的内容为( )

A. 102H

B. 100H

C. 0FEH

D. 104H

29. 已知RET指令是属性为NEAR子程序中的返回指令, 执行RET 4前SP=100H,执行后SP的内容为( )

A. 102H

B. 106H

C. 0FCH

D. 0FAH

30. 8086/8088 CPU的I/O指令可以采用的寻址方式为( )。

A. 直接寻址

B. 间接寻址

C. 变址寻址

D. 直接寻址与间接寻址

31. 8086/8088 CPU的I/O指令,采用间接寻址时,可用的间址寄存器是( )。

A. BX

B. DX

C. SI

D. DI

32. 8086/8088 CPU的I/O指令用直接寻址访问端口的地址空间为( )。

A. 0~0FFH

B. 0~0FFFFH

C. 0~7FH

D. 0~0FFFFFH

33. 十进制数-100的8位二进制数的补码为()。

A. 11100100

B. 01100100

C. 10011100

D. 11001110

34. 下列是8位二进制数的补码,其中真值最大的是()。

A. 10001000

B. 11111111

C. 00000000

D. 00000001

35. 16位有符号数的补码所表示的十进制数的范围是()。

A. -32767~+32768

B. -32768~+32767

C. -65535~+65536

D. 0~65535

36. 以下指令中,执行后AL中的数据不变的是()。

A. AND AL,CL

B. OR AL,AL

C. XOR AL,AL

D. CMP AL,AL

E. ADD AL,0

F. AND AL,0FFH

G. XOR AL,0FFH

H. OR AL,0FFH

37. 下列指令中,执行后,不改变标志位CF的是()。

A. NOT AL

B. AND AL,AL

C. SAL AL,1

D. MUL AL

E. MOVSB

F. INC AL

G. POP AX

H. POPF

38. 下列指令中,执行后对标志未发生影响的是______。

A. MOV AX,[BX]

B. PUSH AX

C. ADD AX,00FFH

D. CMP AX,BX

E. JB NEXT

F. CALL SUBB

G. XOR AX,AX

H. MOVSB

I. LEA DX,BUF

J. TEST AX,8000H

K. MUL BX

L. DIV BX

M. NOT CX

N. LOOP LOP

O. XCHG AX,BX

39. 下列指令中,执行后,不改变标志位ZF的是()。

A. CMP AL,BL

B. AND AL,AL

C. TEST AL,0FFH

D. ROR AL,CL

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

A.无符号十进制数136B.带符号十进制数-120

C.压缩型BCD码十进制数88D.8位二进制数-8的补码表示

41.指令指针寄存器是()。

A.IP B.SP C.BP D.PSW

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

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

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

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

A.MOV AL,00H B.AND AL,00H

C.XOR AL,AL D.SUB AL,AL

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

A.AND B.NEG C.NOT D.INC

45.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。A.MOV AX,BX

B.MOV BX,AX

C.PUSH AX

POP BX

D.MOV CX,AX

MOV AX,BX

MOV BX,CX

46.设AH=0,AL=06H,BL=09H,执行指令

ADD AL,BL

AAA

之后,其结果应是()。

A.AH=01,AL=05B.AH=1 AL=15

C.AH=0 AL=0FH D.AH=0 AL=05

47. 有数据定义NUM DB '12345',经汇编后,NUM占有()字节存储单元。A.1 B.5 C.6 D.7

48.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。A.CX=0且ZF=0B.CX=0且ZF=1

C.CX=0或ZF=0 D.CX=0或ZF=1

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

A.REP LODSB B.REP SCASB

C.REP CMPSB D.REP MOVSB

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

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

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

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

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

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

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

B.MOV DX,1000H

C.MOV WORD PTR[BX],1000H

D.MOV DS,2000H

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

DAW DW2A05H

DAB DB0FAH

:

MOV AL,BYTE PTR DAW

SUB DAB,AL

A.0DAH B.0FAH C.0F5H D.0D0H

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

MOV AL,100

MOV BL,-2

A.AL=100H

BL=02H

B.AL=64H

BL=0FEH

C.AL=64H

BL=82H

D.AL=100H

BL=0FEH

54.设数据段中已有:

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

55.实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。A.SHL AX,2

ROL DX,2

B.RCL AX,2

SHL DX,2

C.MOV CX,2

LOP:SHL AX,1

RCL DX,1

LOOP LOP

D.SHL AX,1

SHL AX,1

RCL DX,1

RCL DX,1

56.DATA SEGMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

:

MOV BX,DS:[0006H]

AND BX,0FFH

OR BH,[BX]

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

A.0605H B.0402H C.0606H D.0204H

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

A.JLE B.JNL C.JNLE D.JL

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

_________K1

A.JNE B.JZ C.JS D.JC

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

JZ NEXT

B.XOR BL,4FH

JZ NEXT

C.AND BL,4FH

JZ NEXT

D.OR BL,4FH

JZ NEXT

60.指令MOV BYTE PTR [BX+SI],0目的操作数的寻址方式是()。

A.立即寻址B.寄存器寻址

C.寄存器间接寻址D.基址变址寻址

61.已知DS=12A0H,ES=22A0H,SS=33A0H,BP=0174H,指令MOV AX,DS:[BP]源操作数的物理地址是()。

A.12A074H B.22B74H

C.33B74H D.12B74H

62.某数组共有4个字,第一个字的物理地址是1F100H,则第4个字的物理地址是()。

A.1F105H B.1F106H

C. 1F107H D.1F108H

63.循环指令LOOP规定循环次数必定在()寄存器中。

A.DX B.DL

C.CX D.CL

64.指令LODSB操作数的段地址一定在()寄存器中。

A.CS B.DS

C.ES D.SS

65.有数据定义LIST DB 45H,36H,18H,76H,执行MOV AX,WORD PTR LIST+2,则AX=()。

A.3600H

B. 0036H

C.1876H D.7618H

66.下列数据定义语句错误的是()。

A.ERR DW ‘ERROR’B.BUF DB 9 DUP(?)

C.FLAG DB 1 D.DA T1 DW ?

67.8086的存储器是分段的,定义一个段的伪指令是()。

A.PROC和ENDP B.NAME和END

C.SEGMENT和ENDS D.SEGMENT和ASSUME

68.己知AX=1200H,能使CF置’1’的指令是()。

A.OR AX,AX B.NEG AX

C.NOT AX D.DEC AL

69.已知SP=12EH,执行段间返回指令RET后,SP的值是()。

A.12AH B.12CH

C.130H D.132H

70.己知AX=0139H,BL=36H,执行下列指令序列,则AX=()。

ADD AL,BL

AAA

A. 016FH

B. 0175H

C. 0205H

D. 0115H

71.将AX中有符号数除以4的正确指令序列是()。

A.SHR AX,1 B.SAR AX,1 C.IDIV 4 D.DIV 4

SHR AX,1 SAR AX,l

72.已知CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是()。

PUSH CS

POP DS

A.CS=0 B.CS=2400H C.CS=2400H D.CS=2300H

DS=2300H DS=2300H DS=2400H DS=2300H

73. 用转移表法的多分支程序设计,分支表是建在()中。

A.代码段B.数据段

C.附加段D.堆栈段

74. 扩展名是EXE的汇编语言可执行程序用DOS功能调用返回操作系统指令是()

A.MOV AX,4CH B.MOV AX,4C00H

C.MOV AL,4CH D.MOV AH,2CH

75.串比较指令REPE CMPSB重复比较执行的条件是()。

A.CX ≠0并且ZF=0 B.CX≠0并且ZF=1

C.CX≠0或者ZF=0 D.CX≠0或者ZF=1

76.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是()

A. C+D=B B.A+D=B

C.B=D D.A>C>D

77.标志寄存器中属于控制标志位的是()

A.DF,OF,SF B.DF,IF,TF

C.OF,CF,PF D.AF,OF,SF

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

A.名字项B.操作码项C.操作数项D.注释项

79.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是()

A.DEC AL B.SBB AL,0

AAS DAS

C.SUB AL,1 D.SUB AL,1

AAS DAS

80.要输入端口1234H中的8位数据,其指令应是()

A.MOV DX,1234H B.MOV DX,1234H

OUT DX,AL IN AL,DX

C.IN AX,1234H D.OUT DX,1234H

81.若AX=-15要得到AX=15 应执行的指令是()

A. NEG AX B.NOT AX

C.INC AX D.DEC AX

82.8086/8088系统执行传送指令MOV时()

A.不影响标志位B.影响DF方向标志

C.影响SF符号标志D.影响CF进位标志

83.MOV AL,79

ADD AL,OB1H

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

A.CF=0,OF=1 B.CF=1,OF=1

C. CF=0,OF=1 D.CF=1,OF=0

84. 已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()A.DIV BX B.CWD

IDIV BX

C.XOR DX,DX D.CBW

DIV BX IDIV BX

85.下列指令中操作数在代码段中的是()

A.MOV AL,42H B.ADD AL,BL

C.SUB [BX],DI D.INC [DI]

86.用REPE SCASB指令对字符串进行扫描,如CX≠0时,扫描结束,那么表示()A. 在字符串中遇上第一个AL中指定的字符

B.在字符串中有一个AL中指定的字符

C.在字符串中有一个不是AL中指定的字符

D.在字符串中遇上第一个不是AL中指定的字符

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

A.MOV [BX+2], AX B.SUB AX,2467H

C.SBB [SI],BX D.CMP AX,BX

88.表示过程定义结束的伪指令是()

A.ENDP B.ENDS

C.END D. ENDM

89.下列有语法错误的语句是()

A. DB 12H B.DW 4567H

C.DD 'BCD' D.DB 'CD'

90.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))

MOV AX,WORD PTR DB1[04H]

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

A. 0302H

B. 0203H

C. 0202H

D. 0303H

91.BUF1 DB 3 DUP(0,2 DUP(1,2),3)

COUNT EQU $-BUF1

符号COUNT等价的值是()

A. 6 B.18

C.16 D.8

92.DA1 DW 2A05H

DA2 DB 0FAH

MOV AL,BYTE PTR DA1

SUB DA2,AL

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

A.0DAH B. 0FAH

C. 0F5H

D. 0D0H

93.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是()

A.33CECH B.33CF2H C.33CF4H D.33CE8H

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

A.0036H

B.0022H

C.0030H

D.0020H

95.条件转移指令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

96.用DEBUG调试汇编语言程序时,显示某指令的地址是2F80:F400,此时段寄存器CS的值是()A.F400H B.2F80H C.F4000H D.2F800H

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

A.8000H B.0080H C.2080H D.8020H

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

A.CLI B.STI C.CLD D. STD

99.下列四条指令执行后不影响标志位的是()

A.JNC NEXT B.CMP AX,BX C.SHL AX,1 D.OR AL,AL

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

A.DEC AX B.SUB AX,1 C.AND AX,1 D.CMP AX,1

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

A.SS,SP, BP B.SS,SP, BX

C.DS,BX,BP D.DS,SP, BP

102.有指令MOV AX,1234H,指令中的立即数1234H是存储在()

A.数据段B.代码段C.附加段D.堆栈段

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

A.BUF DW 9 B.BUF DB 9

C.BUF DB 9 DUP(?) D.BUF DW 9 DUP(?)

104.已知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

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

A.加1 B.减1 C.加2 D.减2

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

A. SUB AX,AX B.AND AX,0 C.XOR AX,AX D.MOV AX,0

107.定义宏指令的伪指令是()

A.PROC和ENDP B.CODE和ENDS C.EQU和END D.MACRO和ENDM 108.在汇编语言源程序中,表达式的计算是由()完成的。

A.编程者B.汇编程序C.程序执行时D.连接程序

二、判断题

1. MOV AX,[DX]

2. MOV [BX],[SI]

3. CMP DX,15

4. SHR AX,4

5. MOV BX,AL

6. MOV DS,1000H

7. TEST AX,21H

8. MOV AL,[BX]

9. MOV [SI],35H

10. MOV AL,512

11. 乘法指令MUL中被乘数在AX或DX:AX中存放

12. LOOP指令是与寄存器CX相关联的

13. CS代码段与DS数据段不可以指向同一位置

14. 在汇编语句中,“299”并不一定就是十进制

15. OF为‘1’时,说明溢出,计算出现错误

16. 指令“MOV AX,WORD PTR [2000H]”是正确的

17. I/O接口地址是8位的

18. “MOV AX,0”与“XOR AX,AX”结果一致

19. OUT [BX],AX

20. MOV SI,[SI]

21. OUT DX,AX

22. MOV 10,AL

23. OUT 2F8H,AL

24. PUSH AL

25. MOV DS,CS

26. ADD [SI],[BX]

27. ADD AX,100

28. ADD AX,BL

29. ADD [SI],100

30. MUL 5

31. DIV 5

32. SHR AX,CX

33. SHR CX,1

34. SHR AX,3

35. IN AL,[DX]

36. IN AL,DL

37. IN BL,DX

38. IN AL,60H

三、填空题

1. 已知某内存单元的段值和偏移分别为2010H和100H,则该单元的物理地址为()。

2. 已知BX=1000H,SI=2000H,DI=3000H,BP=4000H,则地址表达式[BX+100H]、[DI][BP]和2000H[SI]的值分别为()、()和()。

3. 已知AL=22H,AH=21H,则执行“SHR AL,1”和“ROL AH,1”后,AL和AH的值分别为()和(),AX的值为()。

4. 8088/8086CPU内部寄存器有______个,其中的______是通用寄存器,______是基址和变址寄存器,______是段寄存器,此外还有指令指针寄存器______和标志位寄存器______两个控制寄存器,所有寄存器都是______位寄存器,每个寄存器可以存放______位二进制数。

5. 8088/8086CPU的标志位寄存器中有______个标志位,其中的______是控制标志,____________是状态标志。

6. 8088/8086CPU有三组总线,它们是______总线、______总线和______总线;地址总线是______条,因此它可以寻址的范围是______字节。通常将______字节称为1K,将______字节称为1M。

7. 8088/8086CPU的存储器采用分段方式管理,每个段最多可以有______字节,全部存储空间可以分成______个大小为64K且互相不重叠的段。

8. 采用分段方式管理的存储单元的地址分成______和逻辑地址两种,逻辑地址由______和______两部分构成,段地址是每个存储器段的______;偏移地址则是相对于每个段第一个存储单元的______。段地址存放在段寄存器中,由于8088/8086CPU的段寄存器是16位寄存器,因此在段寄存器中存放的是段地址的______位;而CPU对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是____________。

9. 存储器中,数据是以______为单位存放的,它是一个______二进制数,16位二进制数是______,又称为______;每个存储单元可以存放一个______;一个字则占用两个存储单元,存放时要将______放在地址较小的存储单元中。

10. 计算机的指令由______和______构成。

11. 指令操作数通常可以存放在指令中,表示操作数存放的方式称为______。8088/8086CPU的寻址方

式有______、______和______三类,第三类寻址方式又分成______、________、______、______和______几种。

12. 汇编语言程序语句构成,汇编语言的语句分成______、______和______三类。语句通常由______、______、______、______四部分构成。

13. 指令语句在汇编时被翻译成______指令,指示语句则在汇编时由______执行,而不被翻译成机器语言指令。

14. 数据定义伪指令的功能是______________,通常使用的数据定义伪指令是____________。

15. 符号定义伪指令EQU的功能是______,通常用它定义常数。

16. 用汇编语言编写的程序称为____________,它必须用______程序将它转换成二进制的机器语言程序,这种机器语言程序称为______,而转换的过程称为______。它还必须用______程序连接,才能生成可执行的程序。

17. 汇编语言源程序的扩展名是____,目标程序的扩展名是____,可执行程序的扩展名是_____。

18. 按照下列指令中操作数的寻址方式在括号中填入适当的字母:

目的操作数源操作数

A. MOV AX,1200H()()

B. CMP WORD PRT[SI],120H()()

C. ADD AX,14[BX]()()

D. SUB [BX+DI],CX()()

E. AND BX,BUF()()

F. LEA DI,[SI]()()

G. XOR [BX+SI+3],DX()()

a.立即寻址;

b.寄存器寻址;

c.直接寻址;

d.寄存器间接寻址;

e.寄存器相对寻址;

f.基址变址寻址;

g.相对基址变址寻址.

19. 某存储单元的地址为3A80:13EBH,其中的3A80是______地址,13EB是______地址;该存储单元的物理地址是______。若段地址改变为30D4,则该存储单元的逻辑地址为______。

20. 执行指令CALL SUBB时,所要保护的断点在______寄存器中,而执行指令CALL FAR PTR SUBB时,所要保护的断点在____________寄存器中。

21. 请用一条指令实现如下操作:

(1)将AX中划‘X’的位清0

15 ?5 ?4? 0

┏┳┳┳┳┳┳┳┳┳┳━┳━┳┳┳┳┓?

┃┃┃┃┃┃┃┃┃┃┃X┃X┃┃┃┃┃?指令:__________________

┗┻┻┻┻┻┻┻┻┻┻━┻━┻┻┻┻┛?

(2)寄存器的低四位取反:_________________

22. 三个重复前缀指令为__________________、________________、______________。

23. DB指令以_______________为单位分配存贮;DD指令以__________为单位分配存贮。

故如下数据定义:

V1? DB? 4? DUP(2),2

COUNT? EQU? 10

V2? DD? COUNT? DUP(?)

为变量V1分配_____个字节存贮;为变量V2分配_____个字节存贮。

24. 设(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,则

(1)指令MOV?AX,[BP+SI+2]的源操作数有效地址为_______,物理地址为________

(2)指令MOV?AX,[DI+100H]的源操作数有效地址为_______,物理地址为________.

25. 8086/8088?CPU可访问2个独立的地址空间,一个为存贮器地址空间,其大小为____个字节;另一个为______,其大小为_______字节.

26. 设(AX)=1000H,(BX)=2340H,则在执行了指令CMP?AX,BX后,CF标志值为____,ZF标志值为______。

27.汇编语言是一种面向的语言,把汇编语言源程序翻译成机器语言目标程序是由完成的。28.8086/8088指令系统可分为六大类,其中指令执行后,不会影响状态标志。

29.在8086/8088CPU控制寄存器中,寄存器内容始终指向下一条指令的首地址,此时该指令物理地址计算式是。

30.已知DS=2000H,BX=0D00H,(20D00H)=0,(20D01H)=92H,

(1)执行DEC BYTE PTR[BX] (20D00H)=,

(2)执行ROL WORD PTR[BX],1 (20D00H)=,(20D02H)。

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

32.己知DS=1A00H,ES=2D00H,SS=1B80H,BX=100H,BP=40H,DI=20H,

计算下列源操作数物理地址。

(1)OR AX,[BP] 物理地址;

(2)SUB AX,ES:[BX+DI] 物理地址。

33.己知X1 DW 0ABCDH,若要将X1用DB定义,原来数据区中的内容保持不变,则X1 DB ,。34.己知BX=1000H,执行:MOV AX,BX

NEG AX

ADD BX,AX

则程序执行后,AX=,BX=,CF=。

35.8086/8088CPU允许最大的存储空间为1MB,因此CPU的地址总线是位。

36.一个语句的名字项可以是标号或变量,在程序中它们两个在书写形式上的主要区别是。

37.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如,JL 指令另一个指令助记符是。

38.指令MOV AX,SEG BUF的执行,是把送到AX中。

39.如果多个条件转移指令实现多路分支程序设计,那么为实现5路分支,需要个条件转移指令。40.在8086/8088系统中,存储器是分段的,每段最大长度是字节,段内偏移地址从到。

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

42.汇编语言源程序中的语句有三种类型,它们是语句,语句和语句。

43.指令MOV AX,[BX+SI+10H] 源操作数寻址方式是。

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

45.己知数据定义语句

ORG 120H

VECT1 DW 200H

VECT2 DW VECT1

执行MOV AX,VECT1 AX=

MOV BX,VECT2 BX= 。

四、简答题

1. 8086/8088CPU的通用寄存器是哪几个?

2. 8086/8088的寻址方式有哪几种?

3. “PUSH AX”语句执行的操作是什么?

4. 变量和标号的三种属性是什么?

5. 指令“LODSB”执行的操作是什么?

6. 标志寄存器中IF、OF、CF、DF、SF、ZF、TF、AF、PF含义是什么?

7. CS段,DS段,ES段,SS段分别是干什么的?

8. REP的作用是什么?“MOVSB”具体是如何执行的?

9. 中断向量表是什么?在存储器的什么地方?

10. 堆栈的特点是什么?

11.完成下列操作,选用什么指令:

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

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

12.D1 DB 20H DUP(?)

D2 DW D1

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

13. 定义一个宏及展开一个宏的具体做法。

五、阅读程序,回答问题

1. 已知: BX=1234H,BP=5678H,SI=1357H,DS=0925H,SS=0468H,CS=4B10H,指出下述指令中存储器操作数的有效地址和实际地址。

①MOV AL,[BX]②MOV AH,[BP]

③MOV BH,CS:[SI]④MOV DL,[SI+10H]

⑤MOV CH,[BP+20H]⑥MOV CL,SS:[SI+50H]

⑦MOV BL,DS:[BP+30H]⑧MOV [BP+SI+30H],AL

⑨MOV [BX+SI-40H],AH ⑩MOV CS:[BX+SI],DH

2. 写出下述两条数据定义伪指令语句经过汇编后的内存分配情况。

DA TA1 DB 101B,-15,‘AB’

DA TA2 DW -15,‘AB’

3. 执行下列指令后,AX寄存器中的内容是什么?

TABLE DW 10,20,30,40,50

ENTRY DW 3

。。。。。。

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

4. 下面的子程序不完整,将它补充完整。

子程序的说明文件如下:

子程序名:FMAX

子程序功能: 从一组带符号的字节数据中寻找一个最大数

入口条件: DS:SI=数据的首地址, CX=数据的个数

出口条件: AL=最大数

FMAX PROC

FMAX1: MOV AL,[SI]

FMAX2: INC SI

DEC CX

JZ FMAX3

CMP AL,[SI]

( )

( )

JMP FMAX2

FMAX3: RET

FMAX ENDP

5. 依据下述子程序说明文件把子程序补充完整。

(1)子程序名:A VER

(2)子程序功能:求一组无符号字节数据的平均值

(3)入口条件:数据首地址在SI中,数据个数在CL中

(4)出口条件:平均值在AL中

(5)受影响的寄存器:AX和F

A VER PROC NEAR

PUSH SI

PUSH CX

()

AGAIN:ADD AL,[SI]

ADC AH,0

()

DEC CL

JNZ AGAIN

POP CX

DIV CL

POP SI

RET

A VER ENDP

6.依据下述子程序说明文件把子程序补充完整。

(1)子程序名:MADD

(2)子程序功能:求两个多字节数据之和

(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中

(4)出口条件:和的低字节地址在SI中

(5)受影响的寄存器:F

MADD PROC NEAR

PUSH AX

PUSH DI

PUSH SI

PUSH CX

()

AGAIN:MOV AL,[DI]

()

()

()

DEC CL

JNZ AGAIN

POP CX

POP SI

POP DI

POP AX

()

MADD ENDP

7. 依据下述子程序说明文件把子程序补充完整。

(1)子程序名:MSUB

(2)子程序功能:求两个多字节数据之差

(3)入口条件:两个数据的低字节地址分别在SI和DI中,数据长度在CL中(4)出口条件:差的低字节地址在SI中

(5)受影响的寄存器:F

MSUB PROC NEAR

PUSH AX

PUSH DI

PUSH SI

PUSH CX

()

AGAIN:MOV AL,[DI]

()

()

()

DEC CL

JNZ AGAIN

POP CX

POP SI

POP DI

POP AX

()

MSUB ENDP

8. …… ……

V ARW DW ?

……

CMP AX,DX

JA NEXT

MOV AX,DX

NEXT:

MOV V ARW,AX

……

该程序段的功能为:

9. 设AL中是字符的ASCII码

……

CMP AL,‘a ’

JB NEXT

CMP AL,‘z ’

JA NEXT

SUB AL,20H

NEXT:……

该程序段的功能为:____________

10. ……

MOV DX,378H

MOV AL,‘A’

OUT DX,AL

……

该程序段的功能为:

11. ??????? ……

GETCH MACRO

MOV AH,1

INT 21H

ENDM

该程序段为:____________ ;其功能为:________________ 12. ……

DA TA1 DQ ?

DA TA2 DQ ?

……

MOV CX,4

SUB BX,BX

NEXT:

MOV AX,DATA2[BX]

SBB DA TA1[BX],AX

INC BX

INC BX

DEC CX

JNZ NEXT

……

该程序段的功能为:_________ 13. ……

OLD20H DD ?

……

NEW20H:……

CMP AL,“Q”

JNZ NEXT

JMP DWORD PTR OLD20H NEXT:

MOV AH,4CH

INT 21H

该程序段的功能为:_________ 14. ……

XXX DB 2,3,5,7

YYY DW 4,7,9,10

ZZZ EQU $-OFFSET XXX

……

该程序段的功能为:_______ 15. ……

MOV DI,3500H

MOV SI,2000H

MOV CX,20H

REP MOVSB

……

该程序段的功能为:___________ 16. MOV AL,0

MOV BL,0

MOV CX,10

L1:INC BL

INC BL

ADD AL,BL

程序的功能是______________________。

17. X DB 14

Y DB 4 DUP(?)

MOV SI,OFFSET Y

MOV AH,0

MOV AL,X

MUL AL

MUL AX

MOV WORD PTR[SI],AX

INC SI

INC SI

MOV WORD PTR[SI],DX

HLT

程序执行后X和Y的关系是_______________。

18. MOV AX,4BD5H

MOV BL,0

MOV DL,0

MOV CX,16

L1:SHL AX,1

JC L2

INC BL

JMP L3

L2:INC DL

L3:LOOP L1

HLT

程序的功能_________,程序执行后BL=_______,DL=_______,AX=_______。

19. XOR DX,DX

L1:MOV AH,1

INT 21H

CMP AL,'$'

JZ BACK

CMP AL,30H

JB L1

CMP AL,39H

JA L1

AND AL,0FH

ADD DL,AL

ADC DH,0

程序的功能是______________________________。

20.A DW 1234H

B DW 5678H

……

PUSH A

PUSH B

POP A

POP B

试回答:(1)上述程序段执行后(A)=_______,(B)=_________。

(2)设执行前SP=200H,执行后SP=__________。

21.现有下列程序段:

MOV AX,6540H

MOV DX,3210H

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL

试问上述程序段运行后,(AX)=____________ (BL)=_______________ 22.分析下面程序段:

MOV AL,200

SAR AL,1

MOV BL,AL

MOV CL,2

SAR AL,CL

ADD AL,BL

试问程序段执行后(BL)=________ (AL)=_________

23.程序段如下:

BLK1 DB 46,84,34,-5,20,122,73

MOV CX,7

LEA SI,BLK1

NEXT:MOV AL,[SI]

INC SI

TEST AL,81H

LOOPZ NEXT

MOV BL,[SI]

请问答程序段运行后:(AL) =___________ (BL)=___________

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 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. 在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章基础知识 检测点1.1(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 (4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能力分别为: 64(KB)、1(MB)、16(MB)、4(GB)。 (6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根。则它们一次可以传送的数据为: 1(B)、1(B)、2(B)、2(B)、4(B)。 (7)从内存中读取1024字节的数据,8086至少要读512次,80386至少要读256次。 (8)在存储器中,数据和程序以二进制形式存放。

(1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU 最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

汇编程序习题

汇编程序习题 1.试分析以下程序段完成什么功能? MOV CL,4 SHL DX,CL SHL AX,CL SHR BL,CL INT 3 2.写出执行以下计算的指令序列: 1)Z←W+(Z-X)2)Z←W-(X+6)-(R+10) 3)Z←(W*X)/(R+6)4)Z←((W-X)/5*Y)*2 3.求两个数56H和67H进行ADD,并求出标志OF,CF,SF,ZF的值。4.阅读程序段,回答下述问题: 1)MOV AX,4000H 2)MOV AX,5678H 3)MOV AX,1234H OV DS,AX MOV BX,99AAH MOV CX,8912H MOV BX,1238H PUSH BX CMP AX,CX MOV〔BX〕,2244H PUSH AX INT 3 MOV AL,〔BX〕 POP DX SF=?OF=?JA成立否? INT 3 POP CX AL=?存储器的物理地址=?DX=?CX=? 5.下列程序能完成什么功能? DATY1 DB 300DUP(?) DATY2 DB 100DUP(?) …… MOV CX,100 MOV BX,200 MOV SI,0 MOV DI,0 NEXT:MOV AL,DATY1〔BX〕〔SI〕 MOV DATY2〔DI〕,AL

INC SI INC DI LOOP NEXT 6.下列指令哪些是错误的?并简述之。 1)MOV 15,BX 2)CMP OP1,OP2(假定OP1,OP2是用DB定义的变量) 3)CMP AX,OP1 4)CMP OP1,25H 5)MOV DS,CS 7.下列程序段执行后,BX的值是什么? MOV CL,3 MOV BX,0B8H ROL BX,1 ROR BX,CL 8.编写一个程序段,将内存200H单元开始的256个单元的内容,取绝对值后传送到400H开始的256个单元中。 9.求出下列各数与62A0H之和,并根据结果确定SF,ZF,CF,OF的值。 1)1234H 2)4321H 3)CFA0H 4)9D60H 10.求出下列各数与4AE0H之差,并根据结果确定SF,ZF,CF,OF的值。 1)1234H 2)5D80H 3)9090H 4)EA04H

微机原理与汇编语言复习题及参考答案

微机原理与汇编语言复习题及参考答案 ——CSDN下载频道提供,请尊重原创 一、选择题: 1. 设AL=0A8H,CX=2,CF=1,执行RCL AL,CL指令后,AL中的值为() A. 51H B. A3H C. 47H D. 0C5H 2. 下述指令的执行结果是() MOV AL,0C2H AND AL,0F0H A.AL=40H B.AL=20H C.AL=0C0H D.AL=0E0H 3. 完成对CL寄存器的容乘以4的正确操作是() A.ROL CL,1 B.MUL 4 C.SHL CL,1 D.MOV CL,2 ROL CL,1 SHL CL,1 SHL CL,CL 4. 无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指() A. ADD BH,01H B. OR BH,01H C. XOR BH,01H D. TEST BH,01H 5. 假设(AL)= 37H,(BL)= 95H,执行指令IMUL BL后(AX)= () A. 0E903H B. 2003H C. 0DBBH D. 2008H 6. 下面的数据传送指令中,错误的操作是() A. MOV SS:[BX+DI],1000H B. MOV DX,1000H C. MOV WORD PTR[BX],1000H D. MOV DS,2000H 7. CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址C.物理地址D.逻辑地址 8. 某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 9. 计算机能直接识别的的语言() A.汇编语言 B.机器语言C.高级语言D.低级语言 10. 下列指令中操作数在代码段中的是() A.MOV AL,25H B.ADD AH,BL C.INC DS:[25] D.CMP AL,BL 11.直接、间接、立即三种寻址方式指令的执行速度,由决至慢的排序为()A.直接、立即、间接B.直接、间接、立即 C.立即、直接、间接D.不一定 12.若栈顶的物理地址是2010011,当执行完指令CALL AX后,栈顶的物理地址是()A.2010211 B.2010111 C.200FFH D.200FEH 13.当执行完下列指令序列后,标志位CF和OF的值是() MOV AX,OC126H MOV BX,5AB7H SUB AX,BX A.0,0 B.0,1 C.1,0 D.1,1 14. JMP BX的目标地址偏移量是(D)。 A.SI的容B.SI所指向的存字单元之容 C.IP+SI的容D.IP+[SI] 15.指令MOV AX,10[BX]的源操作数的寻址方式是() A.基址寻址B.寄存器寻址MOV AX,BX C.变址寻址AX【BX+DI】(只能用BX,BP;SI和DI) D.寄存器相对寻址 16.指出下列哪个数据在汇编语言中是非法的。()

汇编语言课后习题答案 郑晓薇

习题一 1 分别将下列二进制数作为无符号数和带符号数转换为十进制和十六进制数 11010011,01110111,10000011,00101111 ,10101010 查看正确答案 无符号数: 11010011=211=D3H,01110111=119=77H,10000011=131=83H,00101111=47=2FH,10101010=170=AAH 带符号数:11010011= -45=D3H,01110111=+119=77H,10000011= -125=83H,00101111=+47=2FH,10101010= -86=AAH 2 十六进制运算 1A52H+4438H ,3967H-2D81H,37H×12H ,1250H×4H 查看正确答案 5E8AH,0BE6H,3DEH,4940H 3 将十进制数变为8位补码,做运算(结果用二进制、十六进制、十进制表示) 29+53,73-24,-66+82 ,-102-15 查看正确答案 00011101+00110101=01010010=52H=82 01001001+11101000=00110001=31H=49 10111110+01010010=00010000=10H=16 10011010+11110001=10001011=8BH= -117 4 用压缩BCD码计算(结果用二进制、BCD码、十进制表示) 29+53,73-24,66+18 ,132+75 查看正确答案 00101001+01010011=01111100+00000110=10000010=82H=82 01110011-00100100=01001111-00000110=01001001=49H=49 01100110+00011000=01111110+00000110=10000100=84H=84 0000000100110010+01110101=0000000110100111+00000110 =0000001000000111=0207H=207 5 符号位扩展(字节扩展为字,字扩展为双字) 20A3H,94H ,3456H ,7FH ,EC00H 查看正确答案 000020A3H,FF94H,00003456H,007FH,FFFFEC00H 6 若机器字长为16位,其无符号数表示范围是多少?带符号数表示范围是多少?分别用十进制和十六进制表示。 查看正确答案 无符号数:0~65535,0000H~FFFFH;带符号数:-32768~+32767,8000H~7FFFH 7 写出下列十六进制数所能代表的数值或编码: (1)38H (2)FFH (3)5AH (4)0DH

51汇编程序练习题1

单片机汇编程序设计练习 一、存储器之间的数据传送 1、编程实现将单片机内部RAM60H开始的连续32个单元置为FFH。 2、编程实现将内部RAM30H开始的连续16个数传送到内部RAM50H开始的连续单元中。 3、编程实现将单片机外部RAM2000H为首地址的数据块传送到单片机内部RAM30H开始的单元中,数据块的长度为32个字节。 4、编程实现将单片机内部RAM30H为首地址的数据块传送到外部RAM2000H 开始的单元中,数据块的长度存放于内部RAM的20H单元。 5、编程实现将单片机外部RAM2000H为首地址的数据块传送到单片机内部RAM30H开始的单元中,直到数据内容为0DH时停止传送。 6、编程实现将ROM1000H地址的内容传送到内部RAM的25H单元。 7、编程实现将ROM2000H开始的连续10个地址的内容传送到内部RAM的25H 开始的单元。 8、编程实现将ROM1000H开始的连续100个地址的内容传送到外部RAM2000H 开始的连续单元中。 二、查表程序设计 1、编写查表程序,要查表的数据存放在R7中,其范围为0~9。编程查其平方值,并存放于40H。 2、编写查表程序,要查表的数据存放在R7中,其范围为0~9。编程查其立方值,并存放于R6。 3、单片机外部ROM TAB1地址开始存放一组ASCII码表,试用查表方法,将R2的内容(范围为0~F)转换为与其对应 的ASCII码,并从P1口输出。 4、使用8051的P1口作为段控驱动共阳 LED数码管,硬件连接如图。 编程实现将8051 R7单元内容(在 00H-09H之间)显示在数码管上。00H-09H 的共阳字形代码如下表所示。 04H 05H 06H 07H 08H 09H

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

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课 后四、六章的答案,大家抓紧时间复习哦! 一、选择题 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 12. MUL CL指令实现的功能是(A )。 A.无符号乘法:AX AL X CL B.有符号乘法:AX AL X CL C.无符号乘法:DX AL X CL D .有符号乘法:DX AL X CL 13. DOS系统功能调用(INT 21H )中,显示字符串的功能号是(D )。 A.01H B.02H C.08H D. 09H 14. 在16位CPU读取指令时,需要用到的寄存器对是(C )。 A.SS 和SP B.DS 和DI C.CS 和IP D.ES 和SI 15. 下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B )。 A.MOV AX,23H B. MOV AX,[BX+SI] C.SUB AX,[BX] D. ADD AX,BX 16. 有内存变量定义语句:VAR DW 10 DUP(1 , 2), 1234H, VAR的属性TYPE LENGTH和

汇编语言题库

汇编语言题库 一、单项选择题 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

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

汇编语言程序设计(第二版) 钱晓捷习题答案 第二章(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, 根据结果影响其他标志位。

汇编语言程序例题0001

【例】试编写一程序计算以下表达式的值。 w = (v- (x * y + z -540 )) /x 式中x、y、z、v均为有符号字数据。 设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量W之中,程序的流程图如图所示。 DATA SEGMENT X DW 200 Y DW 100 Z DW 3000 V DW 10000 W DW 2 DUP (?) DATA ENDS STACK SEGMENT STACK DB 200 DUP (0) STACK ENDS CODESEGMENT ASSUME DS DATA CS: CODE SS: STACK START MOV AX DATA MOV DS AX ; DATA>AX MOV AX X IMUL Y ; (X) * (DX AX MOV CX AX

MOV BX,DX ;(DX AX) T BX : CX ) MOV AX,Z CWD ; (Z)符号扩展 ADD CX,AX ADC BX,DX ; ( BX: CX)+( DX:AX)BX: CX) SUB CX,540 SBB BX,0 ;( BX:CX) - 5 40~BX : CX) MOV AX,V CWD ; (V)符号扩展 SUB AX,CX SBB DX, BX ;( DX: AX)-((BX CX DX: AX) IDIV X ;( DX:AX)/X MOV W,AX ;商5 MOV W+2 DX ;余数D?W+2 MOV AH,4CH INT 21H CODEENDS ;退出DOS 状态 END START 【例】已知某班学生的英语成绩按学号(从 1 开始)从小到大的顺序排列在要查的学 生的学号放在变量NO中,查表结果放在变量ENGLISH中。编写程序如下: STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT TAB DB 80 ,85,86,71,79,96 DB 83 ,56,32,66,78,84 NO DB 10 ENGLIST DB ? DATA ENDS CODE SEGMENT ASSUME DS: DATA,SS: STACK,CS: CODE BEGIN: MOV AX,DATA MOV DS,AX LEA BX,TAB MOV AL,NO DEL AL XLAT TAB MOV ENGLIS,H AL MOV AH,4CH INT 21H CODEENDS TAB表中,

汇编题库重点复习题

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. 目标程序

汇编语言课后习题答案

2.1已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 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] 〔解答〕 (1)AX=1200H (2)AX=0100H (3)AX=4C2AH ;偏移地址=bx=0100h (4)AX=3412H ;偏移地址=bx=0100h (5)AX=4C2AH ;偏移地址=bx+1100h=1200h (6)AX=7856H ;偏移地址=bx+si=0100h+0002h=0102h (7)AX=65B7H ;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h 〔习题2.2〕指出下列指令的错误 (1)mov cx,dl (2)mov ip,ax (3)mov es,1234h (4)mov es,ds (5)mov al,300 (6)mov [sp],ax (7)mov ax,bx+di

(8)mov 20h,ah 〔解答〕 (1)两操作数类型不匹配 (2)IP指令指针禁止用户访问 (3)立即数不允许传给段寄存器 (4)段寄存器之间不允许传送 (5)两操作数类型不匹配 (6)目的操作数应为[ SI ] (7)源操作数应为[BX+DI] (8)立即数不能作目的操作数 〔习题2.5〕已知SS = 2200H、SP = 00B0H,画图说明执行下面指令序列时,堆栈区和SP的内容如何变化?mov ax,8057h push ax mov ax,0f79h push ax pop bx pop [bx] 〔解答〕 mov ax,8057h push ax mov ax,0f79h push ax pop bx ;bx=0f79h pop [bx] ;DS:[0f79h]=8057h

汇编语言程序设计练习题

汇编语言程序设计练习题 阅读程序并完成填空: 1.1.MOV BL,85H MOV AL,17H ADD AL,BL AL=?,BL=?,CF=? 2.2.MOV AX,BX NOT AX ADD AX,BX INC AX AX=?,CF=? 3.3.MOV AX,0FF60H STC MOV DX,96 XOR DH,0FFH SBB AX,DX AX=?,CF=? 4.4.MOV BX,0FFFEH MOV CL,2 SAR BX,CL 5.5.MOV BX,0FFH AND BX,0FFFH OR BX,0F0FH XOR BX,00FFH 上述程序段运行后,BX=?,CF=? 6.6.CMP AX,BX JGE NEXT XCHG AX,BX NEXT:CMP AX,CX JGE DONE XCHG AX,CX DONE:。。。。。 试回答: (1)(1)上述程序段执行后,原有AX、BX、CX中最大数存放在哪个寄存器中? (2)(2)这3个数是带符号数还是无符号数?

7.7.在数据段ADDR1地址处有200个字节,要传送到数据段ADDR2处。 MOV AX,SEG ADDR1 MOV DS,AX MOV ES,------- MOV SI,------- MOV DI,OFFSET ADDR2 MOV-----,200 CLD REP--------- 8.8.ADDR1开始的单元中连续存放两个双字数据,将其求和存放在ADDR2开始的单元。 MOV CX,2 XOR BX,BX CLC NEXT:MOV AX,[ADDR1+BX] ADC AX,------- MOV[ADDR2+BX],AX ADD--------,2 ---------NEXT 9.9.设初值AX=1234H,BX=5678H,DX=0ABCDH,则执行下面一段程序后AX=------,BX=----,DX=--------。 MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 10.10.设有一个首地址为ARRAY有N个字数据的数组,要求求出该数组之和,并把结果存入TOTAL地址中,有关程序如下:MOV CX,------ MOV AX,0 MOV SI,0 START:ADD AX,-----

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

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

汇编语言习题与答案

汇编语言习题与答案 一、填空题:把答案填在题中横线上。 1.8位无符号整数的表示范围为0~255,写成16进制形式为00H~__________;8位有符号整数的表示范围为-128~+127,写成16进制形式为__________~__________。 2.8086/8088分段管理存储空间,但每段容量最大不超过__________。 3.逻辑地址为F000:100的存储单元,其物理地址是__________。 4.用来指示堆栈栈顶的偏移地址的是__________寄存器。 5.若要测试AL寄存器D4、D2、D0位是否都为0,则可使用__________指令语句(含操作数),以产生转移条件。这条指令执行后将利用标志位__________实现转移。 6.若定义:bdata db2dup(1,2,2dup(3),4),则dbata变量前5个单元从低地址到高地址的数据依次是__________。 7.假设varw是一个16位变量,则指令“mov varw,ax”的目的操作数的寻址方式是__________。 二、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在题后的括号 内。 1.对汇编语言源程序进行翻译,形成OBJ文件的是 A.汇编程序 B.连接程序 C.编辑程序 D.调试程序[] 2.下列各个8位二进制数的补码中,真值最大的是 A.10001000 B.11111111 C.00000000 D.00000001[] 3.MASM语句中,表达常数不正确的形式是 A.01101001B B.A346H C.’A’ D.5600[] 4.如果SS=600H,则说明堆栈段物理地址起始于 A.60H B.600H C.6000H D.60000H[] 5.dw50dup(?)预留了存储空间的字节数是 A.25 B.50 C.100 D.200[] 6.下列指令中有操作数在代码段中的是 A.mov ax,34h B.add ax,bx C.inc word ptr[34h] D.cmp ax,[34h][] 7.假设AL=5,要使得AL=0FAH,应执行的指令是 A.not al B.and al,0fh C.xor al,0f0h D.or al,0fh[] 8.设置逻辑段应该采用的一对伪指令是 A.segment/ends B.start/end start C.proc/endp D.macro/endm[] 9.条件转移指令JNE条件是 A.CF=0 B.CF=1

汇编语言试题及答案(1)

一,单项选择题(每小题1分,共20分) 1.指令JMP FAR PTR DONE属于() A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址2.下列叙述正确的是() A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是() A.12C5BH B.12B6BH C.12C5AH D.12BFEH 4.在下列指令的表示中,不正确的是() A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL 5.在进行二重循环程序设计时,下列描述正确的是() A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 6.条件转移指令JNE的测试条件为() A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为()A.BX或CX B.CX或SI C.DX或SI D.SI或DI 8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在()中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节

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