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

汇编语言程序设计

汇编语言程序设计
汇编语言程序设计

汇编语言程序设计

一、选择题 (共72题)

1、

用于指针及变址寄存器的有()。

A、

AX,BX,CX,DX

B、

SP,BP,IP

C、

CS,DS,SS

D、

PSW

考生答案:B

2、

完成把汇编语言源程序模块转换为目标模块的程序是()。

A、

编辑程序

B、

汇编程序

C、

连接程序

D、

调试程序

考生答案:B

3、

指令JMP FAR PTR DONE中的寻址方式属于()。

A、

段内转移直接寻址

B、

段内转移间接寻址

C、

段间转移直接寻址

D、

段间转移间接寻址

考生答案:C

4、

对于下列程序段:

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

考生答案:A

5、

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

A、

上一条指令的首地址

B、

下一条指令的首地址

C、

正在执行指令的首地址

D、

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

考生答案:B

6、

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

A、

宏定义,宏调用

B、

宏定义,宏展开

C、

宏定义,宏调用,宏展开

D、

宏定义,宏展开,宏调用

考生答案:C

7、

CPU要访问的某一存储单元的实际地址称()。

A、

段地址

偏移地址

C、

物理地址

D、

逻辑地址

考生答案:C

8、

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

考生答案:C

9、

完成对CL寄存器的内容乘以2的正确操作是()。

A、

ROL CL,1

B、

MUL 2

C、

SHL CL,1

D、

SHR CL,1

考生答案:C

10、

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

A、

JE LOP1

B、

JAE LOP1

C、

JC LOP1

D、

JGE LOP1

考生答案:B

11、

已知变量VAR为字型,则TYPEVAR=()。

1

B、

2

C、

3

D、

4

考生答案:B

12、

假设VAR为变量,指令MOV BX,OFFSET VAR中源操作数的寻址方式是()。

A、

直接寻址

B、

间接寻址

C、

立即寻址

D、

存储器寻址

考生答案:C

13、

在下列指令中,有语法错误的是()。

A、

MOV [SI],[DI]

B、

IN AL,DX

C、

JMP WORD PTR[BX]

D、

PUSH WORD PTR 20[BX+SI-2]

考生答案:A

14、

下列指令中,先执行CX-1赋给CX操作,然后再根据CX的值决定是否转移、循环或进行重复操作的指令是()。

A、

JNC

B、

REP

C、

JCXZ

D、

LOOP

考生答案:D

汇编语言语句格式中的名字项,下列哪一个不正确?()

A、

FFFFFH

B、

@Variable

C、

3FFFFH

D、

Third_street

考生答案:C

16、

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

A、

DA1 DT ?

B、

DA2 DW ?,?

C、

DA3DD ?

D、

DA4DQ ?

考生答案:D

17、

当使用BP作编程地址时,此时使用的段寄存器是()。

A、

CS

B、

DS

C、

ES

D、

SS

考生答案:C

18、

一般的外部设备接口电路中的状态寄存器是用来存放外设或接口电路的()信息。

A、

数据

B、

控制

C、

状态

D、

考生答案:C

19、

设,它们之间的关系是()。

A、

A>B>C

B、

A

C、

A=B=C

D、

A

考生答案:D

20、

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

A、

ADD AX,[SI][BX]

B、

MOV AX,[BX+SI]

C、

AND AX,[BX+SI]

D、

LEA AX,[BX][SI]

考生答案:D

21、

有宏定义如下:

FUNCTIONMACROP1,P2,P3

MOVAX,P1

P2P3

ENDM

若有宏调用语句 FUNCTION 100,DEC,AX

则寄存器AX的内容为()。

A、

100

B、

99

C、

101

D、

考生答案:B

22、

执行下述指令序列后,AX的内容是()。MOVCX,5

MOVAX,50

NEXT: SUBAX,CX

LOOPNEXT

A、

65

B、

55

C、

35

D、

25

考生答案:C

23、

执行下述指令序列后,AX的内容是()。TABDB1,2,3,4,5,6

ENTRYEQU3

MOVBX,OFFSETTAB

ADDBX,ENTRY

MOVAX,WORD PTR [BX]

A、

0203H

B、

0302H

C、

0405H

D、

0504H

考生答案:D

24、

执行下述指令序列后,CL的内容是()。STR1DW‘AB’

STR2DB 16 DUP(?)

