文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言程序设计自学指导书

汇编语言程序设计自学指导书

汇编语言程序设计自学指导书
汇编语言程序设计自学指导书

汇编语言程序设计自学

指导书

Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

《汇编语言程序设计》自学指导书

作业:

选择题:

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

A、85B92H

B、86192H

C、BB690H

D、12169H

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

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

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

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX10,且ZF=0

D、CX10,或ZF=1

4、对寄存器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

5、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( )。

A、OF,AF,PF

B、OF,AF,CF

C、OF,PF,CF

D、AF,PF,CF

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

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

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

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

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

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

9、执行除法指令后,影响的标志位是( )。

A、CF,OF

B、SF,ZF

C、CF,OF,SF

D、AF,CF,OF,PF,SF,ZF都不确定

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

MOV AL,82H

CBW

A、AX=0FF82H

B、AX=8082H

C、AX=0082H

D、AX=0F82H

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

A、MOV BX,VAR

B、LDS BX,VAR

C、LES BX,VAR

D、LEA BX,VAR

12、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是( )。

A、WORD

B、PAGE

C、BYTE

D、PARA

13、MOV SP,3210H

PUSH AX

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

A、3211H

B、320EH

C、320FH

D、3212H

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

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

A、80H

B、100H

C、124

D、192

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

A、宏定义,宏调用

B、宏定义,宏展开

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

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

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

A、名字项

B、操作项

C、操作数项

D、注释项

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

A、CMP

B、SUB

C、AND

D、MOV

18、为使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

19、AL和VAR字节单元中分别存放一个带符号数,执行CMP AL,VAR时,如AL>VAR,那么溢出位和符号位的关系是( )。

A、OF=SF

B、OF1SF

C、OF=SF=1

D、OF=SF=0

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

A、MOV AL,BUF

JS K1

SHR AL,1

JNC K1

MOV AL,0

K1:……

B、MOV AL,BUF

AND AL,11

JNZ K2

MOV AL,0

K2:……

C、MOV AL,BUF

TEST AL,81H

JNZ K3

MOV AL,0

K3:……

D、MOV AL,BUF

JNP K4

TEST AL,80H

JNZ K4

MOV AL,0

K4:……

21.CPU要访问的某一单元的实际地址称()

A.段地址B.偏移地址

C.物理地址D.逻辑地址

22.某存储单元的物理地址是12345H,可以作为它的段地址有()A.2345H B.12345H

C.12340H D.1234H

23.执行后使BX=0的同时也使CF=0,OF=0的指令是()A.XOR BX,BX B.OR BX,BX

C.AND BX,BX D.CMP BX,BX

24.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是()

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

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

25.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是()

A.DAA校正指令的功能已自动加在AH中

B.进位值在AF中,校正后根据AF内容再加在AH中

C.进位值在CF中,校正后根据CF内容再加在AH中

D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中

26.AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是

()

A.指令XOR AX,AX执行后,AX内容不变,但设置了标志位

B.指令OR DX,1000H执行后,将DX最高位置1,其余各位置0

C.指令AND AX,OFH执行后,分离出AL低四位

D.NOT AX,执行后,将AX清0

27.在执行下列指令时,需要使用段寄存器DS的指令是()

A.STOSW B.ADD AL,CL

C.NEG BX D.INC DA[BX]

28.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()

A.ADD BH,01H B.OR BH,01H

C.XOR BH,01H D.TEST BH,01H

29.完成对CL寄存器的内容乘以4的正确操作是()A.ROL CL,1 B.MUL 4

ROL CL,1

C.SHL CL,1 D.MOV CL,2

SHL CL,1 SHL CL,CL

30.下面各传送指令中,正确的是()

A.MOV [DI],[SI] B.MOV[DX+DI],AL C.MOV WORD PTR [BX],0100H D.MOV AL,BX

31.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()

A.名字的第一个字符可以是大写英文字母及小写英文字母

B.名字的第一个字符可以是字母、数字及、@、_

C.名字的有效长度≤31个字符

D.在名字中不允许出现$

32.要实现使BETA的值为56,应采用语句为()

A.BETA DB 56 B.BETA DB 56H

C.BETA EQU 56 D.BETA EQU 56H

33.REPZ CMPSW指令,重复执行的终止条件是()

A.CX=0或ZF=0 B.CX=0且ZF=0

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

34.下面程序段执行后,AL中的内容是()

MOV AX,8833H

ADD AL,AH

DAA

A.21 B.21H

C.0C1H D.0DDH

35.比较两个带符号的数A、B,当A=B时程序转移,测试的条件为()

A.ZF=1 B.ZF=0

C.SF=1 D.SF=0

36.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP AL,BL”指令后应跟的分支指令是()

A.JNC LOP1 B.JA LOP1

C.JC LOP1 D.JGE LOP1

37.在下列串操作指令中,同时使用源串和目的串地址指针的指令是

()

A.STOSW B.LODSW

C.SCASW D.CMPSW

38.设AL=0AH,下列指令执行后能使AL=05H的是()A.NOT AL B.AND AL,0FH

