文档库 最新最全的文档下载
当前位置:文档库 › 汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分)

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

A、85B92H

B、86192H

C、BB690H

D、12169H

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

A、AX,BX,CX,DX

B、BX,BP,SI,DI

C、SP,IP,BP,DX

D、CS,DS,ES,SS

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

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX10,且ZF=0

D、CX10,或ZF=1

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

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)。

A、OF,AF,PF

B、OF,AF,CF

C、OF,PF,CF

D、AF,PF,CF

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

A、DH=10H CF=1

B、DH=0F0H CF=0

C、DH=10H CF=0

D、DH=0F0H CF=1

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

A、MOV CS,AX

B、MOV DS,AX

C、MOV SS,AX

D、MOV ES,AX

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

A、TEST AL,02H

B、OR AL,AL

C、CMP AL,BL

D、AND AL,BL

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

A、CF,OF

B、SF,ZF

C、CF,OF,SF

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

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

MOV AL,82H / CBW

A、AX=0FF82H

B、AX=8082H

C、AX=0082H

D、AX=0F82H

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

A、MOV BX,VAR

B、LDS BX,VAR

C、LES BX,V AR

D、LEA BX,V AR

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

(D)。

A、WORD

B、PAGE

C、BYTE

D、PARA

13、MOV SP,3210H / PUSH AX执行上述指令序列后,SP寄存器的值是(B)。

A、3211H

B、320EH

C、320FH

D、3212H

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

A、80H

B、100H

C、124

D、192

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

A、宏定义,宏调用

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

C、宏定义,宏展开

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

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

A、名字项

B、操作项

C、操作数项

D、注释项

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

A、CMP

B、SUB

C、AND

D、MOV

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

(C)。

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和V AR字节单元中分别存放一个带符号数,执行CMP AL,VAR 时,如AL>V AR,那么溢出位和符号位的关系是(A)。

A、OF=SF

B、OF≠SF

C、OF=SF=1

D、OF=SF=0

一.单选题(共20分)

1.某存储器分段时,一个段最多允许16K个字单元,则表示段内偏移地址的二进制位数至少是多少位(A)

A. 15

B. 16

C. 17

D. 18

2.下列操作中允许段超越的是(C)

A. 取指令

B. 存目的串

C. 以BP为基址存取操作数

D. 堆栈操作

3.下面有语法错误的指令是(C)

A. MOV AX,[BX][SI]

B.MOV AX,-2[BX][DI]

C. MOV AX,[BX][BP]

D.MOV AX,-1[BX][SI]

4.下列指令执行后能使BX中数据必为奇数的是(B)

A. XOR BX,01H

B. OR BX,01H

C. AND BX,01H

D. TEST BX,01H

5.设CL=05H,要获得CL=0AH,可选用的指令是(A)

A. XOR CL,0FH

B.NOT CL

C. OR CL,0AH

D. AND CL,0FH

6.没有语法错误的输出指令是(B)

A. OUT AX,30H

B.OUT DX,AL

C. OUT AL,DX

D. OUT 30H,AH

7.执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是(B)

A. 14H

B. 0104H

C. 74H

D. 04H

8.某数据段有如下语句:

ORG 0435H

DA1 DB 17H,44H,77H

ADR DW DA1

下述语句能使AL中的数据为偶数的是(B)

A.MOV AX,WORD PTR DA1

B.MOV AX,WORD PTR DA1[1]

C. MOV AX,ADR

D. MOV AL,BYTE PTR ADR

9.当执行条件转移指令JNS OPR时,如条件成立,相对于转移指令的转移距离是(D)

A. -128~+127个字节

B.-126~+127个字节

C. -128~+129个字节

D. -126~+129个字节

10.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是(D)

A. MOV AX,89

B. MOV AX,0809

C. MOV AX,89H

D. MOV AX,0809H

11.V AR1 EQU BYTE PTR V AR2

V AR2 DW 0ABCDH

SHL VAR1,1

SHR V AR2,1

上述两条指令执行后,V AR2字单元的内容是(C)

A.0ABCDH

B.0AB9AH

C.55CDH

D.559AH

12.设AX=0BBCCH,CF=1

OR AX,3

CMC

上述三条指令执行后,AX中的内容分别是(A)

A.779FH

B.779EH

C.779DH

D.7799H

13.下列语句中能与“DA1 DB 32H,34H”语句等效的是(A)

A. MOV DA1,32H

B. MOV DA1,32

MOV DA1+1,34H MOV DA1+1,34

C. MOV WORD PTR DA1,3234H

D. MOV WORD PTR DA1,…24‟

14.设SP=50H,执行段间返回指令“RET 8”后,寄存器SP的内容是(B)

A. 5AH

B. 5CH

C. 44H

D. 46H

15.汇编语言语句格式中,对名字项的规定,请指出错误的解释(B)

A. 名字的第一个字符只可以是大小写英文字母及?、@、__等

B. 名字的第一个字符可以是大小写英文字母、数字、?、@、__等

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

D. 名字从第二个字符起可以出现数字,但不允许出现$、#等字符

16.使用DOS功能调用时,子程序的编号应放在寄存器中(A)

A. AH

B. AL

C. AX

D. 任意指定

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

A. DA1 DT ?

B.DA2 DW ?,?

C. DA3 DD ?

D. DA4 DQ ?

18.TEST DL,55H

JE NEXT

…………

NEXT:

上述程序段,执行JE指令时能产生转移的情况是(D)

A. DL>55H

B. DL<55H

C. DL=55H

D. DL中第0,2,4,6位均为0

19.寄存器BX和DX中存放有32位二进制数,BX中为高16位,下列程序段完成对32位数扩大4倍的功能,程序段中应添的语句是(C)

LOP:SHL DX,1

_________________

LOOP LOP

A. ROL BX,1

B. ROR BX,1

C. RCL BX,1

D. RCR BX,1