CONTEQU $-STR1

MOV CX,CONT

A、

12H

B、

0EH

C、

0FH

D、

10H

考生答案:A

25、

在寄存器间接寻址方式下,可存放操作数有效地址的寄存器有()。

A、

AX,BX,CX,DX

B、

SP,BX,SI,DI

C、

CS,DS,ES,SS

D、

BX,BP,SI,DI

考生答案:D

26、

下列叙述正确的是()。

A、

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

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

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

对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令考生答案:C

27、

8086处理器在基址变址的寻址方式中,变址寄存器可以为()。

A、

BX或CX

B、

CX或SI

C、

DX或SI

D、

SI或DI

考生答案:D

28、

下面指令序列执行后,所完成运算的正确算术表达式应是()。MOV AL,BYTE PTR X

SHL AL,1

DEC AL

MOV BYTE PTR Y,AL

A、

Y=2X+1

B、

X=2Y+1

C、

X=2Y-1

D、

Y=2X-1

考生答案:D

29、

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

A、

ADD BUF1,BUF2

B、

JMP DWORD PTR DAT [BX]

C、

MOV AX,[BX+DI] NUM

D、

TEST AL,08H

考生答案:A

30、

循环指令LOOPNZ重复执行循环的条件是()。

A、

CX=0,且ZF=0

B、

CX=0,或ZF=1

C、

CX≠0,且ZF=0

D、

CX≠0,或ZF=1

考生答案:C

31、

执行下述指令序列:

MOV SP,3210H

PUSH AX

SP寄存器的最终值是()。

A、

3211H

B、

320EH

C、

320FH

D、

3212H

考生答案:B

32、

执行后使BX=0的同时也使CF=0,OF=0的指令是()。

A、

XOR BX,BX

B、

OR BX,BX

C、

AND BX,BX

D、

CMP BX,BX

考生答案:A

33、

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

A、

ADD BH,01H

B、

OR BH,01H

C、

XOR BH,01H

D、

TEST BH,01H

考生答案:B

34、

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

A、

物理地址

B、

偏移地址

逻辑地址

D、

段地址

考生答案:A

35、

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

A、

ZF=1

B、

ZF=0

C、

SF=1

D、

SF=0

考生答案:A

36、

计算机的软件系统一般分为()两大部分。

A、

系统软件和应用软件

B、

操作系统和计算机语言

C、

程序和数据

D、

DOS和Windows

考生答案:A

37、

8086CPU中断号为8的中断向量存放在()。

A、

0FFFFH:0008H

B、

0000H:0008H

C、

0000H:0020H

D、

0020H:0000H

考生答案:C

38、

段定义语句以()语句结束。

A、

END

ENDS

C、

ENDP

D、

ENDM

考生答案:B

39、

定义双字变量的定义符是()。

A、

DW

B、

DQ

C、

DD

D、

DT

考生答案:C

40、

指令SCAS的寻址方式是()。

A、

源操作数为寄存器寻址,目的操作数为寄存器间接寻址

B、

源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址

C、

源操作数为寄存器间接寻址,目的操作数为寄存器寻址

D、

源操作数为寄存器寻址,目的操作数为寄存器寻址

考生答案:A

41、

在计算机中表示地址时使用()。

A、

无符号数

B、

原码

C、

反码

D、

以上都不对

考生答案:A

42、

在“先判断后工作”的循环程序结构中,循环执行的次数最少是()。

1

B、

C、

2

D、

不确定

考生答案:B

43、

DOS系统功能调用中,将子程序编号送入()寄存器。

A、

AH

B、

AL

C、

BH

D、

BL

考生答案:A

44、

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

A、

MOV AX,89

B、

MOV AX,0809

C、

MOV AX,89H

D、

MOV AX,0809H

考生答案:D

45、

执行下述指令后,寄存器AL的值是()。

MOVAX, 1234H

MOVCL, 4

ROLAX, CL

DECAX

MOVCX, 4

MULCX

A、

B、

00H

C、

04H

D、

08DH

考生答案:B

46、

下述指令序列的功能是()。

BEGIN:LEA BX,BUFFER

XORAL,AL

MOVCL,64H

REPEAT:MOV BYTE PTR[BX],AL

INC BX

DEC CL

JNZ REPEAT

A、

将长度为64H个字节的缓冲区清零

B、

将长度为64个字节的缓冲区清零

C、