C.XOR AL,0FH D.OR AL,0FH

39.DA1 DW‘AB’,‘CD’,‘EF’,‘GH’()

MOV AX,DA1+3

指令执行后AX中的内容是

A.‘EF’ B.‘CD’

C.‘BC’ D.‘FC’

40.使用DOS系统功能调用时,使用的软中断指令是()A.INT 21 B.INT 10H

C.INT 16H D.INT 21H

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

① 无符号十进制数136

② 带符号十进制数-120

③ 压缩型BCD码十进制数88

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

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

① IP

② SP

③ BP

④ PSW

43.当执行指令ADD AX,BX后,若AX的内容为2BA0H,

设置的奇偶标志位PF=1,下面的叙述正确的是()。

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

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

③ 表示该数为偶数

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

44.完成将累加器AL清零,并使进位标志CF清零,

下面错误的指令是()。

① MOV AL,00H

② AND AL,00H

③ XOR AL,AL

④ SUB AL,AL

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

① AND

② NEG

③ NOT

④ INC

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

① MOV AX,BX

② MOV BX,AX

③ PUSH AX

POP BX

④ MOV CX,AX

MOV AX,BX

MOV BX,CX

47.设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

48.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为

① OF=1,CF=0

② OF=1,CF=1

③ OF=0,CF=0

④ OF=0,CF=1

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

① CX=0且ZF=0

② CX=0且ZF=1

③ CX=0或ZF=0

④ CX=0或ZF=1

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

① REP LODSB

② REP SCASB

③ REP CMPSB

④ REP MOVSB

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

① END语句是一可执行语句

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

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

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

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

① MOV SS:[BX+DI],1000H

② MOV DX,1000H

③ MOV WORD PTR[BX],1000H

④ MOV DS,2000H

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

DAW DW2A05H

DAB DB 0FAH

MOV AL,BYTE PRT DAW

SUB DAB,AL

① 0DAH

② 0FAH

③ 0F5H

④ 0D0H

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

MOV AL,100

MOV BL,-2

① AL=100H

BL=02H

② AL=64H

BL=0FEH

③ AL=64H

BL=82H

④ AL=100H

BL=0FEH

55.设数据段中已有:

DA1 DB 12H,34H

DA2 DW 56H,78H

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

① ADR1 DW DA1

② MOV DA1+1,AX

③ MOV BYTE PTR DA2+1,AL

④ MOV WORD PTR DA1+1,AX

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

① SHL AX,2

ROL DX,2

② RCL AX,2

SHL DX,2

③ MOV CX,2

LOP:SHL AX,1

RCL DX,1

LOOP LOP

④ SHL AX,1

SHL AX,1

RCL DX,1

RCL DX,1

57. DATA SEGMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

:

MOV BX,DS:[0006H]

AND BX,0FFH

AND BH,[BX

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

① 0605H

② 0402H

③ 0606H

④ 0204H

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

① JLE

② JNL

③ JNLE

④ JL

59.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为

TEST BH,01H

_________K1

① JNE

② JZ

③ JS

④ JC

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

① TEST BL,4FH

JZ NEXT

② XOR BL,4FH

JZ NEXT

③ AND BL,4FH

JZ NEXT

④ OR BL,4FH

JZ NEXT

二填空题

1.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。

2.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,

(SI+COUNT)中,源操作数的有效地址EA为________,其物理地址为

________。

3.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。

4.当标志位________=1时表示无符号数运算产生溢出,而当标志位

________=1是表示带符号数运算产生溢出。

5.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。

6.在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是________或________才有实际意义。

三简答题

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

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

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

2、ARY DW 10 DUP()

MOV AL,TYPE ARY

MOV BL,LENGTH ARY

MOV CL,SIZE ARY

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

3、设某数据段:

DATA SEGMENT

ORG 20H

NUM1=8

NUM2=NUM1+10H

DA1 DB 'COMPUTER'

DB 0AH,0DH

COUNT EQU $-DA1

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

DATA ENDS

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

(2)COUNT的值是___________________________________

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

4.已知:BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。

(1)MOV AL,[BX]

(2)MOV CS:[BX+DI],AH

5.0P1 DB 1,2

0P2 DW 3412H,5678H

MOV AX,OP1+1;字单元(OP1+1) AX

MOV BL,OP2+1;字节单元(OP2+1) BL

上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。

6.下列语句在存储器中分别为变量分配多少字节?

(1)AD2 DW 10 DUP(),10

(2)AD3 DD 100 DUP()

7.简述下面两条指令分别是什么语法错误?

MOV [BX],[SI]

MOV AX,DL

8.在某子程序的开始处要保护AX,BX,CX, DX四个寄存器信息,在子程序结束时要恢复这

四个寄存器信息。例如:

PUSH AX\

PUSH BX \ 保护现场

PUSH CX /

PUSH DX/

:

}恢复现场

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

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

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

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

10.D1 DB 20H DUP()

D2 DW D1

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

四程序分析题

1、已知AX=0FF60H,CF=1

MOV DX,96

相关文档