文档库 最新最全的文档下载
当前位置:文档库 › 第三章 8086汇编语言程序格式

第三章 8086汇编语言程序格式

第三章 8086汇编语言程序格式
第三章 8086汇编语言程序格式

第三章8086汇编语言程序格式

练习题

3.4.1 单项选择题

1.下列选项中不能作为名字项的是()。

A.FH B.A3 C.3B D.FADC

2.下列指令不正确的是()。

A.MOV AL,123 B.MOV AL,123Q

C.MOV AL,123D D.MOV AL,123H

3.下列指令不正确的是()。

A.MOV BL,OFFSET A B.LEA BX,A

C.MOV BX,OFFSET A D.MOV BX,A

4.若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=()。

A.0 B.1 C.2 D.3

5.若定义“A EQU 100”,执行“MOV AX,A”后,AX=()。

A.A的偏移地址B.A单元中的内容

C.100 D.A的段地址

6.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配()字节单元。

A.10 B.20 C.22 D.24

7.若定义“C DD 2,4”,则该伪指令分配()个字节单元。

A.2 B.4 C.6 D.8

8、伪指令是()规定的汇编说明符,它在源程序汇编时进行说明。

A、DEBUG

B、LINK

C、MASM

D、EDIT

9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个()文件。

A..LST B..EXE C..MAP D..ASM

10.LINK命令执行后可以生成一个以()为扩展名的文件。

A.ASM B.EXE C.OBJ D.COM

11.一个段最大可定义()字节。

A.1M B.64K C.32K D.16K

12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选()。

A.BYTE B.WORD C.PARA D.PAGE

13.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的()。

A.相同B.长C.短D.不定

14.宏指令与子程序相比,子程序调用的执行速度比宏指令的()。

A.相同B.快C.慢D.不定

15.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响()的设定。

A.源程序B.目标程序C.汇编程序D.连接程序

16.设A和B为字变量,C为标号,下列指令中不正确的是()。

A.MOV AX,A B.MOV AX,B

C.JNE A D.JMP C

17.代码段中的语句()表示该段结束。

A.ASSUME B.CODE ENDS

C.START:MOV AX,DATA D.END START

18.过程定义语句以“过程名PROC”开始,以过程名()结束。

A.ENDS B.ENDP C.ENDM D.END

19.一个段可以放在内存的任何地方,但起始地址应该从一个能被()整除的单元地址开始。

A.16 B.32 C.64 D.128

20.在数据定义语句中,下列描述不正确的是()。

A.存放存储单元的地址可以用字节表示

B.存放存储单元的地址可以用字表示

C.存放存储单元的地址可以用双字表示

D.存放存储单元的地址可以用四字表示

3.4.2 多项选择题

1.在8086汇编语言中,语句的种类有()。

A.指令性语句B.指示性语句C.汇编语句D.说明语句

2.在下列的选项中,不能作为名字的有()。

A.AX B.3MA C.ABCD D.MOV

3.在下列的选项中,作为变量的类型有()。

A.字节B.字C.双字D.近程

4.在下列的选项中,作为标号的类型有()。

A.DB B.DD C.NEAR D.FAR

5.在运算符OFFSET后可以是()。

A.标号B.变量C.表达式D.数字

6.在指令“LEA BX,X”中的X可以是()。

A.标号B.变量C.表达式D.数字

7.不能分配内存单元的伪指令语句有()。

A.EQU B.DW C.= D.DD

8.定义一个段的伪指令语句有()。

A.NAME SEGMENT B.NAME PROC

C.NAME ENDP D.NAME ENDS

9.定义一个过程的伪指令语句有()。

A.NAME SEGMENT B.NAME PROC

C.NAME ENDP D.NAME ENDS

10.宏指令与子程序的主要区别在于()。

A.完成的功能完全不同B.目标程序的长度不同

C.执行程序的速度不同D.汇编时处理的方式不同

3.4.3 填空题

1.汇编语言的语句有指令语句和,宏指令是的另一种形式。

2.标号的三个属性是段地址、和类型。

3.变量的三个属性是段地址、和类型。

4.标号的类型有和。

5.变量的类型有、、、四字(八字节)和十字节。

6.等价语句不能重复定义、等号语句重复定义。

7.等价语句和等号语句内存单元。

8.语句“MOV BX,OFFSET A”可用一条指令代替。

9.若定义“A DW 1234H”,指令“MOV AL,BYTE PTR A”执行后,AL= 。

10.若定义“B DW 1,2,30 DUP(5)”,则B分配的内存单元数是字节。

11.若定义C DW ‘AB’,则“MOV AL,BYTE PTR C”执行后,AL= 。

12.在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先,否则汇编程序进行汇编时就会。

13.使用伪指令和定义一个段。

14.使用伪指令和定义一个过程。利用过程定义语句可以把程序分成小段,以便于、、调试和修改。

15.伪指令表示整个程序结束。

16.宏展开就是用宏定义取代源程序中的宏指令。若实元个数大于变元个数,则多余的实元。若实元个数少于变元个数,则多余的变元用代替。

17.汇编语言源程序经产生目标文件,它直接在机器上运行,还必须经过后形成可执行文件。

18.在数据段中使用字符串时,该字符必须用括起来。当定义含有多个字符的字符串时,只能使用伪指令。

19.用汇编语言编写的程序称为,其扩展名为。

20.在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以次调用它。

3.4.4 简答题

1.按照下列题目要求写出每小题的伪指令。

