当前位置:文档之家› 汇编语言考试复习资料

汇编语言考试复习资料

汇编语言考试复习资料
汇编语言考试复习资料

第一章【课后习题】

1 用降幂法或除法将下列十进制数转换为二进制数和十六进制数:(1)369

(2)10000

(3)4096

(4)32767

2 将下列二进制数转换为十六进制数和十进制数:

(1)101101

(2)10000000

(3)1111111111111111

(4)11111111

3 将下列十六进制数转换为二进制数和十进制数:

(1)FA

(2)5B

(3)FFFE

(4)1234

4 完成下列十六进制数的运算:

(1)3A+B7

(2)1234+AF

(3)ABCD-FE

(4)7AB×6F

5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用是十六进制数表示其运算结果。

(1)(―85)+76

(2)85+(―76)

(3)85―76

(4)85―(―76)

(5)(―85)―76

(6)―85―(―76)

6 下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的带符号数时,它们所表示的十进制数是什么?

(1)D8

(2)FF

7 当1. 6题的两数被看作是用补码表示的无符号数时,它们所表示的十进制数是什么?

(1)D8

(2)FF

8 下列各数为十六进制表示的8位二进制数,请说明当它们被看作是用补码表示的数时,它们所表示的十进制数是什么?

(1)4F

(2)2B

(3)73

(4)59

9 当1. 8题的4个数被看作是字符的ASCII码时,它们所表示的字符是什么?

(1)4F

(2)2B

(3)73

(4)59

10 请写出下列字符串的ASCII码。

For example,

This is a number 3692.

答案

第1个空101110001B;171H

第2个空0011100010000B;710H

第3个空111111111111B;0FFFH

第4个空0111111111111111B;7FFFH 第5个空2DH;45

第6个空80H;128

第7个空0FFFFH;65535

第8个空0FFH;255

第9个空11111010B;25D

第10个空01011011B;91D

第11个空1111111111111110B;65534D 第12个空1001000110100B;4660D

第13个空F1H

第14个空12E3H

第15个空0AACFH

第16个空35325H

第17个空0F7H

第18个空9H

第19个空9H

第20个空0A1H

第21个空5FH

第22个空0F7H

第23个空-40

第24个空-1

第25个空216

第26个空255

第27个空8、79

第28个空43

第29个空115

第30个空89

第31个空O

第32个空+

第33个空s

第34个空Y

第10题46 6F 72 20 65 78 61 6D 70 6C 65 2C 0A 0D

F o r e x a m p l e ,54 68 69 73 20 69 73 20 61 20 6E 75 6D 62 65 72 20 33

36 39 32 2E

T h i s i s a n u m b e r 3 6 9 2

第二章【课后习题】

1 在8086微机的输入/输出指令中,I/O端口号通常是由DX寄存器提供的,但有时也可以在指令中直接指定00~FFH的端口号。试问可直接由指令指定的I/O端口数。

2 有两个16位字1EE5H和2A3CH分别存放在8086微机的存储器的

000B0H和000B3H单元中,请用图表示出它们在存储器里的存放情况。

3 8086微机的存储器中存放信息如下图所示。试读出30022H和30024H 字节单元的内容,以及30021H和30022H字单元的内容。

4 在实模式下,段地址和偏移地址为3017:000A的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002A和3010:007A呢?

5 如果在一个程序开始执行以前(CS)=0A7F0H(如十六进制数的最高位为字母,则应在其前加一个0),(IP)=2B40H,试问该程序的第一个字的物理地址是多少?

6 在实模式下,存储器中每一段最多可有10000H个字节。如果用调试程序Debug的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志OF、SF、ZF、CF的值。C>debug

-r

AX=0000 BX=0000 CX=0079 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=10E4 ES=10F4 SS=21F0 CS=31FF IP=0100 NV UP DI PL NZ NA PO NC

7 下列操作可使用哪些寄存器?

(1) 加法和减法

(2) 循环计数

(3) 乘法和除法

(4) 保存及使用段地址

(5) 表示运算结果为0

(6) 将要执行的指令地址

8 那些寄存器可以用来指示存储器地址?

9 下面几种说法中唯一正确的是哪一种?

A、单独用16位地址线提供的地址可以访问1M字节存储器空间。

B、数据段段首址可以是00000 ~ FFFFF中任意一个地址。

C、用WS、EDIT等编辑软件可以编写汇编程序。

D、堆栈段段首地址可以是FFFE0H。

答案:

1、答:直接由指令指定的I/O端口数为256个。

2、答:

3、答:字节单元:(30022H)= AB H,(30024H)= EF H

字单元:(30021H)= AB34 H,(30022H)= CDAB H。

4、答:3017:000A的存储单元的物理地址是3017AH,

3015:002A的存储单元的物理地址是3017AH,

3010:007A的存储单元的物理地址是3017AH。

5、答:该程序的第一个字的物理地址是0AAA40H。

6、答:条件标志OF、SF、ZF、CF的值依次分别为0、0、0、0。

7、答:(1)AX、BX、CX、DX、AH、AL、BH、BL、CH、CL、DH、DL、SP、BP、DI、SI(注意:学生尽量不要用SP参与加减运算)(2)CX

(3)DX、AX、AH、AL

(4)CS、DS、ES、SS

(5)FLAGS

(6)IP

(7)SS、SP、BP

8、答:可以用来指示存储器地址的寄存器有BX、SP、BP、DI、SI、IP、CS、DS、ES、SS。

9、答:唯一正确的是D。

第三章【课后习题】

1 试根据以下要求写出相应的汇编语言指令。