为长度为64H个字节的缓冲区赋初值64H D、

为长度为64个字节的缓冲区赋初值64 考生答案:A

47、

执行下述指令序列后,CX的内容是()。DAT1DB 12H,34H,56H

N=$-DAT1

MOVCX,N

A、

2

B、

3

C、

4

D、

考生答案:B

48、

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

MOVCL, 3

MOVBX, 0B7H

ROLBX, 1

RORBX, CL

A、

002DH

B、

00EDH

C、

C02DH

D、

000DH

考生答案:B

49、

已知:X=00FFH,Y=0AAAAH,则()。

A、

X∧Y=00AA0H

B、

X∨Y=0AAFBH

C、

X∧Y=00AAH

D、

X∧Y=0ABCDH

考生答案:C

50、

选出所有格式正确的移位指令()。

A、

SHLBX,CX

B、

SHL BX,CH

C、

ROL AX,CL

D、

ROR CL,AX

考生答案:C

51、

下列指令中错误指令为()。

MOV CS,AX

B、

PUSH AX

C、

XOR AX,AX

D、

MOV AX,BX

考生答案:A

52、

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

A、

数据段中偏移量为3236H的字

B、

附加段中偏移量为3234H的字

C、

数据段中偏移量为3234H的字

D、

附加段中偏移量为3236H的字

考生答案:A

53、

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

A、

占内存空间小,但速度慢

B、

占内存空间大,但速度快

C、

占内存空间相同,速度快

D、

占内存空间相同,速度慢

考生答案:B

54、

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

A、

JMP NEXT

B、

JC NEXT

C、

INC BX

D、

SHL AX,1

考生答案:D

55、

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

A、

DIV 2

B、

DIV DX,2

C、

SAR DX,1

D、

SHL DX,1

考生答案:C

56、

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

A、

MOV BX,VAR

B、

LDS BX,VAR

C、

LES BX,VAR

D、

LEA BX,VAR

考生答案:D

57、

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

A、

名字项

B、

操作项

C、

操作数项

D、

注释项

考生答案:B

58、

某存储单元的物理地址是12345H,可以作为它的段地址有()。

A、

2345H

B、

12345H

C、

12340H

D、

1234H

考生答案:D

59、

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

A、

STOSW

B、

ADD AL,CL

C、

NEG BX

D、

INC DA[BX]

考生答案:D

60、

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

A、

CX=0或ZF=0

B、

CX=0且ZF=0

C、

CX=0或ZF=1

D、

CX=0且ZF=1

考生答案:A

61、

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

A、

STOSW

B、

LODSW

C、

SCASW

D、

CMPSW

考生答案:D

62、

假设V1和V2是用DW定义的变量,下列指令中正确的是:()。

A、

MOV V1,20H

B、

MOV V1,V2

C、

MOV AL,V1

D、

MOV 2000H,V2

考生答案:A

63、

汇编语言源程序经MASM汇编后可直接生成文件的后缀是()。

A、

EXE

B、

OBJ

C、

ASM

D、

MAP

考生答案:B

64、

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

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

A、

80H

B、

100H

C、

124

D、

192

考生答案:A

65、

下列指令中不合法的指令是()。

A、

INAX,03F8H

B、

MOVBX,AX

C、

REPCMPSB

D、

SHRBX,CL

考生答案:A

66、

循环程序的基本结构形式不包括下面哪一部分?()

A、

循环参数置初值部分

B、

循环工作部分

C、

循环控制部分

D、

设置段寄存器部分

考生答案:D

67、

中央处理器CPU是由()组成的。

A、

运算器

B、

控制器

C、

寄存器组

D、

前三者

考生答案:D

68、

设DF=1,每次执行CMPSW指令时,SI和DI均要分别()。

A、

减1

B、

减2

C、

加1

D、

加2

考生答案:B

69、

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

MOV BX,0FFFCH

MOV CL,2

SAR BX,CL

A、

3FFFH

B、

0FFFFH

C、

0FFFCH

D、

汇编语言程序设计试题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. 中断源:

8086汇编语言程序设计

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

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

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

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

《汇编语言程序设计试题及答案》合集 汇编语言程序设计试题及答案 1.对于有符号的数来说,下列哪个值最大(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.学习和了解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)。

汇编语言程序设计习题集111