(1)将12H、34H、56H、78H存放在字节变量A的存储单元中。

(2)将12、1638H、0E52H存放在字变量B的存储单元中。

(3)将字符串COMPUTER存放在C变量的存储单元中。

(4)将D字节变量的100个单元设置为0。

(5)将D的偏移地址存放在E变量中。

2.设数据段定义如下:

DATA SEGMENT

BUF1 DB 2,3

BUF2 DW 4,5,6

BUF3 DB 2,100 DUP(0)

BUF4 DB ‘ABCDE’

BUF5 DW BUF3

BUF6 EQU $-BUF3

DATA ENDS

请回答:(1)该数据段占用的内存有多少字节?

(2)BUF5单元中的值是多少?

(3)BUF6的值是多少?

(4)执行“MOV AL,BUF4+2”指令后,AL= 。

(5)执行“MOV AX,WORD PTR BUF1”指令后,AX= 。3.设数据段定义如下:

DATA SEGMENT

A DW 23,45

B DW ‘EF’

C = $+5

D DB 10 DUP(?)

E EQU $-D

F DW D

DATA ENDS

请回答:(1)该数据段占用的内存有多少字节?

(2)C的值为多少?

(3)E的值为多少?

(4)执行“MOV AX,F”指令后,AX= 。

(5)执行“MOV AL,BYTE PTR B”指令后,AL= 。4.设数据段定义如下:

DATA SEGMENT

BUF1 DB 36H,3,2

BUF2 DW 1364H,253H

BUF3 DB 30 DUP(‘ABC’)

BUF4 DW $—BUF3

BUF5 DB 100 DUP(0)

DATA ENDS

请回答:(1)执行“MOV AX,WORD PTR BUF1”后,AX= 。

(2)执行“LEA BX,BUF3”后,BX= 。

(3)执行“MOV CX,BUF4”后,CX= 。

(4)执行“MOV AL,BUF3+2”后,AL= 。

(5)执行“MOV AX,BUF2+1”后,AH= 。

5.设数据段定义如下:

DATA SEGMENT

A1 DB 10 DUP(‘’)

A2 DW 1234H,5678H,341H

A3 DW $—A2

A4 DW A2

A5 DB 7,3,2

DATA ENDS

请回答:(1)用一条指令将A2的偏移地址送BX。

(2)将A1的第6个字节送字符‘A’的ASCII码

(3)将A2的第3个字节的内容送AL。

(4)将A2的第3个单元开始的字内容送AX。

(5)用一条伪指令求出A1和A2所占字节数(设伪指令的变量为C)。6.设数据段定义如下:

DATA SEGMENT

A DW 2,3

B DB 100 DUP(0)

C D

D 12345678H

D DB $—B

E DW B

DATA ENDS

请回答:(1)用一条指令将C的第2个字节的内容取出并送AL。

(2)执行完“MOV AL,LENGTH B”后,AL= 。

(3)执行完“MOV AL,TYPE C”后,AL= 。

(4)执行完“MOV AL,LENGTH A”后,AL= 。

(5)执行完“MOV AL,SIZE B”后,AL= 。

(6)执行完“MOV AL,D”后,AL= 。

(7)执行完“MOV BX,E”后,BX= 。

(8)执行完“MOV AL,A+2”后,AL= 。

7.设数据段定义如下:

DATA SEGMENT

A DW 1,2,3

B DB ‘ABCDEF’

C DW ‘AB’

D DB 12H,34H,56H

E = $+5

DATA ENDS

请回答:(1)用一条指令将B字符串中的字符‘E’送AL。

(2)用一条指令将D变量中的第2个、第3个字节的内容送AX。

(3)用一条指令将A变量中的第3个字节送AL。

(4)“MOV AX,C”执行后,AX= 。

(5)“MOV AL,E”执行后,AL= 。

8.按下列要求写出数据段DA TA的相应内容。

(1)TAB是0~9的ASCII码表。

(2)STR是字符串变量,字符串为COMPUTER。

(3)BUF是100个空格的缓冲区。

(4)COUNT是计算BUF缓冲区中字节数的常量变量。

(5)AD是存放TAB的偏移地址变量。

(6)D是字节变量,数值为15H,2,3

9.按下列要求写出数据段DSEG的相应内容。

(1)STR是存放字符ABCDE的字符串变量。

(2)D是存放十进制BCD数据372,2673,6852的字变量。

(3)BUF是存放10个0的字节缓冲区。

(4)E是存放BUF偏移地址和段地址的双字变量。

(5)F是常量,其值为5。

10.简述宏指令与子程序的主要区别。

11.在操作系统状态下,执行MASM程序对某一汇编语言源程序进行汇编后,除产生目标文件外,通过对答方式还可以产生对应源程序的另外两个文件。请指出:

(1)这两个文件的扩展名是什么?

(2)这两个文件的功能是什么?

12.简述汇编程序对宏调用作宏展开的过程。

13.设数据段定义如下:

DA TA SEGMENT

A DW 1,2

B DB 3,4

C DB ‘ABCD’

D = $—C

E DB 3 DUP(0)

DA TA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。

(2)变量A、B、C、E的偏移地址各是多少?

(3)变量D的值是多少?

14.设数据段定义如下:

DA TA SEGMENT

BUF1 DW 123H

BUF2 DB ‘SIMPLE’

BUF3 DW $+4

BUF4 EQU $—BUF1

DATA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。