(1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。(2)用寄存器BX和SI 的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。

(3)用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。

(4)用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回该存储单元中。

(5)把数0B5H与(AL)相加,并把结果送回AL中。

2 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式:

(1)寄存器间接寻址

(2)寄存器相对寻址

(3)基址变址寻址

3 现有(DS)=2000H, (BX)=0100H, (SI)=0002H, (20100)=12H, (20101)=34H, (20102)=56H, (20103)=78H, (21200)=2AH, (21201)=4CH, (21202)=B7H, (21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。

(1)MOV AX, 1200H

(2)MOV AX, BX

(3)MOV AX, [1200H]

(4)MOV AX, [BX]

(5)MOV AX, 1100[BX]

(6)MOV AX, [BX][SI]

(7)MOV AX, 1100[BX][SI]

4 设当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H 单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位变量的偏移地址和段地址,试写出把该变量装入AX的指令序列,并画图表示出来。

5 在0624单元内有一条二字节JMP SHORT OBJ指令,如其中位移量

为(1)27H, (2)6BH, (3)0C6H, 试问转向地址OBJ的值是多少?

6 在ARRAY数组中依次存储了七个字数据,紧接着是名为ZERO的字单元,表示如下:

ARRAY DW 23, 36, 2, 100, 32000, 54, 0

ZERO DW ?

(1)如果BX包含数组ARRAY的初始地址,请编写指令将数据0传送给ZERO单元。

(2)如果BX包含数据0在数组中的位移量,请编写指令将数据0传送给ZERO单元。

7 如TABLE为数据段中0032单元的符号名,其中存放的内容为1234H,试问以下两条指令执行完后,AX寄存器的内容是什么?

(1)MOV AX, TABLE

(2)LEA AX, TABLE

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

TABLE DW 10, 20, 30, 40, 50

ENTRY DW 3

MOV BX, OFFSET TABLE

ADD BX, ENTRY

MOV AX, [BX]

9 下列ASCII码串(包括空格符)依次存储在起始地址为CSTRING的

字节单元中:

CSTRING DB 'BASED ADDRESSING'

请编写指令将字符串中的第1个和第7个字符传送给DX寄存器。

10 已知堆栈段寄存器SS的内容是0FFA0H,堆栈指针寄存器SP的内容是00B0H,先执行两条把8057H和0F79H分别进栈的PUSH指令,再执行一条POP指令。试画出堆栈区和SP的内容变化过程示意图。

11 设(DS)=1B00H, (ES)=2B00H, 有关存储单元的内容如图所示。请写出两条指令把字变量X装入AX寄存器。

12 求出以下各十六进制数与十六进制数62A0之和,并根据结果设置标志位SF、ZF、CF和OF的值。

(1)1234

(2)4321

(3)CFA0

(4)9D60

13 求出以下各十六进制数与十六进制数4AE0的差值,并根据结果设置标志位SF、ZF、CF和OF的值。

(1)1234

(2)5D90

(3)9090

(4)EA04

14 写出执行以下计算的指令序列,其中X、Y、Z、R、W均为存放16

位带符号数单元的地址。

(1)ZW+(Z-X)

(2)ZW-(X+6)-(R+9)

(3)Z(W*X)/(Y+6), R余数

15 写出对存放在DX和AX中的双字长数求补的指令序列。

16 试编写一个程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。

17 写出完成以下操作的程序段。假设各变量的值均为用压缩BCD码表示的二位十进制数。

(1)UV+(S-6)

(2)U(X+W)-(Z-U)

18 假设(BX)=0E3H, 变量V ALUE中存放的内容为79H,确定下列各条指令单独执行后BX的值。

(1)XOR BX, V ALUE

(2)AND BX, V ALUE

(3)OR BX, VALUE

(4)XOR BX, 0FFH

(5)AND BX, 0

(6)TEST BX, 01H

19 试分析下面的程序段完成什么功能?

MOV CL, 04

SHL DX, CL

MOV BL, AH

SHL AX, CL

SHR BL, CL

OR DL, BL

20 试写出程序段把DX, AX中的双字右移四位。

21 假设程序中数据定义如下:

NAME DB 30 DUP ( ? )

ADDR DB 9 DUP ( ? )

ARRAY DB 132 DUP ( ? )

分别编写下列程序段:

(1)用空格符清除ARRAY域。

(2)在ADDR中查找第一个'* '。

(3)如果NAME域中全是空格符时,填入' $ '。

(4)把NAME移到ARRAY的前30个字节中,把ADDR移到ARRAY 的后9个字节中。

22 试分析下列程序段:

ADD AX, BX

JNO L1

JNC L2

SUB AX, BX

JNC L3

JNO L4

JMP SHORT L5

如果AX和BX的内容给定如下:

AX BX

(1)147B 80DC

(2)B568 54B7

(3)42C8 608D

(4)D023 9FD0

(5)94B7 B568

问该程序执行完后,程序转向哪里?

23 假设X和X+2单元的内容为双精度数p,Y和Y+2单元的内容为双精度数q,X和Y 为低位字,试说明下列程序段做什么工作?

MOV DX,X+2

MOV AX,X

ADD AX,X

ADC DX,X+2

CMP DX,Y+2

JL L2

JG L1

CMP AX,Y

JBE L2

L1: MOV AX,1

JMP SHORT EXIT

L2: MOV AX,2

EXIT: INT 20H

24 在下列程序的括号中分别填入如下指令:

(1)LOOP L20

(2)LOOPE L20

(3)LOOPNE L20

试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么?

TITLE https://www.doczj.com/doc/d6629923.html,

CODESG SEGMENT

ASSUME CS:CODESG, DS:CODESG, SS:CODESG

ORG 100H

BEGIN: MOV AX,01

MOV BX,02

MOV DX,03

MOV CX,04

L20:

INC AX

ADD BX, AX

SHR DX,1

( )

RET

CODESG ENDS

END BEGIN

25 考虑以下的调用序列:

(1)MAIN调用NEAR的SUBA过程(返回的偏移地址为0400);(2)SUBA调用NEAR的SUBB过程(返回的偏移地址为0A00);(3)SUBB调用FAR的SUBC过程(返回的段地址为B200,偏移地址为0100);

(4)从SUBC返回SUBB;

(5)SUBB调用NEAR的SUBD过程(返回的偏移地址为0C00);(6)从SUBD返回SUBB;

(7)从SUBB返回SUBA;

(8)从SUBA返回MAIN;

(9)从MAIN调用SUBC (返回的段地址是1000,偏移地址是0600);请画出每次调用及返回时的堆栈状态。

答案:

1、答:

(1)ADD DX, BX

(2)ADD AL, [BX][SI]

(3)ADD [BX+0B2H], CX

(4)ADD [0524H], 2A59H

(5)ADD AL, 0B5H

2、答:

(1)MOV BX, OFFSET BLOCK + 0AH MOV DX, [BX]

(2)MOV BX, 0AH

MOV DX, BLOCK[BX]

(3)MOV BX, OFFSET BLOCK

MOV SI, 0AH

MOV DX, [BX][SI]

3、答:

(1)1200H

(2)0100H

(3)4C2AH

(4)3412H

(5)4C2AH

(6)7856H

(7)65B7H

4、答:

MOV BX, 2000H

LES DI, [BX]

MOV AX, ES : [DI]

5、答:

(1)064DH

(2)0691H

(3)05ECH

6、答:

(1)MOV AX, [ BX+0CH ]

MOV ZERO, AX

(2)MOV AX, ARRAY[BX] MOV ZERO, AX

7、答:

(1)(AX)= 1234H

(2)(AX)= 0032H

8、答:

(AX)= 1E00H

9、答:

LEA BX, CSTRING

MOV DL, [BX]

MOV DH, [BX+6]

10、答:

11、答:

LES BX, [2000]

MOV AX, ES:[BX]

12、答:

(1)74D4H SF=0 ZF=0 CF=0 OF=0 (2)A5C1H SF=1 ZF=0 CF=0 OF=1 (3)3240H SF=0 ZF=0 CF=1 OF=0 (4)0000H SF=0 ZF=1 CF=1 OF=0 13、答:

(1)0C754H SF=1 ZF=0 CF=1 OF=0 (2)12B0H SF=0 ZF=0 CF=0 OF=0 (3)45B0H SF=0 ZF=0 CF=0 OF=1 (4)9F24H SF=1 ZF=0 CF=0 OF=0 14、答:

(1)MOV AX, Z

SUB AX, X

汇编语言程序设计期末考试试卷及参考答案

【汇编语言程序设计】期末考试-试卷及参考答案

执行上述两条指令后,正确的结果是( B )。 A.(AX)=1001H; B.(AX)=0FFFH; C.(AX)=1000H; D.(AX)=0111H。 6.串指令中的目的操作数地址一定是由____A_ _提供。()A.ES:[DI] ; B.SS:[BP]; C.DS:[SI] ; D.CS:[IP]。 7.将DX的内容除以2,正确的指令是( C )。 A.DIV 2 ; B.DIV DX,2 ; C.SAR DX,1; D.SHL DX,1。 8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。 A.目标程序; B.汇编语言源程序; C.可执行程序; D.汇编程序。 9.用一条指令仅实现将AX←BX+SI的方法是( D )。 A.XCHG AX,[BX][SI] ; B.MOV AX,[BX+SI]; C.LEA AX,BX[SI] ; D.LEA AX,[BX][SI]。 10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。 A.1FFFH; B.1998H; C.1FFEH; D.2002H。 2. C 二、指出下列指令的出错原因,并改正。(每小题2分,共12分) 1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX 2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX 3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为 MOV BX,DS ADD AX,BX 4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为 MOV SI,CX TEST BX,[SI] 5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX] SUB AX,[BP+SI] 或:MOV AL,[BX] SUB AL,[BP+SI] 6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分) 1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并