20.设BX的内容为0AA40H,执行SHR BX,1后,BX=(A)

A. 5520H

B. 5480H

C. 0D420H

D. 0D580H

单项选择题(每小题1分,共20分)

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

①IP ②SP ③BP ④PSW

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

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

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

③表示该数为偶数

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

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

①MOV AL,00H ②AND AL,00H

③XOR AL,AL ④SUB AL,AL

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

①AND②NEG ③NOT ④INC

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

①MOV AX,BX

②MOV BX,AX

③PUSH AX /POP BX

④MOV CX,AX/MOV AX,BX/MOV BX,CX

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

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

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

①CX=0且ZF=0 ②CX=0且ZF=1

③CX=0或ZF=0 ④CX=0或ZF=1

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

①REP LODSB ②REP SCASB

③REP CMPSB ④REP MOVSB

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

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

③MOV WORD PTR[BX],1000H ④MOV DS,2000H

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

MOV AL,100 和MOV BL,-2

①AL=100H,BL=02H ②AL=64H,BL=0FEH

③AL=64H,BL=82H ④AL=100H,BL=0FEH

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

①OF=SF②OF≠SF

③OF=SF=1 ④OF=SF=0

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

①SHL AX,2 ②RCL AX,2

ROL DX,2 SHL DX,2

③ MOV CX,2④SHL AX,1

LOP:SHL AX,1 SHL AX,1

RCL DX,1 RCL DX,1

LOOP LOP RCL DX,1

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

①TEST BL,4FH ②XOR BL,4FH

JZ NEXT JZ NEXT

③AND BL,4FH ④OR BL,4FH

JZ NEXT JZ NEXT

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

①JLE ②JNL ③JNLE ④JL

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

TEST BH,01H

_________K1

①JNE②JZ ③JS ④JC

17、MOV SP,3210H / PUSH AX执行上述指令序列后,SP寄存器的值是( )。

①3211H ②320EH ③320FH ④3212H

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

①CMP ②SUB ③AND ④MOV

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

①INC CX 和JZ MINUS

②SUB CX,OFFFFH 和JZ MINUS

③AND CX,OFFFFH 和JZ MINUS

④XOR CX,OFFFFH 和JZ MINUS

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

①置方向标志位

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

③设置源操作数及目的操作数指针

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

21、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]

操作数的物理地址是( )

①85B92H ②86192H

③BB690H ④12169H

22、下列寄存器组中在段内寻址时可以提供偏移地址

的寄存器组是( )

①AX,BX,CX,DX ②BX,BP,SI,DI

③SP,IP,BP,DX ④CS,DS,ES,SS

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

①CX=0,且ZF=0 ②CX=0,或ZF=1

③CX10,且ZF=0 ④CX10,或ZF=1

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

①SHR AX,1 /SHR AX,1

②SHL AX,1/ SHL,AX,1

③ROL AX,1 /ROL AX,1

④RCR AX,1/ RCR AX,1

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

①OF,AF,PF②OF,AF,CF

③OF,PF,CF ④AF,PF,CF

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

①DH=10H,CF=1 ②DH=0F0H,CF=0

③DH=10H,CF=0 ④DH=0F0H,CF=1

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

①MOV CS,AX ②MOV DS,AX

③MOV SS,AX ④MOV ES,AX

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

①MOV BX,V AR ②LDS BX,VAR

③LES BX,VAR ④LEA BX,VAR

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

①TEST AL,02H ②OR AL,AL

③CMP AL,BL ④AND AL,BL

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

①CF,OF

②SF,ZF

③CF,OF,SF

④AF,CF,OF,PF,SF,ZF都不确定

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

MOV AL,82H / CBW

①AX=0FF82H ②AX=8082H

③AX=0082H ④AX=0F82H

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

①XCHG AX,[BX][SI]

②MOV AX,[BX+SI]

③LEA AX,BX[SI]

④LEA AX,[BX][SI]

33、在AR DB 10 DUP(3,2 DUP(9))中,含数据字0309H的个数是( )。

①10 ②20 ③0 ④9

34、将变量的偏移地址存入数据区宜用伪操作助记符是( )

①DW ②DB ③DD ④DQ

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

①END语句是一可执行语句

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

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

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

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

DAW DW 2A05H

DAB DB 0FAH

MOV AL,BYTE PRT DAW

SUB DAB,AL

①0DAH ②0FAH ③0F5H ④0D0H

37、设数据段中已有:

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

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

①WORD ②PAGE ③BYTE ④PARA

39、设数据段如下:

DATA SEGMENT

TA1 DW 0102H,0304H,0506H

TA2 DB 02H,03H,04H

DATA ENDS

………………

MOV BX,DS:[0006H];BX=0302H

AND BX,0FFH ;BX=0002H

OR BH,[BX] ;[0002H]=04H

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

①0605H ②0402H ③0606H ④0204H

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

①80H ②100H ③124 ④192

41、编写DOS下运行的EXE程序可使用的存储模式为()

①TINY ②SMALL ③COMPACT ④MEDIUM

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

①名字项B、操作项C、操作数项④注释项

43、把汇编语言源程序变成目标模块(OBJ)的过程是()

①编译②汇编③编辑④链接

二.填空题(共5分)(从给出的词语中选择)

1.宏定义开始的伪指令是___D__。

2.DF是程序状态字寄存器的___E___标志位。

3.对汇编语言源程序进行汇编时,使用的宏汇编程序文件名是___B__。

4.汇编语言程序中各语句的操作项可以是指令、伪指令或__A__的助记符。

5.CF是程序状态字寄存器中的___C___标志位。

词语:A. 宏指令 B. MASM C. 状态 D. MACRO E. 控制

1、标号可以有两种类型属性。它们是()和()

2、伪指令DB,GROUP 和NAME 三个标号名字域必须有名字的是(),不得有名字的是(),可有可无名字的是()。