(2)BUF1、BUF2、BUF3的偏移地址各是多少?

(3)BUF4的值是多少?

(4)“MOV AL,BUF2+5”执行后,AL= 。15.设数据段定义如下:

DATA SEGMENT

ORG = 4

A EQU 100

B DB ‘ABC’,2

C DW 101B

D EQU B+4

DATA ENDS

请回答:(1)画出该数据段在内存中的分配示意图。

(2)B、C的偏移地址各是多少?

(3)“MOV AX,D”执行后,AX= 。

五.判断改错题

1.设数据段定义如下,判断各语句是否正确,如有错误则改正。

DATA SEGMENT

A D

B 123H

B DW 23,45678H

C DW ‘ABCD’

D DB 100 DUP(‘ABC’)

E DB ($—D)/3

DATA END

2.设数据段定义如下:

DATA SEGMENT

BUF1 DB 2,3

BUF2 DW 3

BUF3 DD 5

BUF4 EQU $—BUF1

BUF5 DB ‘ABCD’

BUF6 DW BUF5

DATA ENDS

请判断下列指令是否正确,如果有错请改正。

(1)MOV AX,BUF1

(2)MOV AL,BUF5

(3)MOV AX,BUF4

(4)LEA BL,BUF2

(5)MOV AX,BUF3

(6)MOV [BX],TYPE BUF3

(7)MOV [BX],WORD PTR BUF3

(8)MOV BUF5,AL

(9)MOV BUF6,BUF2

(10)MOV BX,BUF6

3.判断下列伪指令是否正确,如果有错请改正。

(1)DA TA SEG

ENDS

(2)CODE SEGMENT

CODE END

(3)MA SEGMENT

ENDM

(4)STACK SEGMENT ‘STACK’

(5)A SEGMENT

B DW 1

C DB 123H

A ENDS

(6)MYNAME SEGMENT PARA

MYNAME ENDS

六.程序分析题

1.分析下列程序,说明程序的功能。

DATA SEGMENT

A D

B 18H,34H,05H,06H,09H

DB 0AH,0CH,11H,12H,14H

B DB 3,4

C DB 2 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,A

MOV CX,2

MOV SI,OFFSET B

LEA DI,C

L: MOV AL,[SI]

XLA T

MOV [DI],AL

INC SI

INC DI

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

2.分析下列程序,说明程序的功能。

DATA SEGMENT

TAB DB 30H,31H,32H,33H,34H,35H

DB 36H,37H,38H,39H

STR DB 3,2,7,6,8

COUNT EQU $—STR

BUF DB 10 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,TAB

LEA DI,BUF

MOV CX,COUNT

LEA SI,STR

L: MOV AL,[SI]

XLA T

MOV [DI],AL

INC SI

INC DI

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

3.分析下列程序,说明程序的功能。

DATA SEGMENT

A D

B 12,34,56H,0

B DB 53H,62,31H,0

C DB 4 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

LEA SI,A

LEA DI,B

LEA BX,C

MOV CX,4

CLC

L:MOV AL,[SI]

ADC AL,[DI]

MOV [BX],AL

INC SI

INC DI

INC BX

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

4.分析下列程序,说明程序的功能。

DATA SEGMENT

A DW ?

B DW ?

C DW ?

D DW ?

E DW 2 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

MOV AX,A

MOV DX,0

ADD AX,B

ADC DX,0

ADD AX,C

ADC DX,0

MOV CX,D

DIV CX

MOV E,AX

MOV E+2,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

5.分析下列程序,说明程序的功能。

DATA SEGMENT

A D

B 36H

B DB 0DH,0AH,‘NUM=’

C DB 4 DUP(0)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

MOV AL,A

LEA BX,C

MOV CL,4

SHR AL,CL

AND AL,0FH

CMP AL,9

JNA N

ADD AL,7

N:ADD AL,30H

MOV [BX],AL

INC BX

MOV AL,A

AND AL,0FH

CMP AL,9

JNA M

ADD AL,7

M:ADD AL,30H

MOV [BX],AL

INC BX

MOV BYTE PTR[BX],‘H’

INC BX

MOV BYTE PTR[BX],‘$’

LEA DX,B

MOV AH,9

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END START

6.分析下列程序

DA TA SGEMENT

A DW 123H,456H,789H

B DB 12H,34H,56H,78H

C DB 10 DUP(2,3)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA

MOV DS,AX

LEA SI,A

LEA DI,C

MOV CX,10

L:MOV AL,[SI]

MOV [DI],AL

INC SI

INC DI

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

请回答:C的前5个字节单元中的内容依次是什么?7.分析下列程序

DATA SEGMENT

A D

B 83H,62H,56H,0FAH,67H

B DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA BX,A

MOV CX,5

L:MOV AL,[BX]

CMP AL,100

JAE M

INC BYTE PTR B

M:INC BX

LOOP L

MOV AH,4CH

INT 21H

CODE ENDS

END START

请回答:(1)该程序完成什么功能?

(2)程序运行后,B中的内容是多少?8.分析下列程序。

DA TA SEGMENT

A D

B 23H

B DB 67H

C DB 0

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DA TA

MOV DS,AX

MOV AL,A

CMP AL,B

JGE L

XCHG AL,B

MOV A,AL

L: MOV C,AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

请回答:(1)该程序完成什么功能?

(2)程序执行后,A、B、C变量中的值各为多少?

9.宏定义语句如下:

M MACRO X,Y,Z

MOV DX,X

MOV AH,Y

