汇编语言上机实验报告
- 格式:doc
- 大小:53.50 KB
- 文档页数:4
实验一汇编语言上机基本操作
一、实验目的
1.学习及掌握汇编语言源程序的书写格式和要求。
2.学会使用EDIT、TASM、TLINK等软件工具。
3.熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。
二、实验内容
1.汇编语言源程序的建立
程序要求是:在屏幕上显示“Hello, world !”。设定源程序的文件名为ABC.ASM。
DATA SEGMENT
BUF DB 'Hello, world !$'
DATA ENDS
STACK SEGMENT STACK 'STACK'
DW 36 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
在DOS状态下键入以下命令:
C:\MASM> EDIT ABC.ASM
程序输入完毕后一定要将源程序文件存盘,以便进行汇编及连接,也可以再次调出源程序进行修改。
2.将源程序文件汇编成目标程序文件
输入命令:Tasm abc;
出现:0 Warning Errors
0 Severe Errors
如果Severe Errors不为0,就要对语法错误进行分析,找出原因和问题,调用屏幕编辑程序EDIT对源程序加以修改并再重新汇编,一直到汇编时无语法错误为止。
3.用连接程序生成可执行程序文件
输入命令:Tlink abc;
连接程序开始连接,没有错误,连接以后,便可以产生可执行程序文件(.EXE文件)。
4.程序的执行
输入命令abc
显示结果:Hello world!
结果是预期的结果,程序无问题。
实验二DEBUG调试程序的应用
一、实验目的
1.学习及掌握DEBUG调试程序的常用命令。
2.学习及掌握在DEBUG环境下建立和汇编程序。
二、实验内容
1.源文件,命名为filab.asm
DA TA SEGMENT
A D
B 0
B DB 0
C DB 30,40,50
DA TA ENDS
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov al,c+1
add al,c
mov a,al
mov al,c+1
add al,c+2
mov b,al
add c,10
add c+1,20
add c+2,30
EXIT: mov ah,4ch
int 21h
code ends
end start
用edit filab.asm 编写源文件。
2. 汇编masm filab.asm; 无错误进入3,有错误用edit改。
3. 连接link filab; 无错误进入4,有错误用edit改重新再来。
4. 调试debug filab.exe
(1) 反汇编
U
16F9:0000 B8F816 MOV AX,16F8
16F9:0003 8ED8 MOV DS,AX
16F9:0005 A00300 MOV AL,[0003]
16F9:0008 02060200 ADD AL,[0002]
16F9:000C A20000 MOV [0000],AL
16F9:000F A00300 MOV AL,[0003]
16F9:0012 02060400 ADD AL,[0004]
16F9:0016 A20100 MOV [0001],AL
16F9:0019 800602000A ADD BYTE PTR [0002],0A
16F9:001E 8006030014 ADD BYTE PTR [0003],14
再输入U
16F9:0023 800604001E ADD BYTE PTR [0004],1E
16F9:0028 B44C MOV AH,4C
16F9:002A CD21 INT 21
找到mov ah,4c 前对应在偏移地址0028
(2)执行
G =0 28
AX=165A BX=0000 CX=003C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000 DS=16F8 ES=16E8 SS=16F8 CS=16F9 IP=0028 NV UP EI PL NZ AC PE NC
16F9:0028 B44C MOV AH,4C
(3)查看结果
d 0 L5
16F8:0000 46 5A 28 3C 50 FZ(
结果是正确的
(4)退出调试环境
Q