16.提示下列指令序列执行后的正确结果是( A )。 MOV BX,OFFFCH MOV CL,2 SAR BX,CL A.3FFFH B.0FFFH C.0FFFCH D.0FFF5H 19. 指令SCAS的寻址方式是()。 A 源操作数为寄存器寻址,目的操作数为寄存器间接寻址 B 源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址 C 源操作数为寄存器间接寻址,目的操作数为寄存器寻址 D 源操作数为寄存器寻址,目的操作数为寄存器寻址 22. 下列指令中不合法的指令是(C)。 A IN AX, 03F8H B MOV BX, AX C REP CMPSB D SHR BX, CL 23. 下列指令中正确的是()。 A MOV SS, 2400H B MOV SS, [2400H] C MOV SS, DS D MOV SS, SP 24. 下列指令中正确的是(A)。 A XCHG AH, AL B XCHG AL, 20H C XCHG DS, AX D XCHG SP, [20H] 29. 下列程序段执行完后,BX寄存器中的内容是( C )。 MOV CL, 3 MOV BX, 0B7H ROL BX, 1 ROR BX, CL A 002DH B 00EDH C C02DH D 000DH 30. 执行下列程序: MOV AX, 0 MOV BX, 1 MOV CX, 100 A: ADD AX, BX INC BX LOOP A HLT 执行后的结果为:(AX)= ( C ),(BX)= ( ). A 5050,99 B 2500,100 C 5050,101 D 2550,102 35. 逻辑位移指令SHR用于(D),而算术位移指令SAR用于带符号数除2。

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

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: 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 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 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 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

汇编语言程序设计A卷答案

2011级汇编语言程序设计课程试题(A卷答案) 一、填空题(毎空1分,共15分) 1.汇编语言程序/汇编语言源程序,ASM,平展(flat) 2.执行性语句(硬指令),说明性语句(伪指令) 3.立即数,寄存器,存储器 4.导入,动态连接 5.PUSH EBX 6.嵌入汇编,模块连接 7.8,6,16 二、判断题(每题1分,共10分) 1.错2.对3.对4.对5.错6.对7.对8.错9.对10.错 三、按下面要求写出相应的数据定义语句或汇编指令(变量名可任意指定)(每小题2分,共12分) 1.string byte ‘assembly language’ 2.var word 20 dup (?) 3.str equ 4.dvar dword 14h 5.add [ebx+esi],eax 6.xor eax,eax 或sub eax,eax 四、程序分析与阅读题 1.(每空1分,共8分) EAX=87654321h EBX=12345678h EAX=876543a9h CF=1 OF=0 ZF=0 SF=1 PF=1 2.(每小题2分,共8分)每一小题指出错误得1分,写出正确指令得1分 ①操作数类型不一致add eax,ebx 或add ax,bx ②两个操作数同时是内存单元的数mov eax,var2 mov var1,eax ③push指令不支持字节操作push ax 或push eax ④两个操作数类型不明确mov byte ptr [ebx],100 或mov word ptr [ebx],100 或mov dword ptr [ebx],100 3.(每小题2分,共4分) ①xchg ebx,[edi] 或xchg [edi],ebx ②movsb

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

新版汇编语言程序设计钱晓捷第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〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

汇编语言程序设计

汇编语言程序设计 实验报告 实验名称上机过程及顺序结构与分支结构程序设计实验班级 学号 姓名 日期2017年10月26号 成绩 评阅人 软件学院

