汇编复习资料

汇编复习资料
汇编复习资料

一、80X86微型计算机的组织

1-12、在实模式操作下,段寄存器的用途是什么?

解:段寄存器是用来定义数据段得起始地址的。在实模式下,它定义一个最大64KB存储段的起点。补充:IBM-PC I/O 空间是64K (0000H~FFFFH )。

1-15、实模式存储器地址允许访问低于哪个地址的存储区?

解:(段能够位于存储器的几乎所有地方,大小可变,)在实模式下,存储器寻址允许访问低于(FFFF:FFFF)地址的存储区。

1-18 、堆栈存储器由(堆栈)段加(堆栈指针)偏移的组合来寻址。(就指明了正被寻址的堆栈中的当前字。)

知识点补充:(SS)+(SP)=堆栈中的当前字的地址

1-19、如果指针(BP)寻址存储器,则寻址的数据在(堆栈)段中。知识点补充:(SS)+(BP)=堆栈中的数据的地址

1-20 80286工作在实模式下,给出下列寄存器组合所寻址的存储单元地址。

(a)DS=1000H 和DI=2000H

(b)DS=2000H 和SI=1002H

(c)SS=2300H 和BP=3200H

(d)DS=A000H 和BX=1000H

(e)SS=2900H和SP=3A00H

解:(a)12000H (b)21002H (c)26200H

(d)A1000H ( f )2CA00H

知识点:(CS)+(IP)= 下一条指令的地址

(DS)+(BX)=数据段中数据的地址

(DS)+(DI)=数据段中数据的地址

(DS)+(SI)=数据段中数据的地址

(DS)+(16位立即数)=数据段中数据的地址

物理地址=(段地址)*10H+偏移地址

通用寄存器:

AX: 主累加器. 用于有关输入/输出和大多数算术运算操作.例如, 乘法,除法。

BX:基址寄存器,可以用作扩展寻址的变址

CX: 计数寄存器

DX:数据寄存器

变址寄存器

SI: 16位源变址寄存器,与DS相关联。

DI: 16位目的变址寄存器,与ES相关联。

段寄存器:(段寄存器包含段的起始地址)

SI,DI,IP(指令指针寄存器, IP是和CS寄存器相关联的),FLAGS,CS,DS,ES,SS,FS,GS;

堆栈指针(SP) 寄存器:

包含了在堆栈中被寻址的当前字的偏移地址,SP和BP寄存器与SS寄存器相关联.

二、单选

1.十六进制数88H可以被其他形式的数所表示, 下列哪种表示方法是错的? D

A. 无符号十进制136 C. BCD码88

B. 带符号十进制–120 D. 带符号数据–8

解:A、88H=8*8^0+8*8^1=136 B、88H=1000 1000 末位减1=1000 0111按位求反0111 1000 直接得-120

C、BCD:二进制码十进制数

D、-8绝对值8,8H=00001000取反得11110111再加1=11111000化成十六进制为:F8H不等于88H (利用的是求补运算的原理)

2、如果DH=10H, 执行NEG DH 指令, 正确的结果是(D).

A.DH=10H C=1 C. DH=10H C=0

B.B. DH=0F0H C=0 D. DH=0F0H C=1

解:NEG是汇编中指令中的求补指令(将操作数按位取反后加1)。10H=00010000B

按位取反:

11101111B

+ 1=11110000B=0F0H 取反加一的时候产生了进位,所以CF=1,所以选D(CF进位标志carry Flag,如果运算结果的最高位产生了一个一个进位或错位那么其值就为1,否则为0)

3.哪个是指令指针寄存器? A

A.IP

B.SP

C.BP

D.PSW(程序状态字)

解:B、SP:堆栈指针寄存器C、BP:(Base Pointer),基址

指针寄存器。D、PSW:程序状态寄存器

4. 如果AX=1000H,

NEG AX

NEG AX

上面两条指令执行后, AX= ( C).

a.1001H

b.1002H

c.1000H

d.0F000H

解:做两次求补运算即返回其本身。

2.2 有两个16位的字1EE5H 和2A3CH 存储在IBM PC 的000B0H 和000B03H 的内存单元中,请以图表的形式说明内存中的存储情况

解:按照高高低低的原则,低内存地址中内容放在低字节

高内存地址中内容放在高字节,在存储器中,每个字都有唯一的地址。

内存地址内容

000B4H 2AH

000B3H 3CH

000B2H

000B1H 1EH

000B0H E5H

2.3 如下图, 展示的是IBM PC的内存信息, 请说明30022H 字节单元和30024H字节单元的内容,和30021H 字单元和30022H 字单元的内容。

存储器

30020H 12H

30021H 34H

30022H ABH

30023H CDH

30024H EFH

解:30022H字节单元的内容=0ABH,30024H字节单元的内容=0EFH,30021H字单元的内容=01234H,30022H字单元的内容=0 34ABH。(先高后低,当前字节内容加上当前字节地址加1的内容)

2.4 3017:000A的段地址的物理地址和偏移量是什么? 3015:002A和3010:007A的段地址和偏移是什么?

解:冒号前为段地址,冒号后为偏移地址。

物理地址1:PA= 3017 ×10H + 000AH = 3017AH

物理地址2: PA= 3015 ×10H + 002AH = 3017AH

物理地址3: PA= 3010 ×10H + 007AH = 3017AH

2.5、2.5 运行程序之前, (CS)=0A7F0H,(IP)=2B40H, 程序的第一个字的物理地址是什么?

解:CS:IP

物理地址为:PA=(CS)×10H+(IP)0A7F0*10H+2B40=0AAA40 2.6 在内存中,每一段都顶多有10000H字节。下面是用DEBUG的

命令“r”来在终端上展示寄存器的内容。请以图表的形式显示内存是如何划分成段的,还有OF,SF,ZF,CF的值。

解:详解看PPT

数据段

附加段

堆栈段

代码段

此时OF,SF,ZF,CF都为0.

2.8哪类型的寄存器可以用来显示内存地址

解:CS, DS, ES, SS, EAX, EBX, ECX, EDX, EBP, EIP, ESP, EDI, IP, SP, BP, BX, DI, SI

(BX、BP、SI、DI、SP与对应的段地址。)

5. 假定DS = 5788H, 偏移地址94H, 字节的PA(物理地址) 是( B ).

a.57974H

b.57914H

c. 5883H

d. 58ECH57880*10H+94=57914H(物理地址=(段地址)*10H+偏移地

址)

6.在段中寻址的时候,在8086CPU的寄存器中,哪些寄存器可以提供偏移地址(B)

A. AX, BX, CX, DX C. SP, IP, BP, DX

B. BX, BP, SI, DI D. CS, DS, ES, SS

解:断CS,SS,DS,ES分别对应的偏移地址:IP,SP或BP,

BX、DI、SI或16位数,串指令的DI。

第2章寻址方式与汇编语言程序的组织

重要知识点:当有两个操作数的时候:(在指令中)

第二个操作数是源操作数,与立即数或者地址相关联(寄存器,内存或者I/O端口的地址),源数据在操作中不会被更改。