3、变量AY2类型属性送AH()

4、将字符串…HOW ARE YOU!‟存入变量AYB()

5、设有BUFS DB 12,3,4,`ABC`

BUFD DW 0

L EQU BUFD-BUFS 汇编后, L=_________. 6、指令MOV CL,55H XOR 0F0H 执行后, (CL)=________H. 7、 ORG 1000H X DB 12H Y DW X Z DD Y

(DS)=3879H, (BX)=1000H, (SI)=0002H 求下列指令执行完后指定寄存器的内容 MOV AX, [1000H];(AX)=( ) MOV BX, [BX] ;(AX)=( ) MOV AX, [BX+SI];(AX)=( ) MOV AX, [Y+1] ;(AX)=( ) LEA DX, X ;(DX)=( ) LDS SI,Y ;(SI)=( ) (DS)=( )

8、若有 AR DW 10,20,30,40,50,60,70 W1 DW ? 执行指令 MOV CX, (W1-AR)/TYPE AR

38H 79H 10H 01H 10H 00H 12H

X →1000H

Y

Z

(CX)=____________

9、BYTEARY LABEL BYTE

WORDARY DW 50 DUP(?)

可使数组首字节地址有二个类型属性不同的

变量名.用THIS操作符实现相同功能( )

二、简答题(每小题4分,共12分)

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

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

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

2、ARY DW 10 DUP(?)

………………

MOV AL,TYPE ARY

MOV BL,LENGTH ARY

MOV CL,SIZE ARY

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

AL=2、BL=10、CL=2*10=20

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的偏移地址是:0020H

(2)COUNT的值是002AH-0020H=0AH=10

(3)DA2+5字节单元的内容是…U‟

三、程序分析题(每小题6分,共36分)

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

MOV DX,96/XOR DH,0FFH/SBB AX,DX

执行上述指令序列后,AX=0,CF=0。

2、设寄存器AL,BL,CL中内容均为76H,XOR AL,0FH

/AND BL,0FH / OR CL,0FH

执行上述指令序列后,AL=79h,BL=06h,CL=7fh。

3、已知AX=0A33AH,DX=0F0F0H AND AH,DL/

XOR AL,DH/ NEG AH/ NOT AL。

执行上述指令序列后,AH=60h,AL=35h。

4、下述程序段运行后,S9开始的10个字节存储单元内容是什么?DATA SEGMENT

S9 DB 0,1,2,3,4,5,6,7,8,9

DATA ENDS

…………

LEA SI,S9

LEA,DI,S9+1

MOV CX,5

LOP:MOV AL,[SI]

XCHG AL,[DI]

MOV [SI],AL

ADD SI,2

ADD DI,2

LOOP LOP

(1,0,3,2,5,4,7,6,9,8)

5、下述程序段运行后,AL=88h,CL=80h。

MOV AL,38H

MOV BL,49H

CALL SUBO

INC AL

DEC CL

SUBO PROC

ADD AL,BL

MOV CL,AL

DAA

RET

SUBO ENDP

6、下述程序段运行后,CX=44aah,DX=44d5h

DA3 EQU WORD PTR DA4

DA4 DB 0ABH,89H

…………

SHR DA3,1

MOV DX,DA3

SHL DA4,1

MOV CX,DA3

四、程序填空题(注意:下列各小题中,每空只能填一条指令!每小题6分,

共12分)

1、下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH 置0,否则AH置全1。试把空白处填上适当指令。

__XOR AH,AL___

AND AH,08H

__JZ ZERO__

MOV AH,OFFH

JMP NEXT

ZERO:MOV AH,0

NEXT:……

2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。

BUF DB 5,6,7,58H,62,45H,127,……

COUNT EQU $-BUF

MAX DB ?

…………

MOV BX,OFFSET BUF

MOV CX,COUNT-1

MOV AL,[BX]

LOP1:INC BX

__CMP AL,[BX]_

JAE NEXT

MOV AL,[BX]

NEXT:DEC CX

__JNZ LOP1_

MOV MAX,AL

五、编制程序题(第1小题6分,第2小题14分,共20分)

1、编写程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是“Y”,则转向YES程序段;如字符是“N”,则转向NO程序段;

如是其他字符,则转向DOS功能调用,重新输入字符。(YES和NO分别是两程序段入口处的标号。)

KEY_IN:MOV AH,1

INT 21H

CMP AL,‟Y‟

JE YES

CMP AL,‟N‟

JE NO

JMP KEY_IN

2、在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。

DATA SEGMENT

BUF1 DW -56,24,54,-1,89,-8……

BUF2 DW 45,-23,124,345,-265,…

SUM DW 10DUP(0)

DATA ENDS

循环结构(计数式)和分支结构

三.简答题(共6分)

1.STRING DB …AB‟,0,0,…CD‟,0,0,…EF‟,0,0

请分别用DW、DD伪指令改写上述语句,必须保持内存单元内容不变。

STRING DW …BA‟,0,‟DC‟,0,‟FE‟,0

2.执行“NEG DX”指令时:

①当DX=?时,CF=1 非零任意数

②当DX=?时,OF=1 -128

3.设某数据段的段名为DATA,段内有一变量BUF,请分别用两条MOV指

令写出下述两条语句的等效语句。

①MOV AX,DA TA MOV AX,SEG BUF

②LEA BX,BUF MOV BX,OFFSET BUF

四.程序分析题(共30分)

1.MOV AL,01H

ROR AL,1

OR AL,AL

NEG AL

上述程序段执行后,AL=__80H___,CF=__1_。

2.MOV AX,0E0EH

MOV BX,AX

SHR BX,1

CWD

DIV BX

XCHG BX,AX

MUL BX

上述程序段执行后,AX=__0E0E_,BX=__2 _。

3.X DW 0123H,2A3EH,89DFH

COUNT EQU $-X

Y DB COUNT DUP(0)

…………