一、实验目的与意义 理解并熟练掌握汇编语言程序设计过程中的编辑、汇编、链接和调试等各个步骤,提高对汇编课程内容的理解和汇编语言的掌握,通过上机练习加深对课程内容的理解和掌握。通过汇编语言编制的程序上机调试、运行检验程序设计是否正确。熟悉和掌握编辑、汇编、连接和调试四个实用程序的使用方法,掌握调试程序中的几个常用命令的使用方法。熟悉其基本的指令操作,debug调试操作命令以及分支结构、顺序结构和循环结构的程序设计。 二、实验环境 操作系统:Microsoft Windows8 集成环境:Masm for Windows 上机地点:信息楼B405教室 三、实验的预习内容 预习的主要内容: 1. 使用DEBUG命令的方法; 2. 熟悉掌握从理论上定义数据的类型(即DB,DW,DD,); 3. 分支结构和顺序结构的步骤以及相关的指令; 4. 常用的标志位状态及相应的作用; 实验思路: 在对题目进行分析后,分析出解题方法,并做出与实验思路相对应的程序框图。依照程序框图的内容输入相对应的代码,最终在调试代码后,发现并解决一系列的汇编语言错误。进一步优化算法。实验之前必须了解十进制、十六进制和ASCII码之间的转换。预习查表法相关命令,掌握顺序程序的结构,从键盘输入数据的命令及显示到屏幕上的命令。 实验一: 题目1:将程序编辑、汇编、连接并通过集成环境中的debug调试,观察运行结果;用E命令修改指定地址的数据,再用G命令执行程序查看变化,用A 命令将加法指令修改成减法指令,再将其编译运行,查看寄存器值变化的异同。 题目2:分别用DB、DW和DD数据段9H,0FAH,41H,27H,编译链接之后生成exe文件,再用debug的r命令找到数据段地址,用d命令指定数据段地址,观察汇编后在机器内部对应的存储情况。 实验二: 先设置数据段地址和堆栈段地址;设置堆栈段指针;读取一个字符然后存储在AL中;用BX来存储AL中字符对应的数值;将BX中的值作为偏移地址;并在数据段中查找对应字符串;最终输出结果结束程序。 实验三: 先初始化数据段地址与堆栈段地址;设置堆栈段指针;然后将数据段中的data1放入AL中;读取数据段中的data2并判断data2是否大于0;然后读取数

汇编语言程序设计方案考试考试集

汇编语言程序设计方案考试考试集第四章汇编语言程序设计习题集 一、单项选择题 1.用高级语言编写的程序()。 A.只能在基本种计算机上运行 B.无需经过编译或解释,即可被计算机直接执行 C.具有通用性和可移植性 D.几乎不占用内存空间 2.一般地,我们将计算机指令的集合称为()。A.机器语言 B.汇编语言 C.模拟语言 D.仿真语言 3.我们通常所说的“裸机”指的是()。 A.只装备有操作系统的计算机 B.不带输入输出设备的计算机 C.未装备任何软件的计算机 D.计算机主机暴露在外 4.计算机的软件系统一般分为()两大部分。 A.系统软件和应用软件 B.操作系统和计算机语言 C.程序和数据 D.DOS和Windows 5.计算机系统软件中的汇编程序是一种()。 A.汇编语言程序

B.编辑程序 C.翻译程序 D.将高级语言转换成汇编程序的程序 6.假设V1和V2是用DW定义的变量,下列指令中正确的是:() A.MOV V1,20H B.MOV V1,V2 C.MOV AL,V1 D.MOV2000H,V2 7.PC机所使用的标准键盘向主机发送的代码是() A.ASCII码 B.扫描码 C.BCD码 D.格雷码 8.8086CPU中断号为8的中断矢量存放在()。 A.0FFFFH:0008H B.0000H:0008H C.0000H:0020H D.0020H:0000H 9.已知变量VAR为字型,则TYPE VAR=()。 A.1 B.2 C.3 D.4 10.汇编语言源程序经MASM汇编后可直接生成的文件是()。

B..CRF C..EXE D..OBJ E..ASM F..MAP 11.段定义语句以(B)语句结束。 A.END B.ENDS C.ENDP D.ENDM 12.若主程序段中数据段名为DA TA,对数据段的初始化操作应为()。 A.MOV AX,DATA B.MOV AX,DA TA MOV ES,AX MOV DS,AX C.PUSH DS D.MOV DS,DATA 13..EXE文件产生在()之后。 A.汇编 B.编辑 C.用软件转换

汇编语言程序设计 实验1