第一个操作数是目标操作数,放在寄存器中,内存中,或者I/O端口中。

寻址方式:它是一种指令中操作数地址的表达形式。

1、寄存器寻址:操作数在CPU的寄存器中。寄存器可以充当第一或第二操作数,也可以两个都是。由于在寄存器之间处理数据不用访问存储器,所以是最快的操作类型。源寄存器的大小需要与目标寄存器的大小统一。

DW:定义一个字。

2、立即寻址:第二操作数是立即数或者表达式(第一操作数不能是立即数,可以是寄存器、内存单元、I/O端口的地址)

例子:

MOV AX, 25

MOV count, AX

立即操作数必须与目标操作数大小相一致(不能超过),两个同为字节,字或者双字。比访问内存中的数据段中的数字常量,并且用MOV 操作,这种处理方式更快。

3、直接寻址:使用指令中操作数的偏移地址(EA,有效地址)直接指向内存中操作数的位置。一个操作数与内存单元有关,而其他操作数与寄存器有关。DS是访问存储器中数据的默认段寄存器。

4、寄存器间接寻址:操作数的地址,存储在指令指明的内存单元地址中。操作数的EA(有效地址)/偏移地址在BX, BP,DI 和SI 寄存器中. 操作数在内存中。使用的寄存器是BP,BX,DI和SI,写在方括号内。处理堆栈中的数据时,BP(EBP)与SS是关联在一起的,SS:BP。为了处理数据段中的数据,BX,DI和SI与DS联系在一起:DS:BX,DS:DI和DS:SI。

(附加:“ES:”指明一个段前缀操作符,也就意味着“代替DS段寄存器的正常使用,获取其他段得数据。”

MOV AX, ES:[BX])

5、寄存器相对寻址:操作数的EA是基址寄存器的内容或变址寄存器加指令指定的移位计数。位移计数是8 位或者16位.

EA = (寄存器) +位移计算

BX

PA=10H*(DS)+ DI +8位/ 16位位移计数

SI

PA =10H*(SS)+ (BP) + 8位/ 16位位移计数

不要把两个基本寄存器.[BX+BP] 或变址寄存器[DI+SI]组合在一起。

6、基址变址寻址:操作数的EA是基本寄存器的内容加上变址寄存器的内容。

EA=(基本寄存器)+(变址寄存器)

在实模式下:

PA =16d * (DS) + (BX) + (SI) or (DI)

Or PA =16d * (SS) + (BP) + (SI) or (DI)

编写格式:

MOV AX , [BX][SI]

或MOV AX , [BX +SI]

7、相对基址变址寻址:EA=(基本寄存器)+(变址寄存器) +8/16位偏移

实模式下:

PA=16d * (DS)+(BX) + (SI) / (DI) + 8 / 16位偏移

PA=16d * (SS)+(BP) + (SI) / (DI) + 8 / 16位偏移

编写格式:

MOV AX, ARRAY[ BX ][ SI ]

OR MOV AX, ARRAY[ BX + SI ]

OR MOV AX, [ARRAY + BX + SI]

注意:立即数寻址与寄存器寻址不用计算有效地址。

2-1下面的MOV指令完成什么操作?

(a)MOV AX,BX; MOV指令完成把BX寄存器中的数据传送到AX寄存器中

(c)MOV BL,CH;指令完成把BL寄存器中的数据传送到CH寄存器中

2-2 列出寄存器寻址使用的8位寄存器。

解:AH、AL、BH、BL、CH、CL、DH和DL

2-3列出寄存器寻址使用的16位寄存器

解:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器:SI、DI、IP、FLAGS、CS、DS、ES、SS、FS和GS

2-6 指令MOV BL,CX 错在哪里?

解:BL是8位寄存器,而CX是16位寄存器。

2-7 指令MOV DS,SS 错在哪里?

解:DS是访问存储器中数据的默认段寄存器,而SS同样为寄存器,两个段寄存器之间不能进行数据传送。

2-13 指令MOV [BX],[DL] 错在哪里

解:目标操作数寻址方式错误,应该改为:MOV BX,[DL]为寄存器间接寻址。

2-17给定DS=1200H,BX=0100H和SI=0250H。假定按实模式操作,确定下面每条指令寻址的地址:

(a)MOV [100H],DL;12100H

(c)MOV DL,[BX+100H];12200H

解:(a)为寄存器直接寻址:PA=(DS)*10H+EA=1200*10+100=12100H

(b)为寄存器相对寻址:PA=(DS)*10H+EA+(BX)=12200H

2-18 给定DS=1100H,BX=0200H,LIST=0250和SI=0500H。假定按实模式操作,确定下面每条指令寻址的地址:

(b) MOV CL,LIST[BX+SI];

解:(b)为寄存器相对基址加变址寻址:PA=(DS)*10H+BX+SI+8位或16位的位移量

PA=1100*10H+0200H+0500H+0250H=119500H

2-19 给定DS=1300H,SS=1400H,BP=1500H和SI=0100H。假定按实模式操作,确定下面每条指令寻址的地址:

(b) MOV AL,[BP+SI+200H];

解:(b)为寄存器相对基址加变址寻址:PA=(DS)*10H+BX+SI+8位或16位的位移量

PA=1300*10+1500+0100+200=14800H

2-20 哪些基址寄存器可以寻址堆栈段的数据?

解: SP ,SS。

3.1 给出(BX)=637DH,(SI)=2A9BH,偏移量D=7237H,尝试指出下列每一种寻址模式的有效地址。

(1) 立即寻址;

(2) 直接寻址;

(3) 用BX的寄存器寻址;

(4) 用BX的寄存器间接寻址;

(5) 用BX的寄存器相对寻址;

(6) 基址变址寻

(7)相对基址变址寻

解:

(1)立即寻址:指令在CPU中。所以无

(2)直接寻址:指令操作数的偏移地址(EA)直接指向内存中的操作数的位置。所以EA=7237H

(3)寄存器寻址:操作数在CPU内部的寄存器中,寄存器可以充当第一或第二操作数,也可以两个都是。所以无

(4)寄存器间接寻址:操作数所在内存单元的偏移地址在BX,BP,DI和SI 寄存器中。所以EA=637DH

(5)操作数的有效地址是一个基址或变址的内容和指令中指定的8位或16位位移量之和。所以EA=D+[BX]=7237H+637DH=0D5B4H

(6)操作数的有效地址是一个基址寄存器和变址寄存器的内容之和,所以EA=[BX]+[SI]=637DH+2A9BH=8E18H

(7)操作数的有效地址是一个基址寄存器和变址寄存器的内容和8位或16位位移量之和。

所以EA=D+[BX]+[SI]=7237H+637DH+2A9BH=1004FH

3.2 根据下列要求, 写出相关的汇编语言指令。

(1) 把BX 的内容和DX 的内容相加,结果放入DX 中。

(2) 把AL的内容加上内存地址的内容,并把结果放到AL中。内存

地址由BX和SI进行基址变址寻址所得。

(3)把CX的内容加上内存地址的一个字,并把结果放到内存地址中。内存地址由BX和偏移量0B2H进行寄存器相对寻址所得。