LEA SI,X

LEA DI,Y

MOV CX,COUNT

CLD

REP MOVSB

①上述程序段执行后,Y数据区各字节单元的内容是什麽?

Y:23H,01,3E,2A,DF,89H

②程序段功能不变情况下,REP MOVSB可否用下面两条指令替代:LOP:

MOVSB 和LOOP LOP 可以

4.已知AL的值为0~F中的一位16进制数:

HECA PROC FAR

CMP AL,10

JC KK

ADD AL,7

KK:ADD AL,30H

MOV DL,AL

MOV AH,2

INT 21H

RET

HECA ENDP

请回答:①该子程序完成什麽功能?16进制→ASCII

②如调用子程序时,AL=3,子程序执行后,DL=_33H_。

如调用子程序时,AL=0FH,子程序执行后,DL=_46H。

5. MOV AL,0FH

XOR AL,0FFH

MOV CL,7

SHR AL,CL

①上述程序段执行后,AL=__01_。

②如将指令SHR换成ROR指令,则程序段执行后,AL=__E1H__。

6.已知BX=5E5CH,CX=8303H,CF=1

ROR BX,CL

XOR BH,CH

ROL BX,CL

上述程序段执行后,BX=__4658H_,CF=__0 _。

五.程序填空题(共12分)

1.下面程序段完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后用2号功能调用以相反的顺序显示输出这10个字符。请在每一空白处只添

汇编语言程序设计题目以及答案

汇编语言程序设计题目以及答案[P1] 汇编语言程序设计题目以及答案 汇编语言是一种底层计算机语言,它直接使用机器指令来编写程序。本文将介绍一些汇编语言程序设计的题目,并提供相应的答案。通过 这些题目和答案的学习,读者可以更好地理解和掌握汇编语言程序设 计的基本概念和技巧。 [题目一] 计算两个数的和 要求:编写汇编程序,计算两个给定的整数的和,并将结果存储在 指定的内存位置中。 答案: ```assembly section .data num1 dd 10 ; 第一个整数 num2 dd 20 ; 第二个整数 result dd 0 ; 结果 section .text global _start _start: mov eax, [num1] ; 将num1值存入寄存器eax

add eax, [num2] ; 将num2值与eax寄存器中的值相加 mov [result], eax ; 将结果存储到result变量 mov eax, 1 ; 准备执行系统调用 mov ebx, 1 ; 文件描述符:标准输出 mov ecx, result ; 输出的数据 mov edx, 4 ; 数据长度 int 0x80 ; 执行系统调用 mov eax, 1 ; 准备执行系统调用 xor ebx, ebx ; 正常退出 int 0x80 ; 执行系统调用 ``` [题目二] 字符串反转 要求:编写汇编程序,将一个给定的字符串反转,并将结果存储在指定的内存位置中。 答案: ```assembly section .data str db 'Hello', 0 ; 待反转的字符串

汇编语言程序设计试题和答案

《汇编语言程序设计》试题 专业姓名成绩 一、单项选择题(每1分,共15分). 1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是() A.07FFH 3021D B. 6FEH 1021D C. 07FFH 2012D D. 07FFH 2047D 2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在 指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( ) A. 127D B.255D C. 256D D.128D 3. 设MYDAT是一个字变量,下列指令中,错误的是() A.MOV BX,10100B B.MOV DS,AX C.ADD BX,[10100H] D.MOV BX,MYDAT[SI] 4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是() A.5678H B.4C2AH C.2A4CH D.7856H 5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节 ( ),试用16进制数表示该机的地址范围() A.1M 0~FFFFFH B.64K 0~FFFFH C.128K 0~FFFFH D.128K –FFH~FFH 6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物 理地址是() A.BAA40H B.AAB40H C.AAA40H D.0D603H 7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( ) A.CMP BL,OP1 B.MOV [BX],111001B C. INC OP2 D.SAR AX,CL 8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后, DX中的值是() A.00CEH B.009DH C.00B9H D.003BH 9. 有符号定义语句如下: BUFF DB 1,2,3,‘123’ EBUFF DB 0 L EQU EBUFF - BUFF 问L的值为多少( ) A.6D B.7D C.3D D.5D. 10. IBMPC机中下列那些寄存器可以用来存储存储器地址() A、BX,BP,SP,CX B、AX,SI,DI,DX C、BX,SI,DI,SP D、DX,SI,DI,SP 11.下列指令中正确的是() A.MOV [BX],[SI] B.MOV AX,[SI][DI] C.MOV BX,OFFSET NAME[SI] D.MOV BYTE PTR [100],100 12下列程序段执行后,寄存器BX中的内容是什么()

汇编语言程序设计题目以及答案

一、单项选择题(每小题1分,共20分) 1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A) A、85B92H B、86192H C、BB690H D、12169H 2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B) A、AX,BX,CX,DX B、BX,BP,SI,DI C、SP,IP,BP,DX D、CS,DS,ES,SS 3、循环指令LOOPNZ终止循环的条件是(B)。 A、CX=0,且ZF=0 B、CX=0,或ZF=1 C、CX10,且ZF=0 D、CX10,或ZF=1 4、对寄存器AX的内容乘以4的正确指令序列是(B)。 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)。 A、OF,AF,PF B、OF,AF,CF C、OF,PF,CF D、AF,PF,CF 6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。 A、DH=10H CF=1 B、DH=0F0H CF=0 C、DH=10H CF=0 D、DH=0F0H CF=1 7、下列传送指令中有语法错误的是(A)。 A、MOV CS,AX B、MOV DS,AX C、MOV SS,AX D、MOV ES,AX 8、下面指令执行后,改变AL寄存器内容的指令是(D)。 A、TEST AL,02H B、OR AL,AL C、CMP AL,BL D、AND AL,BL 9、执行除法指令后,影响的标志位是(D)。 A、CF,OF

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

汇编语言程序设计习题及答案 汇编语言程序设计习题及答案 汇编语言是一种底层的计算机语言,它直接操作计算机的硬件资源。虽然在现 代计算机编程中,高级语言如C、Java等更为常见,但了解汇编语言的基本原 理和编程技巧对于理解计算机底层工作原理和进行性能优化非常重要。本文将 介绍一些汇编语言程序设计的习题及其答案,帮助读者巩固和提升汇编语言编 程能力。 一、基础习题 1. 编写一个汇编程序,将存储器中的某个字节的值加1,并将结果存回原位置。答案: ```assembly MOV AL, [地址] INC AL MOV [地址], AL ``` 2. 编写一个汇编程序,计算存储器中一个数组的和,并将结果存放在指定的寄 存器中。 答案: ```assembly MOV CX, 数组长度 MOV BX, 数组首地址 MOV AX, 0

