实验一-汇编程序的汇编及运行.doc
福建农林大学金山学院实验报告
系:信息与机电工程专业:电子信息工程年级:2009
姓名:庄建军学号:092230069实验课程:汇编语言
实验室号:__1#605实验设备号:实验时间:
指导教师签字:成绩:
实验一汇编程序的汇编及运行
1.实验目的和要求
(1)熟悉汇编程序的汇编、连接、执行过程
(2)生成LST文件,查看LST文件
(3)生成OBJ文件,修改语法错误
(4)生成EXE文件
(5)执行
2.实验环境
IBM—PC机及其兼容机
实验的软件环境是:
操作系统:DOS2.0以上;调试程序:DEBUG.COM;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM.EXE);连接装配程序:LINK.EXE;交叉引用程序:CREF.EXE(可有可无)。
3.实验内容及实验数据记录
(1)将数据段输入,取名1.txt,保存在MASM文件夹下。生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少?
DATA SEGMENT
ORG20H
NUM1=8
NUM2=NUM1+10H
DA1DB‘IBMPC’
DA2DB0AH,0DH
COUNTEQU$-DA1
DATA ENDS
END
(2)输入有错误的文件,修改错误语句。(MASM没有出现错误即可。不
必连接、运行。)
DATA SEGMENT
VAR1 DB0,25,ODH,300
VAR2 DB12H,A4H,6BH
VAR3 DB’ABCDEF’
VAR4 DW1234H,5678H
VAR5 DW10HDUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DE:DATA
BEING MOVAX,DATA
MOVDS,AX
LEA SI,VAR5
MOVBX,OFFSETVAR2
MOV[SI],0ABH
MOVAX,VAR1+2
MOV[BX],[SI]
MOVVAR5+4,VAR4
MOVAH,4CH
INT 21H
CODE ENDS
END START
(3)输入正确的程序,汇编、连接、运行
STACKS SEGMENT STACK
DW 128DUP(?)
STACKS ENDS
DATAS SEGMENT
STRING DB‘WELCOME!’,13,10,‘$’
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,STRING
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
4.算法描述及实验步骤
(1)在DOS状态下,进入MASM目录;
(2)输入命令:MASM文件名(可以不输入同扩张展);
(3)在系统出现的提示中输入:
objectfilename[.obj]:按回车键。
sourcelistling[nul.lst]:输入:文件主名,生成.lst文件,也可以不生成,直接按回车键。.lst文件用于查看编译为目标文件的过程中产生的中间错误。
cross-reference[nul.crf]:按回车键。
(4)如果系统没有提示出错,那么汇编过程就完成了。如果提示错误则应用EDIT打开源文件进行修改,然后再重复(2)和(3)步骤。
(5)输入:LINK文件主名(可以不输入扩展名.obj)
runfile[.exe]:按