汇编语言程序设计实验1——汇编程序与调试器的使用 一、实验目的 熟悉DOS操作系统环境下的汇编程序MASM的使用、掌握DEBUG的基本命令及其功能。 二、实验内容 1.编写一个小程序,从键盘接收一个大写字母,存放到指定的内存单元BUFF1,并转换其为对应的小写字母,存放到指定的内存单元BUF2中。上机编辑、汇编、连接并运行该程序。 2. 输入源程序、汇编、连接并执行相应程序,并用DEBUG 实现以下操作: (1)用反汇编命令查看相应程序的可执行语句序列,分析其与源程序的异同,查看相应程序占用内存单元的字节数。 (2)用数据查看命令查看执行前的数据单元的内容。 (3)分别用P命令和T命令逐步执行程序,分析这两种方式的区别,记录“转换为小写字母”指令执行后的状态字。 (4)查看程序执行后数据单元的内容。 (5)查看0000:0000 起始的32个单元的内容。 (6)用汇编命令编写一个简单加法程序“3+5=8”,加数和结果分别存在内存单元NUM1、NUM2、NUM3中。 三、实验要求 学生要提前做好相关内容的预习(包括源程序的分段组织、DEBUG的系列命令等),熟悉被调试的程序(学生应当在本实验中自行设计一些汇编语言程序,其目的是熟悉相关编程环境的特性),并对程序的测试/调试过程(包括所用的编程环境命令、DEBUG命令等)作出详细计划。 认真完成实验,正确记录各项数据,记录实验过程中出现的问题及其解决过程。 四、实验报告 写出各实验程序的测试/调试的详细过程(包括DEBUG命令的使用等),特别是要写出在DEBUG状态下编写、运行程序的过程。要系统给出各程序在测试/调试过程中所遇到的问题、解决问题的方法与途径。要对程序在测试/调试过程中的问题进行分析,对相关的执行结果进行分析。

汇编语言程序设计

实验四程序设计 一、实验目的 学习数据传送指令和算术运算指令的用法;掌握数据定义伪指令的格式,会用DEBUG 中的D命令观察DB、DW、DD存储数据的格式;熟悉汇编语言的基本框架,掌握编写汇编语言程序的基本方法。 二、实验题 1、已知当前数据段中DADT1和DADT2开始分别存放若干字节数据,数据个数相同,编制程序检查两数据块中数据是否相同,若相同,则在屏幕上显示1,否则显示0。 【参考程序如下】 DSEG SEGMENT DATA1 DB 'ABCDEFG3' DATA2 DB 'ABCDEF3G' CNT DW 8 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV DL,31H LEA SI,DATA1 LEA DI,DATA2 MOV CX,CNT DEC SI DEC DI AGAIN:INC SI INC DI MOV AL,[SI] CMP AL,[DI] LOOPZ AGAIN JZ DISP DEC DL DISP: MOV AH,2

INT 21H MOV AH,4CH INT 21H CSEG ENDS END START 阅读程序,理解循环程序结构及执行过程,并改成串指令实现。 2 编写程序,将00H~0FH共16个数写入内存3000H开始的连续16个存储单元中。 三、实验报告 写出程序清单,记录运行结果。 改写串指令实现: DSEG SEGMENT DATA1 DB'ABCDEFG3' DATA2 DB'ABCDEF3G' CNT DW8 DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV ES,AX MOV DL,31H LEA SI,DATA1 LEA DI,DATA2 MOV CX,CNT CLD

汇编语言程序设计——知识点-v3.0

第一章 1、什么是汇编语言? 2、汇编语言程序设计过程:编辑源程序,编译(汇编),连接,运行调试 3、汇编语言特点?与机器语言一一对应,直接操作硬件,高效率(空间和时间,运行速度快,目标代码短,占用存储空间少) 4、数制转换 第2章8086计算机组织结构 1、计算机硬件系统组成:CPU、存储器、输入输出设备。 2、CPU组成:运算器、控制器、寄存器,运算器和控制器由芯片设计时设计好,不可做任何改动,程序设计员仅能在程序里使用寄存器,寄存器都有相应的名字,如AX,能在程序里直接使用寄存器是汇编语言区别于高级语言的最重要特点,这样就可以直接控制硬件系统。 3、总线结构:数据总线、地址总线、控制总线。数据总线分8位、16位、32位和64位等,多少位机就是以数据总线来划分,比如8位机、32位机。8086机是16位机,但地址总线是20位,地址总线数量决定了内存寻址空间的大小,如8086有20位地址线,那么寻址空间是:220=210*1K=1M,8086最大寻址空间为1MB,即地址范围:00000H~FFFFFH。控制总线主要传送控制信息,如读写操作,读写操作的主体是CPU,读操作是指CPU从内存或外设读取数据,写操作是指CPU把数据写到内存或外设中。 4、存储器:存储器的最小单元是字节(Byte,由8个位组成),字节的多少就是存储器的容量。每一个字节单元都有一个唯一的编号,这个编号就是字节单元的地址,此地址就是物理地址,对于8086而言,编号的形式为:XXXXXH,如85421H。如果要读写存储器,必须知道某一个字节单元的地址。多个字节单元可以组合成更大的单元(数),比如2个字节单元组合成一个字(Word),4个字节单元组合成一个双字(Double Word)等,规定:这个组合后的大单元是以最小字节单元地址为自己的地址。如85421H字节单元内容为12H,85422H 字节单元内容为34H,那么以85421H地址的字单元的内容就是3412H。 地址取最小字节单元的地址为大单元的地址。 内容排序按照“高高低低”原则:高字节放在高地址里,低字节放在低地址里。 详细请参看2.3节(P30页) 5、8086CPU寄存器 (1)通用类:AX(AH,AL)、BX(BH,BL)、CX(CH,CL)、DX(DH,DL) (2)段寄存器类:CS、DS、ES、SS (3)与偏移地址相关类:SI、DI、SP、BP (4)特殊类:IP、FLAGS 所有寄存器都是16位大小,通用类的16位又可看成2个8位的寄存器组成,区分为高8位(High)和低8位(Low),因此取名为AH和AL,其他类似。 CS:存放代码段段地址,DS:存放数据段段地址,SS:存放堆栈段段地址,ES:存放数据附加段段地址,一般作为DS的辅助使用,比如在一段程序里需要用到2个不同数据段的数据时,其中一个数据段段地址存放在DS中,另一个存放在ES中。 SI、DI:一般用于变址寻址方式,如[BX+SI]、[BX+DI], SP:堆栈段中堆栈栈顶的偏移地址,不可修改,由SS:SP逻辑地址始终指向堆栈的栈顶。 详细参看2.3.2,P32页 BP:一般也用于堆栈,可以作为SP的备份,通常也是用SS:BP逻辑地址表示,BP可以随意修改,因此通过SS:BP可以访问堆栈的任何地方。此外,BP还与BX一样,可以作为基地址