LOOP_START: ADD AX, [BX] ADD BX, 2 LOOP LOOP_START ``` 二、进阶习题 1. 编写一个汇编程序,实现字符串的逆序输出。答案: ```assembly MOV SI, 字符串首地址 MOV DI, 字符串尾地址 MOV CX, 字符串长度 DEC CX REVERSE: MOV AL, [SI] MOV AH, [DI] MOV [DI], AL MOV [SI], AH INC SI DEC DI LOOP REVERSE ```

2. 编写一个汇编程序,实现两个16位无符号整数的相乘,并将结果存放在指定的寄存器中。 答案: ```assembly MOV AX, 第一个数 MOV BX, 第二个数 MUL BX ``` 三、挑战习题 1. 编写一个汇编程序,实现一个简单的计算器,支持加法、减法、乘法和除法运算。 答案: ```assembly READ_INPUT: ; 读取用户输入 ; ... PARSE_INPUT: ; 解析用户输入,获取操作数和运算符 ; ... CALCULATE: ; 根据运算符进行相应的计算 ; ...

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

一、单项选择题 从每小题的四个备选答案中,选出一个正确答案,并将正确答案的番号填人括号内。 1.用来存放下一条将要执行的指令地址的寄存器是 (B ) A.SP B.IP C.BP D.CS 2.要使串处理从低地址向高地址进行,应把标志位置为 (D ) A.IF=1 B.TF=0 C.DF=1 D.DF=0 3.使状态标志位CF清零的错误指令是 (C ) A.OR AX,AX B.SUB AX,AX C.MOV CF,0 D.CLC 4.设SP=1110H,执行PUSH AX指令后,SP的内容为 (B ) A.SP=1112H B.SP=110EH C.SP=1111H D.SP=110FH 5.汇编源程序出现语法错误的指令有 (D ) A.MOV [BX+SI],AL B. MOV AX,[BP+DI] C.MOV DS,AX D. MOV CS,AX 6.下列串操作指令中,必须同时指明源串和目的串地址的指令是 (D ) A.STOSW B.LODSW C.SCASW D.CMPSW 7.设BL中有一无符号数,实现把BL中的数乘以2,应选用的指令是 (B ) A.SHR BL,1 B.SHL BL,1 C.SAR BL,1 D.RCR BL,1 8.执行PUSH AX指令的正确步骤是 (A ) A.1.SP←SP-1,(SP)←AH B.1.(SP)←AH,SP←SP-1 2.SP←SP-1,(SP)←AL 2.(SP)←AL,SP←SP-1 C.1.SP←SP+1,(SP)←AH D.1.(SP)←AH,SP←SP+1 2.SP←SP+1,(SP)←AL 2.(SP)←AL,SP←SP+1 9.CF=1 时转移到目标地址的条件转移指令是 (B ) A.JNC B.JC C.JZ D.JS 10.在执行NEG指令时,对标志位CF有影响,其影响的规则是 ( C ) A.对正数求补时,CF=0 B.对负数求补时,CF=0 C.对非零数求补时,CF=1 D.对零求补时,CF=1 11.算术右移SAR和逻辑右移SHR两条指令执行后结果完全相同的情况是(A ) A.目的操作数最高位为0 B.目的操作数最高位为1 C.目的操作数为任意情况 D.无论什么情况都不可能相同 12.设AL=04H,BL=0F8H,执行IMUL BL指令后,结果是 ( D ) A.AX=0032H B.AX=00E0H C.AX=03E0H D.AX=0FFE0H 13.指令的操作数中,允许出现表达式,例如BUF1与BUF2均为变量名,下面指令中语法正确的是 (D ) A.MOV AX,BUFl*BUF2 B.MOV AX,BUF1/BUF2 C.MOV AX,BUF1+ES:BUF2

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

一、单项选择题(在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。) 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

《汇编语言程序设计》必考试题及答案

《汇编语言程序设计》必考试题及答案 一、选择题 1. 汇编语言属于 ____。 A. 高级语言 B. 机器语言 C. 低级语言 D. 自然语言 答案:C. 低级语言 2. 在汇编语言中,寄存器eax主要用于 ____。 A. 存储返回值 B. 存储函数参数 C. 存储局部变量 D. 存储全局变量 答案:A. 存储返回值 3. 汇编语言中,jmp指令用于 ____。 A. 设置循环条件 B. 调用子程序

C. 跳转到指定地址 D. 返回主程序 答案:C. 跳转到指定地址 二、简答题 1. 请简述汇编语言与高级语言的区别。 汇编语言是一种低级语言,使用助记符来代表机器指令,每条汇编 指令对应一条机器指令。而高级语言更加抽象,采用更接近人类自然 语言的表达方式,通过编译器将高级语言编写的程序转换为机器语言。 2. 请列举汇编语言常用的寄存器及其作用。 汇编语言常用的寄存器包括: - eax:主要用于存储返回值。 - ebx、ecx、edx:通用寄存器,用于暂存计算结果。 - esi、edi:源操作数寄存器和目的操作数寄存器,用于存储数据传 输时的源地址和目的地址。 - ebp、esp:用于管理函数调用过程中的栈帧。 - eip:指令指针寄存器,存储下一条将要执行的机器指令的地址。 三、编程题