INT Z

ENDM

宏调用语句如下:

M BUF1,9,21H

M BUF2,9,21H

请写出上述两条宏调用的宏展开语句。

10.宏定义语句如下:

W MACRO X,Y,Z

LOCAL L

LEA BX,X

MOV CX,Y

MOV AX,0

L:ADD AL,[BX]

ADC AH,0

INC BX

LOOP L

MOV Z,AX

ENDM

请回答:执行“W BUF,100,C”指令后宏调用的程序功能是什么?

第三章 8086汇编语言程序格式

第三章8086汇编语言程序格式 练习题 3.4.1 单项选择题 1.下列选项中不能作为名字项的是()。 A.FH B.A3 C.3B D.FADC 2.下列指令不正确的是()。 A.MOV AL,123 B.MOV AL,123Q C.MOV AL,123D D.MOV AL,123H 3.下列指令不正确的是()。 A.MOV BL,OFFSET A B.LEA BX,A C.MOV BX,OFFSET A D.MOV BX,A 4.若定义“BUF DB 1,2,3,4”,执行MOV AL,TYPE BUF 后AL=()。 A.0 B.1 C.2 D.3 5.若定义“A EQU 100”,执行“MOV AX,A”后,AX=()。 A.A的偏移地址B.A单元中的内容 C.100 D.A的段地址 6.若定义“B DW 1,2,10 DUP(0)”,则该伪指令分配()字节单元。 A.10 B.20 C.22 D.24 7.若定义“C DD 2,4”,则该伪指令分配()个字节单元。 A.2 B.4 C.6 D.8 8、伪指令是()规定的汇编说明符,它在源程序汇编时进行说明。 A、DEBUG B、LINK C、MASM D、EDIT 9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个()文件。 A..LST B..EXE C..MAP D..ASM 10.LINK命令执行后可以生成一个以()为扩展名的文件。 A.ASM B.EXE C.OBJ D.COM 11.一个段最大可定义()字节。 A.1M B.64K C.32K D.16K 12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选()。 A.BYTE B.WORD C.PARA D.PAGE 13.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的()。 A.相同B.长C.短D.不定 14.宏指令与子程序相比,子程序调用的执行速度比宏指令的()。 A.相同B.快C.慢D.不定 15.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响()的设定。 A.源程序B.目标程序C.汇编程序D.连接程序

《汇编语言与接口专业技术》习题解答第三章

《汇编语言与接口技术》习题解答(第三章)

————————————————————————————————作者:————————————————————————————————日期:

问题: 画图说明下列语句分配的存储空间及初始化的数据值 解答: (1)byte_var DB 'ABC',10,10h,'EF',3 DUP(-1,?,3 DUP(4)) (2)word_var DW 10h,-5,3 DUP(?) 习题3.10 ‘A ’‘B ’‘C ’1010h ‘E ’‘F ’-1-444... 41h 42h 43h 0ah10h 45h 46h ffh -04h 04h 04h 3个10h 0FBh FFh ---- --10h -5?? ? 3.16 解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 3.18 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 3.19 解: .model small .stack .data bufX dw -7 signX db ? .code .startup cmp bufX,0 ;test bufX,80h

jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 3.20 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h 3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H 等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ;wjxt322.asm .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ? ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 3.30 解: lucase proc push bx mov bx,offset string cmp al,0 je case0

多种文件格式

多种文件格式 exe 可执行文件,应用程序 com 系统可执行文件 bat 批处理文件 doc word文件 dot 模板文件 xls excel文件 ppt 幻灯片演示文稿文件 mp3 音乐文件 dll 动态链接库文件 torrent BT种子 wma 音乐文件 gif 动画文件 swf flash播放影片 jpg 图片文件 bmp 位图文件 html (htm)网页文件 psd photoshop文件 dwt CAD文件 rar(zip) 压缩文件 rm(rmvb) realplay播放格式文件 txt 文件文件 ini 配置信息文件 log 日志文件 hlp 帮助文件 regACA Microsoft的代理使用的角色文档 acf 系统管理配置 acm 音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能 aif 声音文件,支持压缩,可以使用Windows Media Player和QuickTime Player播放 AIF 音频文件,使用Windows Media Player播放 AIFC 音频文件,使用Windows Media Player播放 AIFF 音频文件,使用Windows Media Player播放 ani 动画光标文件扩展名,例如动画沙漏。 ans ASCII字符图形动画文件 arc 一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开 arj 压缩文件。可以使用WinZip,WinRAR,PKARC等软件打开 asf 微软的媒体播放器支持的视频流,可以使用Windows Media Player播放 asp 微软的视频流文件,可以使用Windows Media Player打开 asp 微软提出的Active Server Page,是服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。可以使用Visual InterDev编写,是目前的大热门 asx Windows Media 媒体文件的快捷方式 au 是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件Waveform Hold and Modify 播放。Netscape Navigator中的LiveAudio也可以播放.au文件 avi 一种使用Microsoft RIFF规范的Windows多媒体文件格式,用于存储声音和移动的图片

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

《汇编语言与接口技术》答案习题解答(第三章)

解: mov ah,1 ;只允许输入小写字母 int 21h sub al,20h ;转换为大写字母 mov dl,al mov ah,2 int 21h ;显示 解: mov ax, bufX cmp ax, bufY jge done mov ax, bufY done: mov bufZ, ax 解:

.model small .stack .data bufX dw -7 signX db .code .startup cmp bufX,0 ;test bufX,80h jl next ;jnz next mov signX,0 jmp done next: mov signX,-1 done: .exit 0 end 解: mov dl,’2’ mov ax,bufX cmp ax,bufY je next1 dec dl next1: cmp ax,bufZ je next2 dec dl next2: mov ah,2 int 21h

编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。 ; .model small .stack .data b_data db 12h,45h,0f3h,6ah,20h,0feh,90h,0c8h,57h,34h ;原始数据num equ 10 ;数据个数 sum db ;预留结果单元 .code .startup xor si, si ;位移量清零 xor al, al ;取第一个数 mov cx, num ;累加次数 again: add al, b_data[si] ;累加 inc si ;指向下一个数 loop again ;如未完,继续累加 mov sum, al ;完了,存结果 .exit 0 end 解: lucase proc push bx mov bx,offset string cmp al,0 je case0 cmp al,1

文件控制程序格式

文件控制程序格式 Document number:PBGCG-0857-BTDO-0089-PTT1998

1.目的 对质量文件进行有效的控制,以确保各有关场所均使用文件的有效版 本。 2.适用范围 适用于与本厂质量管理体系有关文件的控制和管理。 3.引用文件 ISO 9001:2000 文件要求 《质量手册》章 4.定义 无 5.职责 5.1厂长负责《质量手册》和《程序文件》的批准。 5.2管理者代表负责《质量手册》、《程序文件》的组织编写和审核。 5.3相关部门负责作业文件、技术文件等的起草,相应部门负责人审核,厂 长批准。 5.4厂办负责体系文件的发放。 5.5质检科负责技术文件的发放。 5.6各部门负责持有受控文件的管理。 6.程序内容 6.1文件的分类和编号、格式 6.1.1文件见“文件一览表”其分类如下: A质量手册;B 程序文件;

C 作业文件; D 技术文件; E 外来文件。 6.1.2 文件的编号 A.质量手册 HD-QM-XXXX 引用质量标准版本 质量手册英文缩写 华东彩印厂的缩写B.程序文件 HD-QP-X XX X 版次 顺序号 质量标准对应章节 英文“程序”缩写 C.作业文件 HD-QW-XXX XX X 版次 顺序号 程序文件编号 作业文件缩写D.技术文件 HD-JS-XX X 版次

顺序号 技术文件缩写 6.1.3 体系文件的格式 6.1.3.1 正文部分 1.目的 简要说明文件要解决的问题和要达到的效果 2. 适用范围 规定文件实施的领域和/或适用的部门、人员。 3. 引用文件 列出本文件中引用的上一级文件。如无本条时,可写无。 4. 定义 给出特定名词的含义,如无本条时,可写无。 5. 职责 规定出实施该文件的主要部门及相关部门职责、权限。 6. 工作流程或内容 按活动的逻辑顺序描述活动的细节。规定工作的内容、步骤和具体要 求,包括应完成的工作量和应达到的质量,写出作什么、何时、何 地、谁来做,应使用什么材料、设备和文件,如何对活动进行控制和 记录。 7. 质量记录 列出执行本文件需要的质量记录。 8. 相关/支持性文件 列出与本文件相关或支持性文件。 正文部分的内容可根据需要自行剪裁。 6.1.3.2 刊头格式 包括企业名称、文件名称、文件编号、生效日期、页号、受控号、版 本 6.1.3.2 刊尾格式 第一页格式:包括拟稿、审核、批准;其他页无刊尾 6.1.4 部门受控号 生产办—06;仓库—07 。 6.2文件的编写

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章基础知识 检测点1.1(第9页) (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为13位。 (2)1KB的存储器有1024个存储单元,存储单元的编号从0到1023。 (3)1KB的存储器可以存储8192(2^13)个bit,1024个Byte。 (4)1GB是1073741824(2^30)个Byte、1MB是1048576(2^20)个Byte、1KB是1024(2^10)个Byte。 (5)8080、8088、80296、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)在存储器中,数据和程序以二进制形式存放。

(1)1KB=1024B,8KB=1024B*8=2^N,N=13。 (2)存储器的容量是以字节为最小单位来计算的,1KB=1024B。 (3)8Bit=1Byte,1024Byte=1KB(1KB=1024B=1024B*8Bit)。 (4)1GB=1073741824B(即2^30)1MB=1048576B(即2^20)1KB=1024B(即2^10)。(5)一个CPU有N根地址线,则可以说这个CPU的地址总线的宽度为N。这样的CPU 最多可以寻找2的N次方个内存单元。(一个内存单元=1Byte)。 (6)8根数据总线一次可以传送8位二进制数据(即一个字节)。 (7)8086的数据总线宽度为16根(即一次传送的数据为2B)1024B/2B=512,同理1024B/4B=256。 (8)在存储器中指令和数据没有任何区别,都是二进制信息。

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.wendangku.net/doc/157491937.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

汇编语言第三章答案