汇编语言程序设计练习题

汇编语言程序设计练习题 一、字符与串处理类 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进制

汇编语言程序设计A卷

2011级 汇编语言程序设计 课程试题(A卷) 1.用汇编语言书写的程序叫做,MASM要求该文件的扩展名是,编写32位Windows应用程序应选择存储模型。2.汇编语言语句有两种,分别是和。3.除外设数据外的数据寻址方式有3类,分别称为、 和寻址。 4.进行Windows应用程序开发时,需要库文件,执行该应用程序时,则需要对应的库文件。 5.汇编语言与C和C++语言有两种混合编程方法,分别是和 。 6.IA-32处理器有个32位通用寄存器,有个段寄存器,段寄存器都是位的。 分数评卷人 二、判断题(每题1分,共10分) 1.Windows的模拟DOS环境与控制台环境是一样的。() 2.“TYPE DX”的结果是一个常量,等于2。()3.数据扩展的基本原则是位数加长,数值大小不变。() 4.指令的相对寻址都是近转移。()5.JA和JG指令的条件都是“大于”,所以是同一个指令的两个助记符。() 6.CALL指令的执行必然影响堆栈指针ESP。()

7.在宏定义中,LOCAL伪指令声明标识符;而在过程定义中,LOCAL 伪指令用于分配局部变量。()8.指令“OUT DX,AX”的两个操作数均采用寄存器寻址方式。() 9.MASM32软件包既支持32位图形界面应用程序的开发,也支持控制 台应用程序开发。()10.程序终止执行也就意味着汇编结束,所以两者含义相同。 () 分数评卷人 三、按下面要求写出相应的数据定义语句或汇 编指令(变量名可任意指定)(每小题2分, 共12分) 1.定义字符串变量:assembly language 2.定义20个未赋值的字变量 3.定义符号常量str,表示字符串assembly language 4.定义用十六进制数表示的双字变量:20 5.用寄存器EBX和ESI的基址变址寻址方式把存储器的一个双字与EAX寄存器的内容相加,并把结果送回存储器中。用一条汇编指 令完成该功能。 6.用一条汇编指令实现将寄存器EAX和标志位CF、OF同时清零。 分数评卷人 四、程序分析与阅读题(共 28分) 1.根据数据段定义的变量,分析下列指令的运行结果并填在空格里

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

【精品】汇编语言程序设计习题答案

钱晓捷新版汇编语言程序设计习题答案 第一章汇编语言基础知识 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 ⊕10011001(6)1011 ∨1001(7) 1。10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII 码为0dh、0ah对应的是什么字符? 1。11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1。12、简述Intel80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM—BIOS? 1。14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。

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