(4) 把内存地址的内容与数2A59H相加,并把结果放入内存地址。内存地址由偏移量0524H进行直接寻址所得。

(5) 把数值0B5H 与AL 寄存器的内容相加, 结果放入AL寄存器。解:ADD

功能: 加法指令

语法: ADD OP1,OP2

格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data

影响标志: C,P,A,Z,S,O

(1)ADD DX, BX

(2)ADD AL, BX[SI]

(3)ADD WORD PTR 0B2H [BX], CX

(4)ADD WORD PTR [0524H], 2A59H

(5)ADD AL, 0B5H

3.3 写出指令,把首址是BLOCK的字数组中的第六个字移入DX寄存器。使用如下的寻址方式。

(1) 寄存器间接寻址

(2) 寄存器相对寻址

(3) 基址变址寻址

解: LEA 装入有效地址.

例: LEA DX,string ;把偏移地址存到DX.

(1) LEA BX, BLOCK+10

MOV DX, WORD PTR [BX]

(2) LEA SI, BLOCK

MOV DX, WORD PTR 0AH[SI]

(3)LEA BX, BLOCK

MOV SI, 0AH

MOV DX, WORD PTR [BX][SI]

3.4 给出(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

(3) MOV AX, [1200H]

(5) MOV AX, 1100[BX]

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

解:

(1) 立即寻址:(AX)=1200H

(3)寄存器直接寻址:(AX)=4C2AH

(5)寄存器相对寻址:(AX)=4C2AH

(7)基址加变址寻址:(AX)=65B7H

3.8 给出

(DS)=2000H,(ES)=2100H,(SS)=00A0H,(BX)=0100H,(BP)=0010H,数据段中VAL 的偏移地址是0050H,指出源操作数段得寻址方式和物理地址。

(2) MOV AX, BX

(4) MOV AX, VAL

(6) MOV AX, ES:[BX]

(8) MOV AX, [SI]

(10)MOV AX, VAL[BX]

(12)MOV AX, VAL[BX][SI]

解:

(2)寄存器寻址

(4)直接寻址,PA=(DS)*10H+EA=2000*10+050=20050H

(6)寄存器间接寻址,PA=(DS)*10H+BX=21100H

(8)寄存器间接寻址,PA=(DS)*10H+SI=200A0H

(10)寄存器相对寻址,PA=(DS)*10H+EA+(BX)=20150H

(12)相对基址变址寻址,物理地址=201F0H

单选

1.当执行POP [BX] 和寻找目标操作数时,段地址跟偏移地址是在( )中。

a. 无段地址也无偏移地址

b. DS 和BX中

c. ES 和 BX中

d. SS 和 SP中

解:选B

2.下列指令中, 哪个是错的?

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

b. MOV DX, 1000H

c. MOV WORD PTR [BX],1000H

d. MOV DS, 2000H

解:选d. 错误: MOV指令不能立即数传送到到段寄存器。

简答:

1. 指出下列的错误:

(1)MOV AH, BX

(2)MOV [BX], [SI]

(3)MOV AX,[SI] [DI]

(4)MOV MYDAT [BX][SI], ES:AX

(5)MOV BYTE PTR[BX], 1000

(6)MOV BX, OFFSET MYDAT[SI]

(7)MOV CS, AX

解:

(1)AH是8位寄存器,BX是16位寄存器。

(2)[BX],[SI]是内存单元,MOV指令不能实现内存到内存的传送。(3)变址寄存器的内容只能是[SI]或[DI],两个不能同时放在一起。(4)附加段寄存器ES:存放当前执行程序中一个辅助数据段的段地址。

段寄存器偏移地址寄存器

CS IP

SS SP或BP

DS BX、DI、SI

ES DI(用于串指令)

MOV指令不能实现内存到内存的传送。

(5)BYTE指明的是字节类型,而10000需要的是16位的储存空间,位数不同。

(6)OFFSET:变量或标号的偏移地址。后面的[SI]是多余。

(7)寄存器寻址中的目的操作数不能是CS段寄存器。

2.给出DS = 6400h, BX = 0743h, SS=6500H, BP = CA40h, SI = 2100h 和 DI = 04A4h, 而且BETA是一个偏移量为0202h的数据项 (名称/变量), 对于下列每一条指令指出其寻址方式且计算出源操作数和目标操作数的20-位的物理地址:

(i) MOV AL, [BP][SI]

(ii) MOV [BX + DI + 4], AX

(iii) MOV BETA, BL

(iv) MOV AH, [BP][DI + BETA]

(v) LODSB

解:根据各个寻址方式的PA的计算公式计算即可计算出:

(i) 基址变址寻址 72B40H

(ii) AX 相对基址变址寻址 64BEBH

(iii) 直接寻址 64202H

(iv) 相对基址变址变址 710E6

(v) 寄存器寻址 66100H

3.数据传送指令

3.10

TABLE 是一个在数据段中0032上的符号, 它的内容是1234H, 下面指令有什么不同?执行指令后AX寄存器的内容是什么?

MOV AX,TABLE

LEA AX,TABLE

解:

MOV指令实现把一个寄存器中的地址传送到另一个寄存器中储存。而LEA指令把操作数规定数据的偏移地址装入16位或32位寄存器,即用偏移地址来初始化寄存器。

第一条指令:AX=1234H

第二条指令:AX=0032H

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

TABLE DW 10,20,30,40,50

ENTRY DW 3

·

·

·

MOV BX,OFFSET TABLE

ADD BX,ENTRY

MOV AX,[BX]

解:AX=

3.13 给出SS 寄存器的内容是0FFA0H, 和SP 寄存器的内容是

00B0H。首先执行两个PUSH 指令把8057H 和0F79H 压入栈中, 然后执行POP 指令. 请以图表的形式给出栈的变化和SP的值 (用下划线划出内存单元的物理地址).

解:

PUSH 8057H

PUSH 0F79H

POP

开始 OOBOH

第二:SP 00AFH 80H SP=00B0H

第一:SP=BL00AEH 57H 00ADH 0FH

第二:SP=BL 00ACH 79H

00ABH

PUSH 指令:(SP)=(SP)-2

((SP+1)=(BH)

SP=BL

7.8下列指令中,符号ABCD 是一个变量。说出两条指令的不同。 MOV AX,OFFSET ABCD

LEA AX,ABCD

解:两条指令功能相同,都是取ABCD 的偏移地址放进AX 寄存器中,不过MOV 指令能以较少的时间完成这个任务。

4.分析程序:

A DW 1234H

B DW 5678H

……

PUSH A

PUSH B SS=0FFA0H

汇编语言 第二版 王爽 完整答案

第1章基础知识 检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13。 (2)1KB的存储器有1024个存储单元。存储单元的编号从0到1023。 (3)1KB的存储器可以存储1024*8个bit,1024个Byte。 (4)1GB、1MB、1KB分别是2^30、2^20、2^10 Byte。(n^m的意思是n的m次幂) (5)8080、8088、80286、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)在存储器中,数据和程序以二进制形式存放。 第2章寄存器答案 检测点2.1 (1) 写出每条汇编指令执行后相关寄存器中的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=6246H mov ax,bx AX=826CH add ax,bx AX=04D8H mov al,bh AX=0482H mov ah,bl AX=6C82H add ah,ah AX=D882H add al,6 AX=D888H add al,al AX=D810H mov ax,cx AX=6246H (2) 只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点2.2 (1) 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为00010H到1000FH。 (2) 有一数据存放在内存 20000H 单元中,先给定段地址为SA,若想用偏移地址寻到此单元。

汇编语言考试复习试题及答案

《汇编语言》考试复习题及答案 一、单项选择题(共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.XORBX,BX B.ORBX,BX C.ANDBX,BX D.CMPBX,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.指令XORAX,AX执行后,AX内容不变,但设置了标志位 B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0 C.指令ANDAX,OFH执行后,分离出AL低四位 D.NOTAX,执行后,将AX清0 7.在执行下列指令时,需要使用段寄存器DS的指令是()A.STOSW B.ADDAL,CL C.NEGBX D.INCDA[BX] 8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是() A.ADDBH,01H B.ORBH,01H C.XORBH,01H D.TESTBH,01H 9.完成对CL寄存器的内容乘以4的正确操作是() A.ROLCL,1B.MUL4 ROLCL,1 C.SHLCL,1D.MOVCL,2 SHLCL,1SHLCL,CL 10.下面各传送指令中,正确的是() A.MOV[DI],[SI]B.MOV[DX+DI],AL C.MOVWORDPTR[BX],0100H D.MOV AL,BX 11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()

最新汇编语言复习资料

1 汇编语言程序设计 2 DX:单项选择题 DU:多项选择题 TK:填空题 MC:名词解释 3 v JD:简答题 CXFX:程序分析题 CXTK:程序填空题 BC:编程题4 第1章:基础知识 5 1、在汇编语言程序的开发过程中使用宏功能的顺序是( C )。 DX 6 A、宏定义,宏调用 B、宏定义,宏展开 7 C、宏定义,宏调用,宏展开 D、宏定义,宏展开,宏调用 8 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中9 不可省略的项是( B )。 DX 10 A、名字项 B、操作项 C、操作数项 D、注释项 11 3、可屏蔽中断就是它的请求是否被CPU响应要受( IF )的控制。 DX 12 4、使用LINK连接命令,执行后可生成文件的扩展名为( EXE )。 DX 13 5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在堆栈段中,段14 地址在SS寄存器中。 TK 15 6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号) 表16 示注释的开始。 TK 17 7、DOS系统功能调用方式为:(1)置入口参数;(2)中断程序编号送AH寄存器后执18 行INT 21H。 TK 19 8、通常主程序和子程序间参数传送的方法有三种:用寄存器传递、用存储单元传递、20 用堆栈传递(顺序可调换)。 TK 21 9、中断是CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该22 事务处理完后能自动恢复执行原先程序的过程。在此,称引起紧急事务的事件为中23 断源。 TK

24 10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的25 串。 TK 26 11、计算机系统通过接口与外围设备通信。 TK 27 12、键盘I/O、显示I/O和打印I/O分别对应16H、10H和 17H 28 号中断。 TK 29 13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。每个字的第一个字节为30 显示字符的ASCII码,第二个字节为显示字符的属性。 TK 31 14、简述上机运行汇编语言程序的过程。 JD 32 答:首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序33 代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。 34 15、简述程序中指令和伪指令的区别。 JD 35 答:能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。36 伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可37 加在汇编程序的任何地方,但它们并不产生机器指令。 38 16、十六进制数88H,可表示成下面几种形式,请找出错误的表示(④)。 DX 39 ①无符号十进制数136 40 ②带符号十进制数-120 41 ③压缩型BCD码十进制数88 42 ④ 8位二进制数-8的补码表示 43 17、指令指针寄存器是(IP )。 DX 44 18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B) DX