给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么 (1) 立即寻址 (2) 直接寻址 (3) 使用BX的寄存器寻址 (4) 使用BX的简接寻址 (5) 使用BX的寄存器相对寻址 (6) 基址变址寻址 (7) 相对基址变址寻址 答:(1) 操作数在指令中,即立即数; (2) EA=D=7237H; (3) 无EA,操作数为(BX)=637DH; (4) EA=(BX)=637DH; (5) EA=(BX)+D=0D5B4H; (6) EA=(BX)+(SI)=8E18H; (7) EA=(BX)+(SI)+D=1004FH;超过了段的边界,最高进位位丢失,因此EA=004FH。 试根据以下要求写出相应的汇编语言指令 (1) 把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中。 (2) 用寄存器BX和SI的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中。 (3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回存储器中。 (4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回存储单元中。 (5) 把数0B5H与(AL)相加,并把结果送回AL中。 答:(1) ADD DX, BX (2) ADD AL, [BX][SI] (3) ADD [BX+0B2H], CX (4) ADD WORD PTR [0524H], 2A59H (5) ADD AL, 0B5H 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式: (1) 寄存器间接寻址 (2) 寄存器相对寻址 (3) 基址变址寻址 答:(1) MOV BX, OFFSET BLOCK ADD BX, (6–1)*2 MOV DX, [BX] (2) MOV BX, OFFSET BLOCK 改为:MOV BX, (6-1)*2 MOV DX, [BX+(6–1)*2] 也可MOV DX, BLOCK[BX] (3) MOV BX, OFFSET BLOCK MOV SI, (6–1)*2 MOV DX, [BX][SI] 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,

ARM汇编语言源程序格式

ARM汇编语言源程序格式ARM汇编语言源程序格式2010-11-16 13:52 来源:MCU嵌入式领域 常用ARM源程序文件类型 汇编语言程序的结构1 汇编语言程序的结构2 汇编语言程序的结构3 汇编语言程序的结构4 ARM的汇编语言程序一般由几个段组成,每个段均由AREA伪操作定义。 段可以分为多种,如代码段、数据段、通用段,每个段又有不同的属性,如代码段的默认属性为READONLY,数据段的默认属性为READWRITE。 本程序定义了两个段,第一个段为代码段codesec,它在存储器中存放用于程序执行的代码以及main函数的本地字符串;第二个段为数据段constdatasec,存放了全局的字符串,由于本程序没有对数据进行写操作,该数据段定义属性为READONLY。 汇编语言的行构成1 格式: [标签]指令/伪操作/伪指令操作数[;语句的注释] 所有的标签必须在一行的开头顶格写,前面不能留空格,后面也不能跟C 语言中的标签一样加上":";

ARM汇编器对标识符的大小写敏感,书写标号及指令时字母的大小写要一致; 注释使用";"符号,注释的内容从";"开始到该行的结尾结束 汇编语言的行构成2 标签 标签是一个符号,可以代表指令的地址、变量、数据的地址和常量。 一般以字母开头,由字母、数字、下划线组成。 当符号代表地址时又称标号,可以以数字开头,其作用范围为当前段或者在下一个ROUT伪操作之前。 指令/伪操作 指令/伪操作是指令的助记符或者定义符,它告诉ARM的处理器应该执行什么样的操作或者告诉汇编程序伪指令语句的伪操作功能。 汇编语言的标号1 标号代表地址。 标号分为段内标号和段外标号。段内标号的地址值在汇编时确定,段外编号的地址值在链接时确定。 在程序段中,标号代表其所在位置与段首地址的偏移量。根据程序计数器(PC)和偏移量计算地址即程序相对寻址。 在映像中定义的标号代表标号到映像首地址的偏移量。映像的首地址通常被赋予一个寄存器,根据该寄存器值与偏移量计算地址即寄存器相对寻址。 例如:

汇编语言程序设计(第四版)第3章【课后答案】

汇编语言程序设计第四版 【课后习题答案】--囮裑為檤 第3章汇编语言程序格式 〔习题3.1〕伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用? 〔解答〕 伪指令语句与硬指令语句的本质区别是能不能产生CPU动作; 伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。 〔习题3.2〕什么是标识符,汇编程序中标识符怎样组成? 〔解答〕 为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符; 汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号(如-,$,?,@)组成,不能以数字开头。 〔习题3.3〕什么是保留字,汇编语言的保留字有哪些类型,并举例说明。 〔解答 保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。 〔习题3.4〕汇编语句有哪两种,每个语句由哪4个部分组成? 〔解答〕 汇编语句有执行性语句和说明性语句; 执行性语句由标号、硬指令助记符、操作数和注释四部分组成; 说明性语句由名字、伪指令助记符、参数和注释四部分组成 〔习题3.5〕汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 〔解答〕 ⒈编辑文本编辑程序汇编语言源程序.asm ⒉汇编汇编程序目标模块文件.obj ⒊连接连接程序可执行文件.exe或.com

⒋调试调试程序应用程序 〔习题3.6〕区分下列概念: (1)变量和标号 (2)数值表达式和地址表达式 (3)符号常量和字符串常量 〔解答〕 (1)变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。 (2)数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。 (3)在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。 〔习题3.7〕假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 (1)mov byte ptr [bx],1000 (2)mov bx,offset myword[si] (3)cmp mybyte1,mybyte2 (4)mov al,mybyte1+mybyte2 (5)sub al,myword (6)jnz myword 〔解答〕 (1)1000超出了一个字节范围 (2)寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,myword[si] (3)两个都是存储单元,指令不允许 (4)变量值只有执行时才确定,汇编过程不能计算 (5)字节量AL与字量myword,类型不匹配 (6)Jcc指令只有相对寻址方式,不支持间接寻址方式 〔习题3.8〕OPR1是一个常量,问下列语句中两个AND操作有什么区别? AND AL,OPR1 AND 0feh 〔解答〕

体系文件编写格式模板与说明

基于业务流程的风险综合管控体系 程序文件编写说明 程序文件的编制按照《标准化工作导则第一部分:标准的结构和编写》(GB/T1.1-2009)的有关格式和要求执行。具体编写说明和模板如下: 编制说明 完整的程序文件由封面、管控信息、目次、正文(含附录)等组成。封面、管控信息、目次具体见模板,正文(含附录)编制说明如下: 正文由围、规性引用文件(可选)、术语和定义(可选)、职责、流程与风险、管理程序、记录表单(可选)、附录组成。构成要素可根据具体的文件容特性作相应调整。 1 围 主要阐明本程序文件编制的目的和意义,规的主要事项,适用围(包括适用哪些部门、单位,适用哪些业务活动)。 2 规性引用文件 与本程序文件所规的业务活动密切相关或需要遵照和引用的标准或规性文件,引用国家法律、法规或行政部门、上级单位发布的文件时,应列出文件名称、文号等。 3 术语和定义 视程序文件的具体需求而定,一般将文件关键词汇和容易发生歧义且影响较大的词语列入解释。 4 职责

明确该项业务活动的主管部门、协作部门、管理者各自的职能、权限和分工协作及相互关系等。一项职能只能由一个部门(或岗位)负责(归口管理部门),相关部门(岗位)承担相关职责。描述该部分时,必须明确职责的划分和接口,不能出现重叠和缺漏。 职责应简明、准确,表述时只涉及职责而不包含具体工作容。 5 流程及风险 该程序文件所规业务活动涉及的业务流程图(业务流程图和风险控制文档,本处只列表,详细业务流程图和风险控制文档放在“附录”中)。 5.1 流程及风险控制文档的编制 控体系中已有且适用的流程和风险控制文档可直接采用,不适用的进行修改;控体系中未包含的流程和风险控制文档需补充完善,流程用VISIO绘制,风险控制文档用EXCEL编制。 5.2 流程编号 流程编号采用项目组与各处室确定的公司业务流程框架中的流程编号,在具体编制程序文件时,如确需增加业务流程,由相关处室与项目组沟通后共同确定其编号。 5.3 风险编号 控体系中已有的风险和编号继续采用,新增加的风险按照以下规则编制: (1) L.1、L.2、L3……(法律风险); (2) F.1、F.2、F.3……(控风险); (3) HSE.1、HSE.2、HSE.3……(健康、安全、环境风险); (4) Q.1、Q.2、Q.3……(质量风险);

8086 汇编语言中断程序设计

汇编语言程序设计实验报告 学院:计算机科学与技术专业:计算机科学与技术班级:计科131

LEA DX,FNAME MOV CX,0 ;语句1 INT 21H JC EXIT MOV FNUM,AX MOV BX,AX ;语句2 MOV CX,100 MOV AH,40H LEA DX ,BUF INT 21H MOV BX,FNUM MOV AH,3EH INT 21H EXIT: MOV AH,4CH INT 21H CODE ENDS END START 使用相应的文本编辑器建立文件LAB7.asm,内容如上所示。 2.汇编并运行此程序后,在当前目录建立的文件名是什么?其内容是什么? 1>汇编: C:\masm> masm lab7; 2>连接: C:\masm> link lab7; 3>运行: C:\masm> lab7 3.若将语句1 改为mov cx,1,则运行情况与前面会有什么区别? 4.若将语句1 改为mov cx,2,则运行结果同上会有什么不同?并简要说明此语句的作用. 5.若将语句2 改为mov bx,1,则运行结果会有什么不同?简要说明则语句的作用. 实验二:编写0 号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串“divide error!”,然后返回到DOS。源程序下: assume cs:code code segment start: mov ax,cs mov ds,ax

mov si,offset do mov ax,0 mov es,ax mov di,200h mov cx,offset doend-offset do ;安装中断例程cld rep movsb mov word ptr es:[0],200h mov word ptr es:[2],0 ;设置中断向量表 mov dx,0ffffh mov bx,1 ;测试一下 div bx mov ax,4c00h int 21h do:jmp short dostart db 'divide error!' dostart: mov ax,0 mov ds,ax mov si,202h mov ax,0b800h mov es,ax mov di,160*12+60 mov cx,13 s: mov al,ds:[si] mov ah,15 mov es:[di],ax inc si inc di inc di loop s mov ax,4c00h int 21h doend:nop code ends end start

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

第一章基础知识 检测点(第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命令进行逐步执行,以查看相应结果。

程序文件范本

工程有限公司 LS/CX 01-2009 电梯安装、维修 程序文件 编制: 审核: 批准: 受控状态: 版本状态:第 1版第 1次 发放编号: 手册持有人: 2008—12—09发布 2009—01—01实施 机电工程有限公司发布

程序文件目录

一、安全质量监察和监督检查程序 1.目的 接受特种设备安全监督管理部门制定并公布的安全技术规范的要求进行生产活动的监察。 2.适用的范围 适用于本公司接受安全监察管理 3.相关文件 《法律法规和其他要求控制程序》 4.职责 4.1 公司综合管理办公室是本程序的归口管理部门,负责法律法规和其他公开要求的收集、确认、统一编号、发放和归档,并与特种设备安全监察部门经常保持联系,以便了解最新信息。 4.2工程部、其他部门具体实施接受特种设备安全监察工作。 5.工作程序 5.1 综合管理办公室负责组织学习相关法律法规; 5.2 工程部和其他部门提供以下信息: (1)确认无超许可范围进行生产和销售的行为; (2)自觉遵守有关法律、法规、规范、标准的情况; 5.3 工程部牵头组织检查有关法律、法规、规范、标准的执行情况,并向管理者代表报告检查情况,执行《监视和测量控制程序》的有关规定。如果问题严重,管理者代表应向最高管理者报告,并采取必要的纠正措施。 6.相关记录 《适用法律法规和其他要求清单》 二、文件和记录控制程序 1 目的

对质量环境职业健康安全管理体系文件进行控制,确保在使用场所均能得到适用文件的有效版本。加强对记录的控制,以提供符合要求和质量环境职业健康安全管理体系有效运行的证据。 2 适用范围 适用于本公司对质量环境职业健康安全管理体系所使用的文件和记录的控制。 3 相关文件 《内部审核控制程序》 《管理评审控制程序》 《纠正、预防和改进措施控制程序》 《监视和测量控制程序》 4 职责 4.1 综合管理办公室(贯标办公室)是本程序的编制、修改并实施归口管理的部门;工程质量部负责施工技术文件的管理。 4.2 各部门和工程队均是本程序的配合并实施的单位。 4.3 最高管理者(总经理)负责质量(质量环境职业健康安全管理)手册批准。 4.4 管理者代表(总工程师兼任)负责审核质量手册和批准程序文件。 5 工作程序 5.1 文件控制程序 5.1.1 文件概念 文件系指信息及其承载媒体。媒体的形式可以是纸张、计算机磁盘、光盘、照片、标准样品或其他电子媒体及其组合等。 质量环境职业健康安全管理体系文件是质量环境职业健康安全管理体系运行的依据,可以起到沟通意图、统一行动的作用。 公司的质量环境职业健康安全管理体系文件的范围包括: (1)形成文件的质量、环境、职业健康安全方针和目标; (2)质量手册; (3)GB/T19001-2000、GB/T24001-1996和GB/T28001-2001标准规定的程序文件; (4)确保对过程的有效策划、运行和控制所需要的文件,例如质量计划(施工组织设计)、程序文件和相关的规范、标准以及“规定”、“安排”、“方式”等文件; (5)记录,阐明所取得的结果或提供完成活动的证据的文件;

8086汇编语言程序设计实验指导书

汇编语言上机实验指导书 一、概述 上机实验总学时为16学时,其中综合性实验为2学时。实验共有6项暂定为8次,每次2学时。 1.实验辅导的主要内容 实验辅导的内容包括每个实验的实验目的;实验内容;对实验的算法及实验方法的必要说明;实验准备;实验步骤;实验报告要求;实验程序及参考框图。开始的实验介绍较细,后面的实验简要介绍。 2.实验的软硬件要求 关于汇编语言程序设计的硬件要求不高,有IBM-PC/XT即可,但应有彩色显示器以便进行图形实验。软件方面应有MASM.EXE5.0版(包括LINK.EXE),与MS-DOS版本配套的DEBUG程序和EDIT.EXE编辑软件(其它编辑软件也可以)。 3.加强实践能力的培养 实验目的不光是为了验证书本理论,更重要的是对实践能力的培养。其中包括: 实际调试程序的能力,例如修改程序参数的能力,查看结果的能力,设置断点调试运行的能力等; 开发汇编语言应用程序的能力,例如应用有关汇编软件的能力,进行系统调用和BIOS功能调用的能力,进行模块程序设计的能力等。 对某一问题用不同的程序实现的能力,例如我们为每个实验提供了参考程序(或程序段),目的是让每个实验者参照样板程序将实验成功地实现,在掌握其方法后,自己改变程序或自己编制程序加以实现。 实验一汇编语言运行环境及方法、简单程序设计(2学时、验证性) 1.实验目的: (1) 熟悉汇编语言运行环境和方法 (2)了解如何使用汇编语言编制程序 (3) 熟悉DEBUG有关命令的使用方法 (4) 利用DEBUG掌握有关指令的功能 (5) 利用DEBUG运行简单的程序段 2.实验内容 (1)学会输入、编辑汇编语言程序 (2)学会对汇编语言程序进行汇编、连接和运行 (3)进入和退出DEBUG程序 (4)学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命令、N命令、W命令等,也应试一下。 3.实验准备 (1)仔细阅读有关汇编语言环境的内容,事先准备好使用的例子。 (2)准备好源程序清单、设计好调试步骤、测试方法、对运行结果的分析。 (3) 编写一个程序:比较2个字符串所含的字符是否相同。若相同则显示’Match.’,否则显示’No match!’;(1)仔细阅读有关DEBUG 命令的内容,对有关命令,都要事先准备好使用的例子。 4.实验步骤 (1)在DOS提示符下,进入MASM目录。 (2)在MASM目录下启动EDIT编辑程序,输入源程序,并对其进行汇编、连接和运行。 ①调用edit输入、编辑源程序并保存在指定的目录中;例:edit abc.asm ②用汇编程序masm对源程序汇编产生目标文件obj。例:masm abc 不断修改错误,直至汇编通过为止。 ③用连接程序link产生执行文件exe.例:link abc ④执行程序 可直接从DOS执行程序,即在DOS环境中,输入文件名即可。 (3)详细记录每一步所用的命令,以及查看结果的方法和具体结果。 5.实验报告要求 (1)源程序清单。 (2) 如何启动和退出EDIT程序。 (3) 如何对源程序进行汇编及编辑。 (4)如何启动和退出DEBUG程序。

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