最新-单片机原理及应用期末考试必考知识点重点总结 精品

单片机概述 单片机是微单片微型计算机的简称,微型计算机的一种。 它把中央处理器(CPU),随机存储器(RAM),只读存储器(ROM),定时器\计数器以及I\O 接口,串并通信等接口电路的功能集成与一块电路芯片的微型计算机。 字长:在计算机中有一组二进制编码表示一个信息,这组编码称为计算机的字,组成字的位数称为“字长”,字长标志着精度,MCS-51是8位的微型计算机。 89c51 是8位(字长)单片机(51系列为8位) 单片机硬件系统仍然依照体系结构:包括CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、输入设备和输出设备、内部总线等。 由于一块尺寸有限的电路芯片实现多种功能,所以制作上要求单片机的高性能,结构简单,工作可靠稳定。 单片机软件系统包括监控程序,中断、控制、初始化等用户程序。 一般编程语言有汇编语言和C语言,都是通过编译以后得到机器语言(二进制代码)。 1.1单片机的半导体工艺 一种是HMOS工艺,高密度短沟道MOS工艺具有高速度、高密度的特点; 另一种是CHMOS工艺,互补金属氧化物的HMOS工艺,它兼有HMOS工艺的特点还具有CMOS的低功耗的特点。例如:8181的功耗是630mW,80C51的功耗只有110mW左右。1.2开发步5骤: 1.设计单片机系统的电路 2.利用软件开发工具(如:Keil c51)编辑程序,通过编译得到.hex的机器语言。 3.利用单片机仿真系统(例如:Protus)对单片机最小系统以及设计的外围电路,进行模拟的硬软件联合调试。 4.借助单片机开发工具软件(如:STC_ISP下载软件)读写设备将仿真中调试好的.hex程序拷到单片机的程序存储器里面。 5.根据设计实物搭建单片机系统。 2.1MCS-51单片机的组成:(有两个定时器) CPU(进行运算、控制)、RAM(数据存储器)、ROM(程序存储器)、I/O口(串口、并口)、内部总线和中断系统等。 工作过程框图如下:

汇编语言程序设计 知识点 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一样,可以作为基地址

完整word版,汇编语言期末考试试题及

汇编语言模拟试题及答案 一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.指令JMP FAR PTR DONE属于参考答案为:C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS 指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP 指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用 JAE/JNB指令 [解析]对于无符号数和有符号数的比较都采用CMP指令; CMPS指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。

3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.12CSBH B.12B6BH C.12C59H D.12BFEH [解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+(128-1)×2 即12ABH×10H+00ABH+(128-1)×2=12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如 DEC BYTE PTR [BX]或DEC WORD PTR [BX] 但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。5.在进行二重循环程序设计时,下列描述正确的是参考答案为:AA.外循环初值应置外循环之外;内循环初值应置内

汇编语言期末考试试题

一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.CPU要访问的某一存储单元的实际地址称() A.段地址B.偏移地址 C.物理地址D.逻辑地址 2.某存储单元的物理地址是12345H,可以作为它的段地址有() A.2345H B.12345H C.12340H D.1234H 3.执行后使BX=0的同时也使CF=0,OF=0的指令是() A.XOR BX,BX B.OR BX,BX C.AND BX,BX D.CMP BX,BX 4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是() A.CX≠0且ZF=1B.CX≠0且ZF=0 C.CX≠0或ZF=1D.CX≠0或ZF=0 5.在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是() A.DAA校正指令的功能已自动加在AH中 B.进位值在AF中,校正后根据AF内容再加在AH中 C.进位值在CF中,校正后根据CF内容再加在AH中 D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中 6.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 7.在执行下列指令时,需要使用段寄存器DS的指令是() A.STOSW B.ADD AL,CL C.NEG BX D.INC DA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是()A.ADD BH,01H B.OR BH,01H C.XOR BH,01H D.TEST BH,01H 9.完成对CL寄存器的内容乘以4的正确操作是() A.ROL CL,1B.MUL4 ROL CL,1 C.SHL CL,1D.MOV CL,2 SHL CL,1SHL CL,CL 10.下面各传送指令中,正确的是() A.MOV[DI],[SI]B.MOV[DX+DI],AL C.MOV WORD PTR[BX],0100H D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法() A.名字的第一个字符可以是大写英文字母及小写英文字母 B.名字的第一个字符可以是字母、数字及、@、_ C.名字的有效长度≤31个字符 D.在名字中不允许出现$

《汇编语言程序设计》期末复习题答案_57431457509182192

《汇编语言程序设计》复习题(答案指导/带页号)一、选择(30题) 1.下列是8位带符号二进制数的补码,其中最大的是( B )。参见P22 A、10001000 B、00000001 C、00000000 D、11111111 2.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现 ( C )参见P157、158 A、占内存空间小,但速度慢 B、占内存空间相同,速度快 C、占内存空间大,但速度快 D、占内存空间相同,速度慢 3.数据定义为:EE DB 3,4 CC DW 3456H,6789H 执行指令“MOV CX,WORD PTR EE+1”后,(CX)= ( B )参见P27、63、64 A、0304H B、5604H C、3404H D、3456H 4.有如下指令序列: MOV AL,95H MOV CL,2 SAR AL,CL 上述指令序列执行后,AL的内容是( D )参见P95 A、05H B、25H C、24H D、0E5H 5.设A=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( D )参见P23、15 A、A>B>C B、 A

汇编语言程序设计知识点

汇编语言程序设计知识点 第一章基础知识 (1)正负数的补码表示, 掌握计算机中数和字符的表示; 1、假设机器字长为8位,[+3]补 =00000011B,[-3]补= FD H 。 2、十六进制数0F8H表示的十进制正数为 248 ,表示的十进制负数为 -8。 3、8位二进制数被看成是带符号补码整数时,其最小值是 -128,最大值是 127 。 4、计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是ASCII 码,称为美国信息交换标准码。 第二章80x86计算机组织 (1)中央处理机CPU的组成和80x86寄存器组,重点:专用寄存器,段寄存器 1、IP寄存器中保存的是?下一条指令的首地址 2、FLAGS标志寄存器中共有几位条件状态位?6位 3、有几位控制状态位?3位 4、标志寄存器分为哪2类?条件码,控制 5、哪个标志位用来控制可屏蔽中断请求是否被CPU响应?IF 6、键盘I/O、显示I/O和打印I/O分别对应16、10和17号中断。 (2)存储单元的地址和内容,存储器地址的分段,实模式下逻辑地址、物理地址的表示。 1、如果SS=6000H,说明堆栈段起始物理地址是60000H。 2、已知字节(00018H)=14H,字节(00017H)=20H,则字(00017H)为1420H 。 3、如果数据段中一个内存单元对应的物理地址为3F756H,(DS)=3F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元756H。 4.如果(SI)=0088H,(DS)=5570H,对于物理地址为55788H的内存字单元,其内容为0235H,对于物理地址为5578AH的内存字单元,其内容为0E60H,那么执行指令LDS SI,[SI]以后,(SI)= 0235H ,(DS)= 0E60H . 第三章80x86的指令系统和寻址方式 (1)与数据有关的寻址方式(立即寻址方式,寄存器寻址方式,直接寻址方式,寄存器间接寻址方式,寄存器相对寻址方式,基址变址寻址方式,相对基址变址寻址方式)和与转移地址有关的寻址方式(段内直接寻址,段内间接寻址,段间直接寻址,段间间接寻址).数据传送指令(通用数据传送指令、累加器专用传送指令、输入输出指令)、算术指令(加法指令、减法指令(*加减指令对4个标志位的影响[of,cf,sf,zf])、乘法指令(*乘法指令的要求:目的操作数必须是累加器)、除法指令(*被除数在累加器中,除法指令执行完以后,商和余数在?))、逻辑指令(逻辑运算指令(*XOR,AND,OR,TEST指令及指令执行后对标志位的影响)、移位指令)、串处理指令(与REP相配合工作的MOVS、STOS、LODS指令,与REPE/REPZ和REPNE/REPNZ

汇编语言期末考试试题及答案

汇编语言模拟试题及答案 一,单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20 分) 1.指令JMP FAR PTR DONE 属于参考答案为:C A .段内转移直接寻址 B ?段内转移间接寻址 C .段间转移直接寻址 D ?段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A ?对两个无符号数进行比较采用CMP 指令,对两个有符号数比较用CMPS 指令 B ?对两个无符号数进行比较采用CMPS 指令,对两个有符号数比较用CMP 指令 C .对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令 D .对无符号数条件转移采用JGE/JNL 指令,对有符号数条件转移用JAE/JNB 指令 [解析]对于无符号数和有符号数的比较都采用CMP 指令; CMPS 指令是串比较指令; 对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转 移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH ,请给出这个数 据区最末一个字单元的物理地址是参考答案为:C A . 12CSBH B . 12B6BH C. 12C59H D . 12BFEH [解析]末字与首字相隔(128- 1 =) 127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+( 128 —1) >2 即12ABHX 10H + OOABH +( 128 —1) X2 = 12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A . MOV AL ,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D . MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的 [BX] ,没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C 中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A .外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B ?外循环初值应置外循环之内;内循环初值应置内循环之内 C ?内、外循环初值都应置外循环之外

汇编语言期末试题

一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) 1.指令JMP FAR PTR DONE属于参考答案为:C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址 [解析]略 2.下列叙述正确的是参考答案为:C A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令 B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令 C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比较都采用CMP指令; CMPS指令是串比较指令; 对两个有符号数的条件转移指令应是:JAE、JNB、JBE、JNA; 对两个无符号数的条件转移指令应是:JGE、JNL、JLE、JNG。 3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.12CSBH B.12B6BH C.12C59H D.12BFEH [解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: 首字单元的物理地址+(128-1)×2 即12ABH×10H+00ABH+(128-1)×2=12C59H。 4.在下列指令的表示中,不正确的是参考答案为:C A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL [解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或DEC WORD PTR [BX] 但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。 5.在进行二重循环程序设计时,下列描述正确的是参考答案为:A A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外 D.内、外循环初值都应置内循环之外,外循环之内 [解析]循环参数置初值,应在进入循环以前给出。

大学计算机基础 重点笔记

大学计算机基础 重点笔记 工商管理一班 郑沛琪 1. 现代计算机发展历程: ①第一代电子管计算机(1946 EMIAC ,标志着现代计算机的诞生), ②第二代晶体管计算机, ③第三代集成电路计算机, ④第四代(超)大规模集成电路计算机(1981年IBM 推出PC ) 2. 计算机系统:包括硬件和软件两个部分。 硬件:运算器、控制器、存储器、输入设备、输出设备。(或:CPU 、存储器、I/O 设备) 软件 3. 存储器:包括主存(内存)和辅存(外存)两种。 内存:①特点:相对快、小、带电储存(易失性) ②举例:CPU 内存元件、内存条、高速缓存 外存:①特点:相对慢、大、不带电储存 ②举例:硬盘、光盘、MP3(4,5)、U 盘、磁盘等 4. ROM (只读存储器)与RAM (可读写存储器) 5. (1)键盘键区分布 (2)正确的打字方法 (3)一些键的描述: 例如:组合键 Ctrl ,Alt ; 上档键 Shift ; 奇偶键 Num Lock ,Caps Lock, Insert (插入/替换) 6. 显示器 7. 打印机 击打式打印机 例如:点阵式,高速宽行 非击打式打印机 例如:喷墨,激光 8. 总线:各种公共信号线的集合。 AB :地址总线—传递地址功能 DB :控制总线—传送控制信号和时序信号 CB :数据总线—传递数据信息 9. 软件系统 (1)系统软件:OS (操作系统),DVMS (数据库管理系统) (2)应用软件 10. 计算机病毒 (1)计算机病毒的特点(性征):破坏性、传染性、潜伏性、隐蔽性 (2)计算机病毒的分类:根据其对计算机和用户使用的危害/干扰程度分为良性病毒、恶性病毒两种。 11. 计算机的数字和单位 系 统 总 线 C P U AB DB CB RAM ROM I/O 接口 外设

汇编语言期末试卷复习(附答案)

选择题 1. 已知X=78,Y= -83则[X+Y]补=() A.0F5H B.0A1H C.0FBH D.65H 2. MOV AX, ES:COUNT[DI] 源操作数的寻址方式是() A.基址寻址 B.立即寻址 C.变址寻址 D.基址变址寻址 3. 指令MOV BX, MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为() A.17500H B.16500H C.14500H D.13500H 4. 下列四组寄存器中,在段内寻址时可以提供偏移地址的寄存器组是() A.AX,BX,CX,DX B.BP,SP,IP,CS C.BX,BP,SI,DI D.BH,BL,CH,CL 5. 当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是() A. 表示结果中含1的个数为偶数 B. 表示结果中含1的个数为奇数 C. 表示该数为偶数 D. 表示结果中低八位含1的个数为偶数 6. 下列传送指令中,有语法错误的指令是()。 A.MOV CS,AX B.MOV DS,AX C.MOV ES,AX D.MOV SS,AX 7. MOV SP,3210H PUSH AX执行上述指令序理后,SP寄存器的值是()。 A.3211H B. 320EH C.320FH D. 3212H 8. 设(DH)=20H,执行NEG DH指令后,正确的结果是() A.(DH)=20H CF=1 B.(DH)=20H CF=0 C.(DH)=0E0H CF=0 D.(DH)=0E0H CF=1 9. 执行下面指令序列后,结果是() MOV AL,82H CBW A.AX=0FF82H B.AX=8082H C.AX=0082H D.AX=0F82H

汇编语言学习笔记之通用寄存器

汇编语言学习笔记之通用寄存器 从昨天开始,正式拉开了学习汇编语言的序幕,对于汇编语言的一些特点以及数据的表示及类型做了一番了解,由于这些东西每一种语言里都要介绍,而且一时半会也真弄不太明白它们的具体使用,也就粗略的看了一下,留待在今后的学习中结合实例加以体会吧。 而通用寄存器应该说是CPU内部重要的数据存储资源,学习汇编语言必须要掌握清它们的功能。因此汇编语言学习的第一篇学习笔记就从通用寄存器开始了。以下内容摘自汇编教程中。 寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。 寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。 另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。有关“寄存器的分配策略”在后续课程《编译原理》中会有详细的介绍。 由于16位/32位CPU是微机CPU的两个重要代表,所以,在此只介绍它们内部寄存器的名称及其主要功能。 1、16位寄存器组 16位CPU所含有的寄存器有: 4个数据寄存器(AX、BX、CX和DX), 2个变址和指针寄存器(SI和DI), 2个指针寄存器(SP和BP) 4个段寄存器(ES、CS、SS和DS), 1个指令指针寄存器(IP), 1个标志寄存器(Flags) 2、32位寄存器组 32位CPU除了包含了先前CPU的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:FS 和GS。 32位CPU所含有的寄存器有: 4个数据寄存器(EAX、EBX、ECX和EDX), 2个变址和指针寄存器(ESI和EDI), 2个指针寄存器(ESP和EBP) 6个段寄存器(ES、CS、SS、DS、FS和GS),

汇编语言部分知识点整理

8大通用寄存器: EAX累加器常用、放数据 EBX基址寄存器常用、放地址 ECX计数器少用、多用于循环操作、控制循环次数egloop EDX数据寄存器常用!放数据(要输出的字符串地址放在DX、字符的ASCII码放在DL里ESI 源变址寄存器放源操作数(数组或字符串)的地址即指向他 EDI目的变址寄存器放目的操作数(数组/字符串)的地址即指向他 EBP 基址指针寄存器一般不用,指向堆栈区域的数据,主要用于在子程序中访问通过堆栈传递的参数和局部变量 ESP堆栈指针寄存器指向栈顶的数据,在涉及堆栈操作的指令中自加自减,一般不能自主变化。 6大段寄存器: CS 代码段,存放程序中的指令代码 SS 堆栈段,指明程序使用的堆栈区域 DS 数据段,存放当前运行程序所用的数据 ES 附加数据段特别的:专为处理数据串设计的串操作指令必须使用附加数据段作为其目的操作数的存放区域。 FS 附加数据段 GS 附加数据段 另外两个常用寄存器: FLAGS状态寄存器:CF(进位)ZF(零)OF(溢出)PF(奇偶)SF(符号) AF(调整一般不用)(DF IF) IP 16位(EIP 32位)指令指针寄存器,专门用来存放将要执行的指令在主存中的位置。特别的EIP有自动增量功能。一般不能改,不可中断。但可以调整其指令执行顺序实现循环 MASM操作符:对常量、变量、地址等进行操作的关键字。 Eg:+ - * / offset(取得变量的偏移地址) 程序模板: ;example.asm in DOS .model small .486 .stack (可以没有) .data (可以没有) ……;数据定义eg:msg db ‘hello,Sarah!54581415’ .code ;定义代码段 .startup ;程序执行开始,同时设置数据段寄存器DS指向程序的数据段 ……;主程序eg:mov dx,offset msg ……等等 …… …… .exit ;程序执行结束,返回DOS ……;子程序(可以没有) .end ;汇编结束

汇编语言平时练习(判断题)

假设存储器中从7462H单元开始的四个相邻字节单元中的容依次是32H,46H,52H,0FEH,则存放字数据0FE52H的字地址是7465H。 错误 4.知识点:0303(80x86的指令系统) MOV指令不影响标志位。 正确 5.知识点:0303(80x86的指令系统) 无条件转移指令对标志位无影响,而条件转移指令对标志位有影响。 正确 6.知识点:0303(80x86的指令系统) 指令IN AL,DX是合法的指令。 正确 7.知识点:0303(80x86的指令系统) 当运算结果的低8位中有偶数个1 时, 奇偶标志位PF被置为1。 正确 9.知识点:0301 (80x86的寻址方式) 可以将一个存储器操作数与另一个存储器操作数相加。 错误 10.知识点:0303(80x86的指令系统) 在“IN AL,端口地址”指令中,端口地址指定了某个外部设备接口的I/O地址,它实际上是一个立即数,其围为0~65535。 答案:错误 11.知识点:0401(汇编程序功能) 汇编程序和汇编语言源程序是不同的概念。 答案:正确 12.知识点:0301 (80x86的寻址方式) 相对于某起始地址的偏移量称为偏移地址。 答案:正确 13.知识点:0303(80x86的指令系统) 只能使用PUSH,POP类的指令对堆栈段的容进行操作。 14.知识点:0301 (80x86的寻址方式) 立即数寻址方式不能用于目的操作数字段。 错误 15.知识点:0203(中央处理机) BP是堆栈栈顶指针寄存器。 错误

存中字单元的地址必须是偶数地址。 答案:错误 17.知识点:0303(80x86的指令系统) PUSH AL。 正确 19.知识点:0303(80x86的指令系统) SHR AX,CX。 正确 20.知识点:0401(汇编程序功能) 汇编程序是用汇编语言编写的汇编语言源程序。 答案:错误 22.知识点:0301 (80x86的寻址方式) 不能给段寄存器进行立即数方式赋值。 正确 23.知识点:0303(80x86的指令系统) 串操作指令一般用CX存放长度。 错误 24.知识点:0204(存储器) 因为有段寄存器,所以存储器要分段。 答案:错误 25.知识点:0303(80x86的指令系统) 逻辑右移1位和算术右移1位的效果是一样的。 答案:错误 26.知识点:0402(伪操作) 在变量定义是,可以通过使用ORG伪指令指定变量在段中存储时的偏移量。 正确 27.知识点:0303(80x86的指令系统) 指令SHR AX,4可以将AX的容逻辑右移4位。 答案:错误 28.知识点:0303(80x86的指令系统) CMP AX,BX执行的操作时(AX)-(BX),但结果不保存,只改变标志寄存器中标志位的值。正确 29.知识点:0402(伪操作) ASCII DW ‘ABCD’。 答案:错误 30.知识点:0303(80x86的指令系统) MOV SI,[SI]。

南华大学级汇编期末考试试卷

南华大学2010–2011学年度第2 学期 汇编与接口技术 课程考试试卷(A卷、2010年级) ( 适用专业:计算机科学与技术) 考试日期:2012年6月11 日 考试类别:考试 考试时间:120分 一、填空题:(每空2 分,共 20 分) 1、8086的地址总线为__ _位。 2、DQ 伪指令中定义的每个操作数占_____ ___字节。 3、设DS=3A4FH ,SI =3200,指令M OV A X,[SI]中源操作数的物理地址是 _。 4、?在8086微机的输入/输出指令中,I/O端口号通常是由DX 寄存器提供的,但有时也可以在指令中直接指定端口号。可直接由指令指定的I /O 端口数有__ __个。 5、在串操作指令CMPS B执行时,用于目的地址的寄存器是______________。 6、设S S=2000H ,SP=0100H,AX=BX =1000H,顺序执行P USH A X后,SP =___________。 7、循环指令L O OP NZ终止循环的条件是CX=0或 。 8、语句B UF DW 10 DUP(3 DUP(2,10H),3,5)经过汇编后,为变量BUF 分配的存储单元字节数是 。

9、把0FFH看成字节有符号数的十进制数是________,看成字节无符号数的十进制数是_______。 二、选择题:(每题 2 分,共30 分) 1、堆栈指针寄存器是( )。 A、IP B、SP C、BP D、PSW 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( )。? A、名字项 B、操作项 C、操作数项 D、注释项 3、下面的数据传送指令中,错误的操作是( )。 A、MOV [BX+SI],1000H B、MOV DS,AX C、MOV CX,1000H D、MOV 1000H,AX 4、设AH=0,AL=03H,BL=08H,执行指令ADD AL,BL/AAA之后,其结果应是( )。 A、AH=01,AL=01 B、AH=1 AL=11 ?C、AH=0 AL=0BH D、 AH=0 AL=01 5、在串操作指令前使用重复前缀指令REPNE,终止串的重复操作条件是()。 ① CX=0且ZF=0 ② CX=0且ZF=1 ③ CX=0或ZF=0 ④CX=0或ZF=1 6、下面指令序列测试BH中的数是否为偶数,若为偶数则转移至K1处,横线处的指令应为( )。 TEST BH,01H _____A____K1 A、JNE B、JZ C、JS D、JC 7、在汇编语言程序的开发过程中使用宏功能的顺序是( )。 A、宏定义,宏调用 B、宏定义,宏展开 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 8、编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令

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

汇编语言程序设计期末考试题 学院(系):学号:姓名:计分: 一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号 内。每小题1分,共10分) 1.CPU发出的访问存储器的地址是( ) A.物理地址 B.偏移地址 C.逻辑地址 D.段地址 2.将高级语言的程序翻译成机器码程序的实用程序是( ) A.编译程序 B.汇编程序 C.解释程序 D.目标程序 3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( ) A.字 B.双字 C.字节 D.四字 4.在下列语句中,BUFFER称为( ) BUFFER DB 01H,0AH A.符号 B.变量 C.助记符 D.标号 5.串操作指令中,源串操作数的段地址一定在( )寄存器中。 A. CS B. SS C. DS D. ES 6.使计算机执行某种操作的命令是( ) A.伪指令 B.指令 C.标号 D.助记符 7.将数据5618H存放在存储单元中的伪指令是( ) A. DATA1 DW 1856H B. DATA1 DB 18H,56H C. DATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H 8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=( ) A. 1400H B. 77F8H C. 0000H D. 0FFFFH 9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普 遍采用的是( )码。 A. BCD码 B.二进制码码 D.十六进制码 10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语 言称为( ) A.汇编语言 B.高级语言 C.机器语言 D.低级语言 二、填空题(每空1分,共20分) 1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。 2.通常所说的计算机系统包括________和________两大部分。 3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、 ________、________。 4.现有AX=2000H, BX=1200H, DS=3000H, DI=0002H, (31200H)=50H, (31201H)=02H, (31202H)=40H, 请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。 A.ADD AX,1200H;问AX=________H,ZF=________ B.SUB AX,BX;问AX=________H,ZF=________

《汇编语言》学习笔记(清华大学 王爽)

清华大学《汇编语言》(王爽)读书笔记 第一章基础知识 ◎汇编语言由3类指令组成 汇编指令:机器码的助记符,有对应机器码。 伪指令:没有对应机器码,由编译器执行,计算机并不执行 其他符号:如+-*/,由编译器识别,没有对应机器码 ◎一个CPU有n根地址线,则可以所这个CPU的地址线宽度为n,这样的CPU最多可以寻找2的n 次方个内存单元。 ◎ 1K=2^10B 1M=2^20B 1G=2^30B ◎8086 CPU地址总线宽度为20,寻址范围为00000~FFFFF 00000~9FFFF 主存储器地址空间(RAM) A0000~BFFFF 显存地址空间 C0000~FFFFF 各类ROM地址空间 第二章寄存器(CPU工作原理) ◎16位结构描述了一个CPU具有下面几个方面的结构特性 运算器一次最多可以处理16位的数据 寄存器的最大宽度为16位 寄存器和运算器之间的通路为16位 ◎8086有20位地址总线,可以传送20位地址,达到1M的寻址能力。采用在内部用两个16位地址合成的方法来形成一个20位的物理地址 ◎物理地址 = 段地址 × 16 + 偏移地址 ◎在编程是可以根据需要,将若干地址连续的内存单元看作一个段,用段地址×16定位段的起始地址(基础地址),用偏移地址定位段中的内存单元。段地址×16必然是16的倍数,所以一个段的起始地址也一定是16的倍数;偏移地址位16位,16位地址的寻址能力为64KB,所以一个段的长度最大为64KB ◎8086有四个段寄存器 CS、DS、SS、ES ◎CS为代码段寄存器,IP为指令指针寄存器。任意时刻,设CS中内容为M、IP中内容为N,8086CPU从内存M×16+N读取一条指令执行 ◎不能用mov修改CS、IP,因为8086CPU没有提供这样功能,可用指令JMP 段地址:偏移地址。JMP 2AE3:3 JMP AX 修改IP 第三章寄存器(内存访问) ◎DS数据段寄存器。不能将数据直接送入段寄存器,所以『MOV DS, 1』不正确 ◎字在存储时要两个连续的内存单元,低位在低地址,高位在高地址 ◎[address]表示一个偏移地址为address的内存单元 ◎SS:SP指向栈顶元素 ◎PUSH AX:(1)SP = SP - 2;(2)AX送入SS:SP ◎POP AX:(1)SS:SP送入AX;(2)SP = SP + 2 ◎PUSH/POP 寄存器 PUSH/POP 段寄存器 PUSH/POP 内存单元 第四章第1个程序 ◎可执行文件包含两部分:程序和数据,相关的描述信息 ◎程序加载后, ds中存放这程序所在内存区的段地址,这个内存区的偏移地址为0,策程序所在的内存区的地址为ds:0;这个内存区的前256个字节中存放的是PSP,dos用来和程序进行通信。从256字节处向后的空间存放的是程序。 第五章 [BX]和loop指令 ◎[BX]表示一个内存单元,它的段地址在ds中,偏移地址在bx中。MOV AX,[BX] MOV AL,[BX]

南京师范大学汇编语言期末试卷

南京师范大学汇编期末试卷 一.单项选择题。(15*1=15) 1.如果存储器分段时,一个段最多允许16K个子节单元,那么表示一个段内偏移 地址的二进制位数至少是(C) A.14 位 B.15位 C.16位 D.17位 2.设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是(A) A. 20640H B. 2063EH C.2063FH D.21900H 3.使用DOS功能调用时,子程序编号应放在(B) A.AL B.AH C.AX D.任意指定 4.下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是( D) A.AX,BX,CX,DX B.SP,BP,SI,DI C.CS,ES,DS,SS D.BX,BP,SI,DI 5.设DF=1,每次执行CMPSW指令时,SI和DI均要分别(B) A.减1 B.减2 C.加1 D.加2 6.要使BL中的低四位变反,高四位不变,应执行指令(D ) A.NOT BL B.OR BL,OFH C.AMD BL,OFH D.XOR BL,0FH 7.下列指令执行时操作数在数据段的是(D ) A.MOV AX,32768H B.ADD AL,AH C.NEG BX D.INC [DI] 8.下列指令中有语法错误的是(C) A.ADD AX,12H B.SUB[BX],CX C.MOV 20H[BX],[SI] D.INC PTR BYTE [BP] 9.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是(B) A.MOV AX,89 B.MOV AX,0809H C.MOV AX,89H D.MOV AX,0809 10.设AX=8765H,DX=4321H,执行CWD指令后,DX中的内容是(B) A.4321H B.OFFFFH C.8000H D.0001H 11.DA1 DW 2A05H DA2 DB 0FAH … MOV AL,BYTE PTR DA1 SUB DA2,AL 上述指令执行后,DA2中的内容是( D) A.0DAH B.0FAH C.0F5H D.0D0H 12. MOV AL,79 ADD AL,0B1H 上述指令执行后,设置的标志位CF和OF的值是(D ) A.CF=0,0F=1 B.CF=1,0F=1 C.CF=0,0F=0 D.CF=1,OF=0 13.重复前缀指令REPNE/REPNZ重复执行串操作的条件是(A) A.CX≠0 AND ZF=0 B.CX≠0 AND ZF=1 C.CX=0 AND ZF=0 D.CX=0 AND ZF=1 14.汇编语言源程序,可以是(D)

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