匯编语言实验报告(顺序).doc
文本预览下载声明
西安财经学院信息学院
《汇编语言程序设计》 实验报告
实验名 顺序结构程序设计 实验 实验楼403 实验日期 2013/05/07
实验目的及要求
通过练习,基本掌握顺序程序的执行过程
通过练习,了解伪指令、伪操作的相关知识
通过练习,巩固debug命令知识
习惯在dos系统下运行程序
二、实验环境
硬件环境:一台微型计算机;
软件环境:windows 7,debug环境,masm
实验内容
在记事本中分别编辑两个程序源代码,在DOS环境下执行。第一个程序实现两个内存单元的数字相加,结果送到下一内存单元;程序二实现实现c1=a+b,其中a=2,b=7。
四、实验过程:
实验1:
(1)进入DOS方式,进入文件夹存放位置,H:\masm
(2)用MASM程序把ASM文件转换成OBJ文件
用LINK程序吧OBJ文件转换成EXE文件:
(4)执行该程序
实验中,实现0000~0001和0002~0003内存单元的值相加,并把值送给0004~0005单元
相加后结果为5555H,把结果存放到0004~0005单元,查看结果如下:
程序正常结束
实验二:
实现c1=a+b,其中a=2,b=7,运行这个程序:
查看指令内容:
执行程序:
结果显示为:c1=9。符合程序要求
源程序清单
程序源代码如下:
(1)data segment ; 定义数据段
num1 dw 1234H
num2 dw 4321H
sum dw ?
data ends
;----------------------------------------
code segment ; 定义代码段
assume cs:code, ds:data
start:
mov ax, data
mov ds, ax ; 段地址 ? 段寄存器
mov ax, num1
add ax, num2
mov sum, ax
mov aH, 4ch
int 21h
code ends
end start
(2)data segment
a db ?
b db ?
c1 db ?
string db c1=$
data ends
code segment
main proc far
assume cs:code, ds:data, es:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov es,ax
mov a,2
mov b,7
mov al,a
add al,b
mov c1,al
lea dx,string
mov ah,09
int 21h
add c1,30h
mov dl,c1
mov ah,2
int 21h
mov dl,0ah
MOV AH,02
int 21h
mov dl,0dh
MOV AH,02
int 21h
ret
main endp
code ends
end start
实验体会
通过本次实验,我了解到了程序执行的过程,之前虽能在dos环境下直接写指令并执行,但那只适用于程序代码很短的情况下,在很多代码要执行的话还是要使用这种方法。除此之外,我还巩固了debug命令的知识,和伪指令伪操作的相关知识,对顺序结构程序设计有了初步了解。
第1页/共 7页
姓名
显示全部