汇编语言上机实验报告

  • 格式:doc
  • 大小:53.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一汇编语言上机基本操作

一、实验目的

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