请编写汇编语言程序,实现从键盘输入两个数,并将其相加后输出的功能。 ```assembly section .data prompt db '请输入两个数,以空格分隔:', 0 result db '两数相加的结果为:%d', 0 section .bss num1 resb 4 num2 resb 4 section .text global _start _start: ; 输出提示信息 mov eax, 4 mov ebx, 1 mov ecx, prompt mov edx, 20 int 0x80 ; 输入第一个数

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

钱晓捷新版汇编语言程序设计习题答案 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。 1.17、举例说明CF和OF标志的差异。

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

4.1分析执行下列指令序列后的结果:1)MOVAX,1234H MOVBX,00FFH ANDAX,BX 【答】(AX)=0034H 2)MOVAL,0101B ANDAL,000111B;(AL)=000101B ORAL,11000B;(AL)=110101B XORAL,0011B;(AL)=11010B NOTAL 【答】(AL)=00101B 3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN: INCSI CMP[SI],DL LOOPNE AGAIN HLT

本程序实现了什么功能? 【答】在以0A001H开始的15个单元中查找05H。 4)MOVAX,DSEGADDR MOVDS, AX MOVES,AX MOVSI, OFFSET B1ADDR MOVDI,OFFSET B2ADDR MOVCX,N CLD REPMOVSB HLT 本程序实现了什么功能? 【答】将B1ADDR中N个字节数据传送到B2ADDR开始的15个存储单元。5)MOVAX, 0H MOVDS,AX MOVES, AX MOVAL,05H MOVDI,0A000H MOVCX,0FH CLD AGAIN:

SCASB LOOPNEAGAIN HLT 本程序实现了什么功能? 【答】从地址0A000H开始的15个单元中查找字节型数据05H,用条件循环LOOPNZ,控制数据05H的查找。 4.2阅读程序: 1).CLD LEADI,[0100H] MOVCX, 0080H XORAX, AX REPSTOSW 本程序实现了什么功能? 【答】将DS中起始地址为0100H的128个字节单元清零。 2).MOVAL, 08H SAL,01H;(AL)=000100H MOVBL, AL MOVCL ,02H SAL,CL;(AL)=01000H ADDAL,BL;(AL)=0100H 本程序实现了什么功能?

汇编语言程序设计试题和答案

汇编语言程序设计试题和答案 《汇编语言程序设计》试题 专业姓名成绩 一、单项选择题(每1分,共15分). 1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是() A.07FFH 3021D B. 6FEH 1021D C. 07FFH 2012D D. 07FFH 2047D 2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx 寄存器来提供的,但有时也可以在 指令中用一个字节来表示端口号。试问可以直接由指令指定的I/o端口号有多少个?( ) A. 127D B.255D C. 256D D.128D 3. 设MYDAT是一个字变量,下列指令中,错误的是() A.MOV BX,10100B B.MOV DS,AX C.ADD BX,[10100H] D.MOV BX,MYDAT[SI] 4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H, (20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是

() A.5678H B.4C2AH C.2A4CH D.7856H 5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节 ( ),试用16进制数表示该机的地址范围() A.1M 0~FFFFFH B.64K 0~FFFFH C.128K 0~FFFFH D.128K –FFH~FFH 6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物 理地址是() A.BAA40H B.AAB40H C.AAA40H D.0D603H 7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( ) A.CMP BL,OP1 B.MOV [BX],111001B C. INC OP2 D.SAR AX,CL 8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后, DX中的值是() A.00CEH B.009DH

汇编语言程序设计试卷

汇编语言程序设计试卷 一. (共75 题,共150 分) 1.下列说法错误的是。(2 分) A.机器指令的形式包含操作码和地址码 B.计算机只能够识别规定好的机器指令 C.不同计算机系统之间的机器指令能够相互兼容 D.汇编语言的主要操作和机器指令基本上一一对应 ★检查答案标准答案:C 2.两个有符号数相减,通过标志位判断结果是否溢出。(2 分) A.ZF B.CF C.SF D.OF ★检查答案标准答案:D (2 分) 3.汇编语言和高级语言的比较,下列说法错误的是 A.汇编语言和高级语言都不能被机器直接识别 B.完成同样的功能,汇编语言占据空间小 C.高级语言可以使用变量,但汇编语言不行 D.汇编语言中有类似于高级语言的宏功能 ★检查答案标准答案:C 4.下列寄存器中,哪个寄存器不能供汇编程序直接访问. (2 分) A.SP B.BP C.CS D.IP ★检查答案标准答案:D 5.下列寄存器,哪个不能作基址寄存器。(2 分) A.BX B.BP C.SI D.ESI ★检查答案标准答案:C 6.设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI] 执行完毕后,AX 寄存器中的值是 。(2 分) A.65B7H B.3412H C.4C2AH D.7856H ★检查答案标准答案:A

A.可以作立即寻址的操作数 B.也可作某些存贮器操作数的的位移量组成部分 C.在数据定义伪指令语句中给变量赋初值 D.可以作目的操作数 ★检查答案标准答案:D 8.若(ECX)=0ABCD1234H(BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为 。(2 分) A.0ABCD1234H B.0FFFFFFE3H C.000000E3H D.0ABCD12E3H ★检查答案标准答案:B (2 分) 9.若(AX)=0FFFDH ,则语句ADD AX,7FFFH 执行后,下列说法正确的是。 A.(AX) =7FFCH,(OF)=1 ,(CF)=1 B.(AX) =17FFCH ,(OF)=1 ,(CF)=1 C.(AX) =7FFCH,(OF)=0 ,(CF)=1 D.(AX)= 17FFCH ,(OF)=0 ,(CF)=1 ★检查答案标准答案:C 10.在语句INC SS:[BX] 中,操作数使用的段寄存器是。(2 分) A.DS B.ES C.CS D.SS ★检查答案标准答案:D 11.若(BX)= 0A2F4H,语句SAR BX, 2 执行后,(BX) = 。(2 分) A.0A2FH B.0E8BDH C.28DBH D.2F4AH ★检查答案标准答案:B 12.若(AX)=0FFFFH ,则指令XOR AX, 0AAAAH 执行后,(AX)= (2 分) A.0AAAAH B.5555H C.0FFFFH D.1111H ★检查答案标准答案:B 13.控制汇编程序应如何工作的约定符号称汇编控制命令,又称为。(2 分) A.条件跳转指令 B.机器指令 C.伪指令

(完整版)汇编语言试题及答案

一,单项选择题(每小题1 分,共20 分 1-10CCCCAADACB 11-20.ADBBAADDCC 1.指令JMP FAR PTR DONE 属于( C 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.12CSBH B.12B6BH

C.12C59H 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

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

汇编语言程序设计习题及参考答案 习题一

1.1把下列2、8、16进制数转换成为十进制数 (1)(1011011)2(2)(0.10110)2(3)(111111.01)2(4)(1000001.11)2(5)(377)8(6)(0.24)8(7)(3FF)16(8)(2A.4)16 解:(1)(1011011)2=64+16+8+2+1=91 另解:原式=(5B)16=5×16+11=91 (2)(0.10110)2=0.5+0.125+0.0625=0.6875 (3)(111111.01)2=32+16+8+4+2+1+0.25=63.25 另解:原式=(1000000-1+0.01)2=64-1+0.25=63.25 (4)(1000001.11)2=64+1+0.5+0.25=65.75 (5)(377)8=3×64+7×8+7=255 另解:原式=(400-1)8=4×64-1=255 (6)(0.24)8=2×0.125+4×0.015625=0.3125 (7)(3FF)16=3×256+15×16+15=1023 另解:原式=(400-1)16=4×256-1=1023 (8)(2A.4)16=2×16+10+4×0.0625=42.25 另解:原式=2×16+10+4÷16=42.25 1.2 把下列十进制数转换为2、16进制数 (1)(127)10(2)(33)10(3)(0.3)10(4)(0.625)10 (5)(1023.5)10(6)(377)10(7)(1/1024)10(8)(377/32)10解:(1)(127)10 =64+32+16+8+4+2+1= (111 1111)2=(7F)16 另解:原式=(128-1)10=(1000 0000-1)2=(111 1111)2=(7F)16 (2)(33)10=32+1= (10 0001)2=(21)16 (3)(0.3)10 = (0.0100 1100 1……)2=(0.4CCC……)16 (4)(0.625)10= 0.5+0.125=(0.101)2=(0.A)16 (5)(1023.5)10 = 512+256+128+64+32+16+8+4+2+1+0.5 =(11 1111 1111.1)2=(3FF.8)16 (6)(377)10 =256+64+32+16+8+1=(1 0111 1001)2=(179)16 (7)(1/1024)10=(0.0000 0000 01)2=(0.004)16 (8)(377/32)10=(256+64+32+16+8+1)÷(32)= (101111001)2÷(100000)2 =(1011.11001)2=(0B.C1)16 1.3 把下列二进制数转换为十六进制数 (1)(100011)2(2)(0.11101)2(3)(11111.11)2(4)(0.00101)2解:(1)(100011)2=(10‟0011)2=23H (2)(0.11101)2=(0.1110‟1000)2=0.E8H (3)(11111.11)2=(1‟1111.1100)2=1F.CH (4)(0.00101)2=(0.0010‟1000)2=0.28H 1.4 把下列十六进制数转换为二进制数 (1)(3B6)16(2)(100)16(3)(80.2)16(4)(2FF.A)16解:(1)(3B6)16=(0011 1011 0110)2 (2)(100)16=(0001 0000 0000)2 (3)(80.2)16=(1000 0000.0010)2 (4)(2FF.A)16 =(0010 1111 1111.1010)2

汇编语言程序设计试题参考答案

汇编语言程序设计参考答案 A卷 一、单项选择题(本大题共8小题,每小题2分,共16分) 1.C 2.B 3.B 4.A 5.C 6.A 7.A 8.C 9.D 10.B 二、名词解释(本大题共5小题,每小题4分,共20分) 11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。 12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。 13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。 14.中断源:指能引起中断的外部设备或内部原因。 15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。 三、简答题(本大题共4小题,每小题5分,共20分) 16.微型计算机系统软件的主要特点是什么? 计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。 17.什么是逻辑地址?他由哪两部分组成? 计算机存储器中给每个逻辑段编址的地址称逻辑地址。逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。 18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什 么? 一般情况下汇编语言源程序应该由以下3个逻辑段组成: ①数据段:用来在内存中建立一个适当容量的工作区,以存放常数, 变量等程序需要对其进行操作的数据;

②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、 子程序调用时使用; ③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行 的具体操作。 19. DMA数据传送方式的特点是什么? DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。 20. 简述中断技术的优点。 ①CPU与外设可并行操作。 ②可对实时信息进行采集、处理和控制。 ③可对计算机出现的故障进行随机处理。 四、计算与分析(本大题共3小题,每小题5分,共15分) 21. 请将(158.625)10转为二进制。 结果:(10011110.101)2 22. 若一个程序段开始执行前,(CS)=33A0H,(IP)=0130H,则该程序段 启动执行指令的实际地址PA是多少? PA=(CS)×10H+(IP)=33A0H×10H+0130H=33B30H 23. 有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址 分别为00130H和00134H,试画出它们的存储示意图。

计算机组成原理与汇编语言程序设计课后习题及解答(详解)

计算机组成原理与汇编语言程序设计课后习题及解答 徐洁,俸远祯电子工业出版社第1章习题一 1.什么是程序存储工作方式? 答:计算机的工作方式——存储程序工作方式。即事先编写程序,再由计算机把这些信息存储起来,然后连续地、快速地执行程序,从而完成各种运算过程。 2.采用数字化方法表示信息有哪些优点? 用数字化方法表示信息的优点: (1)抗干扰能力强, 可靠性高。 (2)依靠多位数字的组合,在表示数值时可获得很宽的表示范围以及很高的精度。 (3)数字化的信息可以存储、信息传送也比较容易实现。 (4)可表示的信息类型与范围及其广泛,几乎没有限制。 (5)能用逻辑代数等数字逻辑技术进行信息处理,这就形成了计算机硬件设计的基础。 3.如果有7×9点阵显示出字符A的图像,请用9个七位二进制代码表示A的点阵信息。 4.数字计算机的主要特点是什么? 1. (1)能在程序控制下自动连续地工作; (2|)运算速度快; (3)运算精度高; (4)具有很强的信息存储能力; (5)通用性强,应用领域及其广泛。 5.衡量计算机性能的基本指标有哪些? 答:衡量计算机性能的基本指标: (1)基本字长——参加一次运算的数的位数; (2)数据通路宽度——数据总线一次能并行传送的位数; (3)运算速度——可用①CPU的时钟频率与主频,②每秒平均执行指令数,③典型四则运算的时间来表示。 (4)主存储器容量——可用字节数或单元数(字数)×位数来表示。 (5)外存容量——常用字节数表示。

(6)配备的外围设备及其性能。 (7)系统软件配置。 7.系统软件一般包括哪些部分?列举你所熟悉的三种系统软件。 系统软件一般包括操作系统,编译程序、解释程序、各种软件平台等。例如WINDOWS98操作系统,C 语言编译程序等,数据库管理系统。 8.对源程序的处理有哪两种基本方式? 对源程序的处理通常有两种处理方式:解释方式和编译方式。 第2章习题二 1.将二进制数(101010.01)2 转换为十进制数及BCD码。 解:(101010.01)2 = (42.25)10 = (01000010.00100101)BCD 2.将八进制数(37.2)8转换为十进制数及BCD码. 解:(37.2)8 = (31.25)10 =(00110001.00100101)BCD 3.将十六进制数(AC.E)转换为十进制数及BCD码. 解: (AC.E)16 =(172.875)10 = 0.1)BCD 4.将十进制数(7 5.34)10转换为8位二进制数及八进制数、十六进制数。 解: (75.34)10 = (01001011.01010111)2 =(213.256)8 =(4B.57)16 5.将十进制数13/128转换为二进制数. 解: (13/128)10 =(1101/10000000)2 =(0.0001101)2 6.分别写出下列各二进制数的原码、补码,字长(含一位数符)为8位。 (1)0 (2)- 0 (3)0.1010 (4)- 0.1010 (5)1010 (6)-1010 解: 原码补码 0 00000000 00000000 -0 10000000 00000000 0.1010 0.1010000 0.1010000 - 0.1010 1.1010000 1.0110000 1010 00001010 00001010 -1010 10001010 11110110 7.若X补=0.1010,则X原、真值等于什么? 解:X补=0.1010,则X原=0.1010,真值X = 0.1010 8.若X补=1.1010,则X原、真值等于什么? 解:X补=1.1010,则X原=1.0110,真值X = - 0.0110 9.某定点小数字长16位,含1位符号,原码表示,分别写出下列典型值的二进制代码与十进制真值。 (1)非0最小正数(2)最大正数 (3)绝对值最小负数(4)绝对值最大负数 解: 二进制代码十进制真值 (1)非0最小正数0.0001 2-15 (2)最大正数0.111111********* 1-2-15 (3)绝对值最小负数 1.0001 -2-15 (4)绝对值最大负数 1.111111********* -(1-2-15) 10.某定点小数字长16位,含1位符号,补码表示,分别写出下列典型值的二进制代码与十进制真值。 (1)非0最小正数(2)最大正数 (3)绝对值最小负数(4)绝对值最大负数 解: 二进制代码十进制真值 (1)非0最小正数0.0001 2-15

汇编语言程序设计题库练习题1--详细答案

汇编语言程序设计题库练习题1--详细答案 汇编语言程序设计练习题 一、单项选择题 1、与100.5不相等的数据是【 C 】 A. 64.8H B. 1100100.1B C. 64.5H D. 144.4O 2、指向程序代码段的段寄存器是【 A 】 A. CS B. DS C. SS D. FS 3、在内存字单元(20000)中存放数1324H,即(20000)=1324H,则从字节单元20001H 中取出一个字节为【 A 】A. 13H B. 24H C. 1324H D. 2413H 4、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是【 A 】 A. MOV AL,00H B. AND AL,00H C. XOR AL,AL D. SUB AL,AL 5、指令JMP BX转移的目标地址的偏移量为【 C 】 A. IP+BX的内容 B. IP+[BX] C. BX的内容 D. BX所指向的内存字单元的内容

6、DA1 DW 2A05H DA2 DB 07AH ┇ MOV AL,BYTE PTR DA1 SUB DA2,AL 上述指令执行后,DA2中的内容是【 C 】A. 7AH B. 02AH C. 075H D. 050H 7、某存储单元的物理地址是12345H,可以作为它的段地址有【 d 】 A. 2345H B. 12345H C. 12340H D. 1234H 8、设有数据定义X2 DW 10 DUP (0,1,2),定义了多少字节的缓冲【 C 】 A. 6 B. 30 C. 60 D. 40 9、有符号数AX除以2的指令是【 B 】 A. SHR AX,1 B. SAR AX,1 C. ROR AX,1 D. RCR AX,1 10、DEC BYTE PTR[BX]中的操作数的数据类型是【 C 】 A. 字 B. 双字 C. 字节 D. 四字

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