汇编语言王爽第二版课后答案

第一章基础知识 检测点(第8页) ---------------------- (1) 13 (2) 1024,0,1023 (3) 8192,1024 (4) 2^30,2^20,2^10 (5) 64,1,16,4 (6) 1,1,2,2,4 (7) 512,256 (8) 二进制 注意: 1.第4题中的符号'^'指求幂运算(如: 2^30指2的30次方) 第二章寄存器(CPU工作原理) 检测点(第18页) ---------------------- (1)写出每条汇编指令执行后相关寄存器中的值。第一空:F4A3H 第二空:31A3H 第三空:3123H 第四空:6246H 第五空:826CH 第六空:6246H 第七空:826CH 第八空:04D8H 第九空:0482H 第十空:6C82H 第十一空:D882H 第十二空:D888H 第十三空:D810H 第十四空:6246H (2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解答如下: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点(第23页) ---------------------- (1)00010H,1000FH (2)1001H,2000H 第2题说明: 因为段的起始地址要为16的倍数。所以当段地址小于1001H或大于2000H时CPU都无法寻到。 检测点(第33页) ----------------------答:CPU修改了4次IP的值。 情况如下: 第1次:执行完mov ax,bx后 第2次:执行完sub ax,ax后 第3次:读入jmp ax后 第4次:执行完jmp ax后 最后IP的值为0 实验1 查看CPU和内存,用机器指令和汇编指令编程(第33页) ----------------------------------------------------- 1.预备知识:Debug的使用 <此部分略> 2.实验任务(第43页) (1) <此部分略> (2) <此部分略> (3) 通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。此生产日期不能被改变,因为其具有‘只读’属性。 (4) 通过向内存中的显存写入数据,使计算机根据写入的数据进行ASCII转换,并将转换后且可打印的字符输出到屏幕上。<注:关于显存的详细讨论不在此题范围> 第三章寄存器(内存访问) 检测点(第52页) ---------------------- (1)(题目:略) 第一空:2662H 第二空:E626H 第三空:E626H 第四空:2662H 第五空:D6E6H 第六空:FD48H 第七空:2C14H 第八空:0000H 第九空:00E6H 第十空:0000H 第十一空:0026H 第十二空:000CH 提示:此题可在DEBUG中利用E命令在本机上按照题目中所给出的内存单元及其数据进行相应地修改,然后再用A命令进行写入(题目中所给出的)相应的汇编指令,最后再进行T命令进行逐步执行,以查看相应结果。

生产统计报表的编制

生产统计报表的编制 统计员的工作汇报就是及时、准确、完善的向相关部门呈递《生产统计报表》。尽量让我们高层管理人员对所管辖的下属部门的工作情况了如指掌,及时地发现问题作出决策,并使管理工作得以顺利进行。通过我们详细的汇报中了解生产计划的执行情况,了解生产进度、材料供应、计划执行状况,机器设备的运转状况等,可以及时掌握生产动态和异常情况,可以了解人员的思想变化等。可以及时发现工作中存在的困难和问题,生产中不可避免会出现这样或那样的问题,通过定期或不定期的工作汇报,可以及时了解这些困难或问题,并及时加以研究和解决,并把可能造成的各种损失降低到最小的程度。统计一般是交叉统计为最佳,例如生产的数据,由仓库监督统计;报表上的统计,审核必须是对口的人员。即生产上的数据是由仓库进行监督统计的,就是反应了交叉统计。 没有统计软件的情况下,最简单的理解就是输入与输出平行,例如总输入的用料单与总产成的进仓单,进仓不单是产品的数量进仓,还要重量进仓(因为重量是要和你的输入材料做对比的),还有废品进仓(也是数量与重量登记)。有入必有出。 统计的人员首先要明白数据怎么来的,要学会利用数据,而不是为数据打工。 二、工作汇报的内容,工作汇报的内容很多 ,现只就生产、质量、物料方面的内容做一个简单的介绍。 1、生产方面的汇报 (1)各类生产计划的完成情况 (2)各项工作的落实与执行情况 (3)生产进度状况与工时投入,生产跟踪情况。 (4)现场作业状况 (5)各类生产异动情况:包括进度异动、工艺异动、其它异动。 (6)生产人员工作情况 (7)各订单完成情况 (8)产品交货状况 2、质量方面的汇报 (1)各道工序、各车间(班组)的产品质量情况 (2)质量问题及质量异动 (3)各种产品的不合格率机造成因素 (4)内部质量事故的调查处理及质量问题的追溯 (5)质量问题的处理汇报 (6)质量目标达成情况 (7潜在的质量隐患 3、物料方面的汇报 (1)物料供应计划的完成情况

扬州大学汇编语言课后习题

练习一 1.在计算机内部,计算机能够直接执行的程序语言是。 A.汇编语言 B。C++语言 C.机器语言 D。高级语言 2.在堆栈段中,存放栈顶地址的寄存器是。 A.IP B.SP C. BX D. BP 3.指令指针寄存器IP用来存放代码段中的偏移地址。在程序运行的过程中,它始终指向。A.下一条指令的首地址B.下一条指令的地址 C.当前指令的首地址D.当前指令的地址 4.编译程序的功能是。 A.检查源程序中的语法错误和逻辑错误 B.将源程序编译成目标程序 C.改正源程序中的语法错误 D.将高级语言源程序翻译成汇编语言源程序 5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。 A.目标程序B.源程序C.可执行程序D.汇编程序 6.计算机中用来存储程序、数据等信息的记忆装置是。 A.控制器 B.运算器 C.CPU D.存储器 7.在宏汇编中,源程序必须通过___________生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。 8 当 SS =3000H,SP =0100H 时,执行 PUSH AX 指令后,堆栈顶部的物理地址 是() A.30100H B.30098H C.30102H D.300FEH 9 设B分别以原码、补码及反码表示时,则对应的十进制数依次是() A.-82、-126、-2 B.-2、-125、126 C.-2、-126、-125 D.-82、-125、125 10 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为__________________。 11 若物理地址为2D8C0H,偏移量为B6A0H,则段地址为 _________。 练习二 1. 8086在基址变址的寻址方式中,基址、变址寄存器分别是()。 A.AX或CX、BX或CX B.BX或BP、SI或DI C.SI或BX、DX或DI D.CX或DI、CX或SI 2. 设(SS)=338AH,(SP)=0450H,执行PUSH BX和PUSHF两条指令后,堆栈顶部的物理地址是()。A.33CECH B.33CF2H C.33CF4H D.33CE8H 3.设(AX)=0C544H,在执行指令ADD AH,AL后,相应的状态为()。 A.CF=0、OF=0 B.CF=0、OF=1 C.CF=1、OF=0 D.CF=1、OF=1 4.设DS=2000H,SS=1500H,(ES)=3000H,(SI)=00B0H,(BX)=1000H,(BP)=0020H,指出下列指令的源操作数的寻址方式是什么?若该操作数为存储器操作数,请计算其物理地址。 (1) MOV AX,DS:[0100H]

汇编复习题1

《汇编语言程序设计》复习题 一、单项选择题 1、使计算机执行某种操作的命令是( B) A.宏指令 B.指令 C.伪指令 D.语句 2、换码指令的助记符是( A) A. XCHG B. LEA C. XLAT D. MOV 3、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)。 A.AX,BX,CX,DX B.BX,BP,SI,DI C.SP,IP,BP,DX D.CS,DS,ES,SS 4、计算机能直接识别并执行的语言是( B) A.汇编语言 B.机器语言 C.高级语言 D.低级语言 5. 堆栈的工作方式是( D) A.先进先出 B.随机读写 C.只能读出,不能写入 D.后进先出 6、以下各个指令中正确的是( B )。 A. MOV CS, DX B. MOV DS, BP C. IN 20H,AL D. MOV AH, BX 8、已有汇编语句“VAR EQU 1220H”,则语句“mov AX, VAR”中源操作数的寻址方式为( B )。 A. 立即寻址 B. 直接寻址 C. 寄存器间接寻址 D. 基址寻址 9、与MOV BX,OFFSET VAR指令完全等效的指令是( D )。 A.MOV BX,VAR B.LDS BX,VAR C.LES BX,VAR D.LEA BX,VAR 10、指令INC一定不会修改的标志是( C )。 A. 溢出标志OF B. 符号标志SF C. 进位标志CF D. 奇偶标志PF 11、已知DS=2000H,ES=1000H, SI = 0800H,内存10880H开始的两个单元中存放5678H,内存20880H开始的两个单元中存放8765H,则语句“LEA BX,[SI+80H]”执行后BX的值为( C )。 A. 5678H B. 1000H C. 0880H D. 8765H 12、汇编结束语句有( C )种格式,为()。 A.1,END B.1,END 程序的启动地址标号 C.2,END和END 程序的启动地址标号D.以上都不正确 13、指令“CALL FAR PTR SUM”执行时将会向堆栈中顺次压入( B )。

汇编语言(王爽)_第二版_课后题全_答案25

0000:0203 8ED8 MOV DS,AX 0000:0205 B82000 MOV AX,0020 0000:0208 8EC0 MOV ES,AX 0000:020A BB0000 MOV BX,0000 0000:020D B91800 MOV CX,0018 0000:0210 8A07 MOV AL,[BX] 0000:0212 26 ES: 0000:0213 8807 MOV [BX],AL 0000:0215 43 INC BX 0000:0216 E2F8 LOOP 0210 0000:0218 0000 ADD [BX+SI],AL 0000:021A 0000 ADD [BX+SI],AL 0000:021C 0000 ADD [BX+SI],AL 0000:021E 0000 ADD [BX+SI],AL -q 检测点6.1 (1) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序: assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h start: mov ax,0 mov ds,ax mov bx,0 mov cx,8 s: mov ax,[bx]

mov cs:[bx],ax add bx,2 loop s mov ax,4c00h int 21h codesg ends end start (2) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序: assume cs:codesg codesg segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h dw 0,0,0,0,0,0,0,0,0,0 ;10个字单元用栈空间 start: mov ax,cs mov ss,ax mov sp,36 mov ax,0 mov ds,ax mov bx,0 mov cx,8 s: push [bx]

有答案 14-15-1 汇编语言复习资料

汇编语言复习资料 第一部分选择题 第一章基础知识 1.数组array在数据段的定义如下所示,在内存空间的存储值是什么,选出正确的一 项(B ) array db 1,‘1’,0AH,‘A’,-2 A、1H 1H 0AH 0AH 82h B、1H 31H 0AH 41H FEH C、1 1 0A 0A 12h D、31H 31H 41H 41H 02h 2.debug命令中显示内存单元内容的命令是( B ) A、a B、d C、e D、r 3.debug命令中反汇编命令是(D ) A、q B、g C、t D、u 4.在DEBUG下,修改寄存器AX的命令是___B_。 A.U AX B.R AX C.R D.A AX 5.从200H开始反汇编的DEBUG命令是A____。 A.U 200 B.R 200 C.D 200 D.U 6.仅查看用户程序中数据段10号存储单元的DEBUG命令是A____。 A.D DS:A A B.D DS:A C.D DS:10 10 D.D DS:10 7.计算机编程语言的发展顺序是(A ) A、机器语言汇编语言高级语言 B、汇编语言机器语言高级语言 C、高级语言汇编语言机器语言 D、高级语言机器语言汇编语言 8.将124转换成十六进制数的结果是_A____。 A.7CH B.7DH C.7EH D.7BH 9.计算机对字符、符号采用统一的二进制编码。其编码采用的是_C_____。 A.BCD码B.二进制码C.ASCII D.十六进制码 第二章80x86计算机组织 10.对汇编语言源程序进行翻译的程序是__B___。 A.连接程序B.汇编程序C.编译程序D.目标程序 11.在汇编语言中,能够翻译成二进制代码的指令是__A__。 A.汇编指令B.伪指令C.机器指令D.宏指令

汇编语言复习题 (2)

汇编语言复习题 第2章8086CPU寄存器的结构及使用 1.8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。其中EU的功能是控制和执行指令,主要由算术逻辑部件ALU、EU控制部件、8个16位寄存器和一个标志寄存器FLAGS组成。BIU的功能是从存储器预取指令和数据,以及所有EU需要的总线操作,实现CPU与存储器和外设间信息传递。BIU由指令队列、指令指针寄存器、段寄存器、地址加器组成。 2.Intel8086CPU共有14个16位寄存器,它们分别是通用寄存器8个即AX、BX、CX、DX、SP、BP、SI、DI,其中能用作寄存器间接寻址的寄存有BX、BP、SI和DI,控制寄存器2个即IP、PSW,段寄存器4个即DS、SS、CS和ES它们的含义分别是: 其中在编程过程中程序的段基值由汇编程序装入的段寄存器是SS和CS,由编程者用汇编指令将段基值装入的段寄存器是DS和ES,其具体指令是MOV AX,数据段段/附加数据段名,MOV DS/ES,AX,编程人员不能用指令去取其值或给其设置给定值的寄存器是IP,但是可以通过某些指令的执行而自动修改其内容,如JMP NEXT指令的功能是将目的地址的偏移量送入IP。 3.PSW是程序状态字寄存器又称为标志寄存器,用来反映微处理器在程序运行时的某些状态,其中的6个状态标志位分别是OF、SF、ZF、AF、PF和CF,反映了刚执行完算术或逻辑运算指令后的某些特征。三个控制标志位是DF即方向标志、IF即中断标志位和TF陷阱标志。如两个8位的二进制数相加其状态标志位中各标志的值是多少?10110101+10011011。 4.8086CPU数据总线16根地址总线是20根能访问的最大存储空间是1MB。 第3章存储器的分段 1.在8086CPU中存储器的编址原则是按字节编址即每一个字节单元是一个存储器地址,在源程序中用常用十六进制数或符号来表示一个存储单元的地址。任何相邻的两个字节地址可以构成一个字地址,约定用较小的那个地址来表示字地址。程序员在编程时所用的地址称为逻辑地址,CPU访问的地址称为物理地址。物理地址与逻辑地址的关系是:物理地址=段基值*16+偏移地址。如有下列存储器的结构请按要求回答问题: ①0002H的字节地址的内容是多少? ②0002H的字地址的内容是多少? ③若该存储地址所在的数据段的段基值是0F3BH,则逻辑地址 为0004H的物理地址是多少?该物理地址的字单元内容是多少? ④物理地址是0F3B1H的字节单元内容是多少?

华中科技大学 80X86汇编语言程序设计试卷

《汇编语言程序设计》网络学院模拟试卷一2004.4班级________________ 姓名______________ 学号______________ 成绩______ 一、改错题(10分,每题1分,在错误处划线,线下写上正确答案) 1. SHR BH, 8 2. ADD [BX], –15 3. LEA POINT, BUF 4. IN DX, 200 5. PUSH DH 6. MUL 25 7. XLAT BX, TAB 8. REPNZ MOVSW 9. MOV AX, 2[SI][DI] 10. MOV [BX], [SI] 二、单选题(20分,每题1分) 1.MOV指令的特点是________。 A.影响DF B.影响SF C.影响CF D.不影响标志位2.使用寄存器间接寻址方式访问堆栈中某变量时,要选用________寄存器。 A.BX B.BP C.SI D.SP 3.8086标志寄存器中的三个控制标志是________。 A. IF、PF、SF B.DF、OF、CF C.DF、IF、TF D.TF、AF、IF 4.若有符号数运算的结果溢出,则置________为1。 A.OF B.CF C.SF D.IF 5.若某存贮器操作数的偏移地址在SI中,访问该操作数应采用________寻址方式。 A.立即B.寄存器C.寄存器问址D.直接 6.串操作指令中,目的串的逻辑地址应为________。 A.DS:[SI] B.DS:[DI] C.ES:[DI] D.ES:[SI] 7.不在本模块定义而在本模块中引用的符号称________符号。 A.公共B.局部C.自定义D.外部 8.若(CL)= 4,(AX)=0FF0FH,执行语句“ROR AX,CL”后,(AX)=________。 A.0FFFFH B.0FFF0H C.0F0FFH D.0FFFH 9.已知AL中存放着一个压缩BCD码,为实现AL减1操作,应选用________指令序列。 A.DEC AL B.SBB AL,0 C.SUB AL,1 D.SUB AL,1 AAS DAS AAS DAS 10.要将BL中的8位数据送到1234H端口号的外部设备中去,应选用________指令序列。 A.OUT 1234H,BL B.MOV DX,1234H OUT DX,BL C.MOV AL,BL D.MOV DX,1234H MOV DX,1234H MOV AL,BL OUT DX,AL OUT AL,DX 11.已知AX,BX中均为有符号 ...数据,当进行字.除法时,应采用________指令序列。 A.XOR DX,DX B.CBW C.IDIV BX D.CWD DIV BX IDIV BX IDIV BX

汇编语言复习题

汇编语言复习题 注:蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦! 一、选择题 1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是( B ) 。 A.汇编程序 B.连接程序 C.机器语言程序 D.源代码程序 2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是( C )。 A..SS和SP 和DI 和IP 和SI 3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个( C )。 A.物理地址 B. 逻辑地址 C. 端口地址 D.段地址 AX,3064H,该指令中源操作数采用的寻址方式是( A )。 A.立即 B.直接 C.寄存器相对 D.寄存器间接 5.换码指令的助记符是( C )。 A. XCHG B. LEAS D. MOV 6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是 ( JGE )。 7.下列符号中,可用作标识符的是( C )。 DB 10H DUP(1,2)内存变量定义语句拥有了( A )个字节的存储空间。 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 位CPU支持的I/O地址范围是( D )。 A.0~0FFFFFH B.0~0FFFFH C.0~0FFFH D.0~0FFH CL指令实现的功能是( A )。 A.无符号乘法:AX AL×CL B.有符号乘法:AX AL×CL C.无符号乘法:DX AL×CL D.有符号乘法:DX AL×CL 系统功能调用(INT 21H)中,显示字符串的功能号是( D )。 D. 09H 14.在16位CPU读取指令时,需要用到的寄存器对是( C )。 和SP 和DI 和IP 和SI 15.下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是 ( B )。 AX,23H B. MOV AX,[BX+SI] AX,[BX] D. ADD AX,BX 16.有内存变量定义语句:VAR DW 10 DUP(1,2),1234H,VAR的属性TYPE、LENGTH和SIZE的值分别是( D )。 ,20,20 ,20,40 ,22,44 D. 2,10,20 17、在下列语句中,AGAIN称为( C ) 。 AGAIN: INC SI A.指令 B.寄存器 C.标号 D.变量 18、十六进制数88H,可表示成下面几种形式,请找出错误的表示( A )。 A. 8位二进制数-8的补码 B.带符号十进制数-120

华南师范大学汇编语言试卷

一、填空题:(每小题2分,共10分) 1.数-27的补码表示是__11100101____(8位),扩展到16位为__1111111111100101_。 2.一个字5678H存到地址[1234H]单元中,则56H存放在 1235H 单元,78H存放 在 1234H 单元。 3.堆栈的栈顶由堆栈指针寄存器指出,非栈顶字由基址指针寄存器指出。 4.编程用的操作数有立即数、寄存器操作数、内存操作数。 5.中断向量是中断子程序的入口,中断向量表是计算机中断服务程序中的一个向量表,它纪录着全部的中断向量 二、改错题(每小题2分,共20分) (在不改变原题意的前提下,在试卷上画出每小题的错误之处,并在右边予以改正。) 1.MOV CX,SEG DATA MOV ES,CX MOV DS,ES MOV DS,CX 2.B DW 100 MOV AL,B MOV AX,B 3.MOV DI,30H MOV [DI],16H MOV WORD PTR [DI],16H 4.MOV AX,BX, IN AX,BX IN AX,DX 5.ADD SI,BX ADD AL,BL DAA

SUB [DX],CX SUB WORD PTR [DX],CX 7. PUSH AL PUSH AX 8. MOV BX,16 MOV AL,256 MOV AX,256 9. INC AX,1 INC AX 10. ADD 80H,AL ADD AL,80H IN 80H,AL IN AL,80H 三、阅读程序(根据题目要求写出结果每小题6分,共30分)(可以给指令另加注释,也可以不加。) 1.下面程序的功能是什么? MOV AX,X CMP AX,Y JGE LAB XCHG AX,Y LAB:MOV X,AX 选择X,Y中的较大值存入X中 2. 执行下列指令后AX、BX寄存器的内容? MOV SI,10H

汇编语言2008秋季期末考试复习题及参考答案

汇编语言2008秋季期末考试复习题及参考答案 一、填空 1. 十进制数369转换成二进制数为()2,转换成十六进制数为()16. 2. 计算机中的指令由()和(地址码)两部分组成。 3. 8086的地址总线有20根,寻址范围为()字节。 4. 下一条将要执行的指令的地址存放在寄存器()中。 5. 写出IBM PC机的三种子程序返回的指令(RET), (IRET),(IRETD)。 6. 汇编语言源程序需经过()程序汇编,()程序连接才能生成可执行文件。 7. 存储器某单元的地址表示为2314H:4132H,则它的偏移地址=(4132),物理地址=() 8. REP指令前缀与()指令配合使用。 9. 在显示器上查看和修改内存单元的内容可以使用DEBUG的()和()命令。 10. (AL)=BFH,要求屏蔽第0,1两位,则要执行指令();如果要求第0,1位变反,可使用指令() 11. 宏汇编适合于(),()的子功能段使用; 二、选择题 1. 设字长N=16,有符号数7AE9H的补码表示为( ) A.9EA7H B. 76C4H C. 8417H D. 7AE9H 2. 比较有符号数3260H与0B425H的大小关系为( ) A. 相等 B. 小于 C. 大于 D. 不能比较 3. 指令JMP WORD PTR [BX][DI]中转移的目标地址为( ) A.16 d x(DS)+(BX)+(DI)B.16d x(ES)+(BX)+(DI) C.16d x(SS)+(BX)+(DI)D.16d x(CS)+(BX)+(DI) 4. 在指令MOV AX,[1000H]中,源操作数的寻址方式为( ) A.立即寻址B.直接寻址C.段内间接寻址D.寄存器寻址 5. 中断矢量表中存放的是( ) A. 中断类型号 B. 断点地址 C. 中断服务程序 D. 中断服务程序入口地址 6. 8086 的汇编语言指令系统中的条件转移指令可以使程序转移到( ) A. 段内的任何地方 B. 距该指令偏移地址为-32768~+32767的地方 C. 距该指令偏移地址为-128~+127的地方. D. 段外 7. 能定义ASCII码字符串的数据定义语句有( ) A. DB,DW,DD,DQ,DT B. DB,DW,DD C. DB, DW D. DB; 8. 若(AL)=87H,执行ADD AL,0F5H后,S,Z,C,O,P的状态为( ) A.SF=0,ZF=0,CF=1,OF=1,PF=0 B.SF=1,ZF=0,CF=1,OF=0,PF=1 C.SF=0,ZF=0,CF=0,OF=1,PF=0 D.SF=1,ZF=0,CF=1,OF=1,PF=1 9. 比较指令CMP( ) A. 专用于有符号数比较 B. 专用于无符号数比较 C. 专用于串比较 D. 不区分比较的对象是有符号数还是无符号数 10. 数据传送指令对标志位的影响为( ) A.都不影响;B.都影响; C.除了SAHF,POPF,其它均不影响. D.除了控制标志位,其它均不影响 三、判断题 ( )31. 段间调用的子程序必须由伪操作FAR说明为远过程。

汇编语言王爽第二版课后答案

第一章基础知识 检测点1.1(第8页) ---------------------- (1) 13 (2) 1024,0,1023 (3) 8192,1024 (4) 2^30,2^20,2^10 (5) 64,1,16,4 (6) 1,1,2,2,4 (7) 512,256 (8) 二进制 注意: 1.第4题中的符号'^'指求幂运算(如: 2^30指2的30次方) 第二章寄存器(CPU工作原理) 检测点2.1(第18页) ---------------------- (1)写出每条汇编指令执行后相关寄存器中的值。第一空:F4A3H 第二空:31A3H 第三空:3123H 第四空:6246H 第五空:826CH 第六空:6246H 第七空:826CH 第八空:04D8H 第九空:0482H 第十空:6C82H 第十一空:D882H 第十二空:D888H 第十三空:D810H 第十四空:6246H (2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。 解答如下: mov ax,2 add ax,ax add ax,ax add ax,ax 检测点2.2(第23页) ---------------------- (1)00010H,1000FH (2)1001H,2000H 第2题说明: 因为段的起始地址要为16的倍数。所以当段地址小于1001H或大于2000H时CPU都无法寻到。 检测点2.3(第33页) ----------------------答:CPU修改了4次IP的值。 情况如下: 第1次:执行完mov ax,bx后 第2次:执行完sub ax,ax后 第3次:读入jmp ax后 第4次:执行完jmp ax后 最后IP的值为0 实验1 查看CPU和内存,用机器指令和汇编指令编程(第33页) ----------------------------------------------------- 1.预备知识:Debug的使用 <此部分略> 2.实验任务(第43页) (1) <此部分略> (2) <此部分略> (3) 通过DEBUG中的D命令查看到主板的生产日期[以月、日、年,分隔符为'/'的格式]存储在内存ffff:0005~ffff:000C(共8个字节单元中)处。此生产日期不能被改变,因为其具有‘只读’属性。 (4) 通过向内存中的显存写入数据,使计算机根据写入的数据进行ASCII转换,并将转换后且可打印的字符输出到屏幕上。<注:关于显存的详细讨论不在此题范围> 第三章寄存器(内存访问) 检测点3.1(第52页) ---------------------- (1)(题目:略) 第一空:2662H 第二空:E626H 第三空:E626H 第四空:2662H 第五空:D6E6H 第六空:FD48H 第七空:2C14H 第八空:0000H 第九空:00E6H 第十空:0000H 第十一空:0026H 第十二空:000CH 提示:此题可在DEBUG中利用E命令在本机上按照题目中所给出的内存单元及其数据进行相应地修改,然后再用A命令进行写入(题目中所给出的)相应的汇编指令,最后再进行T命令进行逐步执行,以查看相应结果。

汇编语言复习资料

汇编语言程序设计复习提纲 一、单项选择题 1.指令指针寄存器是()。 2. DAL DB 67H NUM EQU 80H 则执行AND DAL,NUM语句后DAL中的内容是()。 A. E7H B. 80H C. 67H D. 0 3.与指令MOV AX,NOT 0F0H等效的汇编语言指令是()。 A. MOV AX,0FH B. MOV AX,0FF0FH C. MOV AX,000FH D. MOV AX,0F0H 4.一个有16个字的数据区,它的起始地址是70A0H:DDF6H,则这个数据区最末一个字单元的物理地址是()。 B 5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。 ,BX,CX,DX ,ES,CS,SS ,BP,IP,BX ,DI,BP,BX D 6.在串操作指令中,下列描述中不正确的是()。 MOVSB STOSB CMPSB LODSB D 7. ORG 0030H

DA1 DB 0 , ‘0’, 30H 偏移地址为0030H字存储单元的内容是()。 A 8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()。 A. CMP D 9.将汇编语言源程序翻译成机器码程序的程序是()。 A.编译程序 B.汇编程序 C.解释程序 D.目标程序 B 10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为()。 A. 1E4A6H B. 1E456H C. 1E556H D. 1E4F6H D 11.当程序顺序执行时,每取一条指令语句,IP指针增加的值是() A.由指令长度决定的字节数 A 12.若AX=349DH, CX=0FH。则执行指令 AND AX,CX后,AX的值是()。

生产统计报表的编制

生产统计报表的编制

生产统计报表的编制 (生产统计员培训资料) 一、工作汇报的作用 统计员的工作汇报就是及时、准确、完善的向相关部门呈递《生产统计报表》。尽量让我们高层管理人员对所管辖的下属部门的工作情况了如指掌,及时地发现问题作出决策,并使管理工作得以顺利进行。通过我们详细的汇报中了解生产计划的执行情况,了解生产进度、材料供应、计划执行状况,机器设备的运转状况等,可以及时掌握生产动态和异常情况,可以了解人员的思想变化等。可以及时发现工作中存在的困难和问题,生产中不可避免会出现这样或那样的问题,通过定期或不定期的工作汇报,可以及时了解这些困难或问题,并及时加以研究和解决,并把可能造成的各种损失降低到最小的程度。 二、工作汇报的内容,工作汇报的内容很多,现只就生产、质量、物料方面的内容做一个简单的介绍。 1、生产方面的汇报 (1)各类生产计划的完成情况 (2)各项工作的落实与执行情况 (3)生产进度状况与工时投入,生产跟踪情况。 (4)现场作业状况 (5)各类生产异动情况:包括进度异动、工艺异动、其它异动。 (6)生产人员工作情况 (7)各订单完成情况 (8)产品交货状况 2、质量方面的汇报 (1)各道工序、各车间(班组)的产品质量情况 (2)质量问题及质量异动 (3)各种产品的不合格率机造成因素 (4)内部质量事故的调查处理及质量问题的追溯 (5)质量问题的处理汇报 (6)质量目标达成情况 (7潜在的质量隐患

生产性信息是评价工厂的生产性,使其上升的指标,具体有以下内容 (1)生产性=产出量÷投入量 (2)原料生产性=生产量÷原材料使用量 (3)劳动生产性=生产量÷作业人数 (4)设备生产性=生产量÷设备台数 (5)作业能率=计划工时÷实绩工时×100% (6)稼动率=有效劳动时间÷总劳动时间×100% (7)作业度=实际生产量÷标准生产量×100% (8)出勤率=出勤人数÷在籍人数×100% (9)良品率=良品数÷检查数×100% (10)材料利用率=产品数量÷材料使用量×100% 五、生产统计报表的作用及填制 生产日报表是生产部门向相关部门或上级主管的汇报形式中的一种,其用途,在于使管理者能够了解生产进度,发现生产异常并能依此做出适当反应处理。其内容一般包括:产量、工时、效率、成本的基础资料(成本单位;材料、部品费;使用数量;经费): 1、《个人生产日报表》:是我们统计的最基本记录,其内容有姓名、年月日、工种(岗位)、品种、工序、产量(毛数、入库数、合格数)工时利用(准备、生产、异常分析)、废品分析、班组长、检验员,其中工时利用包含操作者的工时利用和设备的工时利用,所以我们必须要求操作者填制相关的设备工具名称和编号,并能很好的监督工时统计表的正确性。单个产品的生产必须以单个工时为基准填制,不能用整体代替个别,甚至用区间范围代替单个产品工时给生产能力的整合带来障碍和不定性因素。 2、《工时统计表》包括人员的工时和设备工时。(工时记录)班组长统计直接发生的工时,车间统计员分别在班组统计报表上汇总,班组每日统计,车间每日汇总:年月日、作业人员或单位(班组统计在“作业人员或单位栏”填作业人员姓名、设备名称、车间统计则填写工序别或工段别)、工时(标准工时、实际工时、累积实际工时、效率分析)、复核、统计人员 3、《材料消耗记录》(用料记录)班组长、车间统计员分别统计自己所在层次的用料情况,每日统计,层与层的统计数据要相衔接,并与库房相衔接。

相关文档
最新文档