汇编语言上机试验汇总

汇编语言程序设计的实验环境及实验步骤

知识提要:

1、汇编语言源程序编写好以后,必须经过下列几个步骤才能在机器上运行:

(1)编辑源程序(生成.ASM文件)

(2)汇编源程序(.ASM - .OBJ)

(3)连接目标程序(.OBJ - .EXE )

(4)调试可执行程序(使用调试程序Debug调试生成的.EXE文件)

(5)运行程序输出结果。

2、Windows环境下的汇编语言集成编程环境的使用

实验一汇编语言上机实验(一)

一、实验要求和目的

1、掌握汇编语言程序设计的基本方法和技能;

2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;

3、熟练掌握宏汇编程序MASM的使用;

4、熟练掌握连接程序LINK的使用。

二、软硬件环境

1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;

2、软件环境:装有MASM、DEBUG、LINK等应用程序。

三、实验内容与步骤

1、实验内容

编写程序,判断一个年份是否是闰年。

2、实验步骤

汇编语言程序设计上机过程如图1.1所示。

图1.1汇编语言程序上机过程(一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)

建议源程序存放的目录名为MASM 中,MASM 子目录在D 盘的根目录下。

可以在DOS 模式下用编辑程序EDIT.EXE 建立汇编语言源程序文件ABC.ASM ,注意 文件名的扩展名必须是.ASM 。也可以在Windows 2000或者在Windows XP 环境下鼠标单击 “开始” f “运行”,在“运行”中输入七乂口”进入DOS 模式,运行EDIT 软件,例

如: C:\documents and settings\administrator>cd\ *进入 C 盘根 目录

C:\>d: *进入D 盘

*在D 盘创建MASM 文件夹

*进入MASM 文件夹

*建立 run 源文件

进入EDIT 的程序编辑画面时,编写程序,判断一个年份是否是闰年的汇编语言源程序, 输入汇编语言源程序如下:

DATA SEGMENT

INFON

DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $, N DB 0DH,0AH,'This is not a leap year! W DW 0 BUF

DB 8 DB ?

DB 8 DUP(?) DATA ENDS STACK

SEGMENT 'stack'

DB 200 DUP(0)

STACK ENDS CODE

SEGMENT

ASSUME DS:DATA,SS:STACK,CS:CODE START:

MOV AX,DATA MOV DS,AX

LEA DX,INFON

MOV AH,9

INT 21H

LEA DX,BUF

MOV AH,10

INT 21H

MOV CL, [BUF+1]

LEA DI,BUF+2

CALL DATACATE

CALL IFYEARS

JC A1

LEA DX,N

MOV AH,9

INT 21H

JMP EXIT A1:

LEA DX,Y MOV AH,9

INT 21H EXIT:

MOV AH,4CH

INT

21H DATACATE PROC NEAR

D:\>md masm D:\>cd masm D:\masm>edit run.asm

LEA SI,BUF+

MOV BX,0

X3:

MOV AL ,[SI]

SUB AL ,30H

MOV AH,0

XCHG AX,BX

MOV DX,10D

MUL DX

XCHG AX,BX

ADD BX,AX

INC SI

LOOP X3

MOV W,BX

RET

DATACATE ENDP

IFYEARS PROC NEAR

PUSH BX

PUSH CX

PUSH DX

MOV AX,W

MOV CX,AX

MOV DX,0

MOV BX,4

DIV BX

CMP DX,0

JNZ LAB1

MOV AX,CX

MOV BX,100

DIV BX

CMP DX,0

JNZ LAB2

MOV AX,CX

MOV BX,400

DIV BX

CMP DX,0

JZ LAB2

LAB1: CLC

JMP LAB3

LAB2: STC

LAB3: POP DX

POP CX

POP BX

RET

IFYEARS ENDP

CODE ENDS

END START

源程序输入完毕后,用Alt-F打开File菜单,用其中的Save功能将文件存盘,然后exit 退出。此时,在D:\MASM>中已经建立RUN.ASM源文件。

(二)用汇编程序MASM将ASM文件汇编成目标程序文件(OBJ文件)

当源程序建立以后,我们用汇编程序MASM对RUN.ASM源程序文件进行汇编,以便产生机器码的目标程序文件RUN.OBJ,其操作步骤如下:

D:\masm>masm run *调用masm 程序

Microsoft (R) Macro Assembler Version 5.00

Copyright (C) Microsoft Corp 1981 -985,1987. All rights reserved.

Object filename [RUN.OBJ]:*询问目标程序文件名,默认回车

Source listing [NUL.LST]:*是否建立列表文件,默认不建立回车

Cross-reference [NUL.CRF]:*是否建立交叉索引文件,默认不建立回车50674 + 450574 Bytes symbol space free 0 Warning Errors 0 Severe Errors 此时,在D:\MASM>中已经生成RUN.OBJ目标程序文件。

(三)用连接程序LINK生成可执行程序文件(EXE文件)

经汇编后产生的二进制的目标程序文件(OBJ文件)并不是可执行程序文件(EXE文件),必须经连接以后,才能成为可执行文件。

连接过程如下:

D:\MASM>link run *调用link 程序

Microsoft (R) Overlay Linker Version 3.60

Copyright (C) Microsoft Corp 1983-1987. All rights reserved.

Run File [RUN.EXE]:*询问可执行文件名,默认回车

List File [NUL.MAP]:*是否建立连接映象文件,默认不建立回车Libraries [.LIB]:*是否用到库文件,若无特殊需要,直接回车

上述提示行回答后,连接程序开始连接。若连接过程中有错,则显示错误信息,错误分析清楚后,要重新调入编辑程序进行修改,然后重新汇编,再经过连接,直至无错为止。连接以后,便在D:\MASM>中产生了可执行程序文件(RUN.EXE文件)。

(四)程序的执行

当我们建立了可执行文件RUN.EXE后,就可直接在DOS下执行该程序:D:\MASM>run 根据程序提示,输入一个年份,计算机会输出是否闰年的结果。

四、实验要求

(1)掌握汇编语言程序设计上机过程;

(2)回答思考问题;

(3)记录实验结果,写实验报告。

五、思考

(1)汇编过程中MASM ABC和MASM ABC.ASM的结果是否一致。

(2)连接过程中LINK ABC和LINK ABC.OBJ的结果是否一致。

实验二汇编语言上机实验(二)

一、实验要求和目的

熟练掌握动态调试程序DEBUG的使用;

二、软硬件环境

1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;

2、软件环境:装有MASM、Debug、LINK应等用程序。

三、实验内容与步骤

1、实验内容

(1)进入和退出Debug程序

(2)学会Debug中的D命令、E命令、R命令、T命令、A命令、G命令、U命令等的使

用。

(3)使用Debug调试程序调试汇编程序。

2、实验步骤

(1)在DOS提示符下,进入Debug程序。

(2)详细记录每一步所用的命令,以及查看结果的方法和具体结果。

(3)现有一个双字加法源程序如下,其中存在错误。现假设已汇编、连结生成了可执行文件HB.EXE,存放在D:\MASM目录下。请使用Debug对其进行调试。

Code SEGMENT

ASSUME CS:code,DS:code

ORG 100H ;从100H处开始存放下歹U指令

Start:MOV AX,code ;将05置成code段的首地址

MOV DS,AX

MOV SI,200H ;取第一个数的首地址

MOV AX,[SI] ;将第一个数的低16位取到AX

MOV DI,204H ;取第二个数的首地址

ADD AX,[DI] ;第一个数和第二个数的低16应相加

MOV [SI+8],AX ;低16位相加的结果送到208H和209H单

MOV AX,[SI+2] ;取第一个数的高16位送到AX中

ADD AX,[DI+2] ;两个数的高16位相加

MOV [SI+0AH],AX ;高16位相加的结果送到20AH, 20BH单

MOV AX,4C00H ;使用DOS的4CH号功能调用

INT 21H ;进入功能调用,返回DOS

ORG 200H ;从200H处开始存放下歹1」数据

DD 12345678h,654387A9h,0h ;被加数、加数、和

Code ENDS

END start

调试过程:

① 进入Debug并装入可执行文件HB.EXE

D:\MASM>Debug HB.EXE

②观察寄存器初始状态

-R

AX=0000 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000

DS=1892 ES=1892 SS=18A2 CS=18A2 IP=0100 NV UP EI PL NZ NA PO NC

18A2:0100 B8A218 MOV AX,18A2

③以单步工作方式开始运行程序

-T

AX=18A2 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000

DS=1892 ES=1892 SS=18A2 CS=18A2 IP=0103 NV UP EI PL NZ NA PO NC

18A2:0103 8ED8 MOV DS,AX

-T

AX=18A2 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0000 DI=0000

DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0105 NV UP EI PL NZ NA PO NC

18A2:0105 BE0002 MOV SI,0200

④ 观察用户程序数据段初始内容

-D 200 20F

18A2:0200 78 56 34 12 A9 87 43 65-00 00 00 00 00 74 13 50 xV4...Ce t.P ⑤ 连续工作方式运行程序至返回DOS前(设断点),查看运行结果。为此,现使用U命令反汇编。

-U 100

18A2:0100 B8A218 MOV AX,18A2

18A2:0103 8ED8 MOV DS,AX

18A2:0105 BE0002 MOV SI,0200

18A2:0108 8B04 MOV AX,[SI]

18A2:010A BF0402 MOV DI,0204

18A2:010D 0305 ADD AX,[DI]

18A2:010F 894408 MOV [SI+08],AX

18A2:0112 8B4402 MOV AX,[SI+02] 18A2:0115 034502 ADD AX,[DI+02] 18A2:0118 89440A MOV [SI+0A],AX 18A2:011B B8004C MOV AX,4C00 18A2:011E CD21 INT

21

可见,要执行10条指令,至0nB 处停止 -G=100,011B

AX=7777 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PE NC 18A2:011B B8004C MOV AX,4C00 -D 200 20F

和为7777DE21H ,正确。

⑥ 再取一组数据,查看运行结果。为此,首先用E 命令修改数据。 - E 200 CD,AB,78,56,90,EF,34,12 - D 200 20F

18A2:0200 CD AB 78 56 90 EF 34 12-21 DE 77 77 43 43 83 06

18A2:0200 78 56 34 12 A9 87 43 65-21 DE 77 77 43 43 83 06

xV4...Ce!. w wCC..

wwCC..

.hCC..

.hCC..

..xV..4.!. -G=100,11B

AX=68AC BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PE NC

18A2:011B B8004C MOV AX,4C00

- D 200 20F

18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AC 68 43 43 83 06 ..xV..4.].

和为68AC9B5DH,错误。说明程序有问题。

⑦再将断点设在完成低位字加法后,查看运行结果。

-G=100,112

AX=9B5D BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204 DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0112 NV UP EI NG NZ NA PO CY

18A2:0112 8B4402 MOV AX,[SI+02] DS:0202=5678 - D 200 20F

18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AC 68 43 43 83 06 ..xV..4.].

低位和为9B5D,正确。说明错误可能出在后面⑧ 使用T命令从刚才的断点处向后单步调试,查看运行结果。

-T=112

AX=5678 BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204

DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0115 NV UP EI NG NZ NA PO CY

18A2:0115 034502 ADD AX,[DI+02] DS:0206=1234

-T

AX=68AC BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204

DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=0118 NV UP EI PL NZ NA PE NC

18A2:0118 89440A MOV [SI+0A],AX DS:020A=68AC

AX寄存器的结果为68AC,而应为68AD。可见是本条加法指令使用错误,这里应使用带进

位加法指令。

⑨使用A命令装入正确指令后再次运行,察看结果。

- A 115

18A2:0115 ADC AX,[DI+02]

18A2:0118

-G=100,11B

AX=68AD BX=0000 CX=020C DX=0000 SP=0000 BP=0000 SI=0200 DI=0204

DS=18A2 ES=1892 SS=18A2 CS=18A2 IP=011B NV UP EI PL NZ NA PO NC

18A2:011B B8004C MOV AX,4C00

- D 200 20F

18A2:0200 CD AB 78 56 90 EF 34 12-5D 9B AD 68 43 43 83 06 ..xV..4.]..hCC..

和为68AD9B5DH,正确。对于这样一个简单程序一般来说不会再有问题。退出后修改源程序即可。

⑩退出

-Q

D:\MASM>

四、实验要求

(1)熟练掌握Debug的命令;

(2)熟练掌握使用Debug调试汇编程序;

(3)记录实验结果,写实验报告。

汇编语言上机操作及程序调试的方法

汇编语言上机操作及程序调试的方法第一节在IBM-PC机上运行汇编源程序所必备的软件 为了在IBM-PC机上运行汇编源程序,机器上必须有DOS操作系统环境,DOS系统盘上应有下列文件: EDIT 文件编辑程序 MASM 宏汇编程序 CREF 交叉引用文件处理程序 LINK 链接程序 LIB 库管理程序 DEBUG 调试程序 第二节在IBM-PC机上运行汇编源程序的步骤 当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤: 1.用EDIT命令建立与修改汇编源程序文件(ASM文件) 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以ASM为附加文件名。至于EDIT的使用方法可以查阅手册。 2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必须经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC—DOS下的宏汇编程序MASM实现的。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。 3.用LINK命令连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并不是可执行的绝对地址,而是浮动的相对地址,因而,必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址,形成可执行的文件。连接是由调用PC—DOS下的LINK程序来实现的。 4.调试、运行可执行文件。 经过以上过程,在盘上有了可执行文件,则可在DOS提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

汇编实验1和2

实验一 DOS环境下的汇编语言编程环境使用(基础与验证型) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM 6.15、DEBUG、LINK、EDIT等应用程序。 三、实验涉及的主要知识单元 1、汇编语言源程序的汇编过程 汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为 .OBJ的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。目标文件是必须建立的,它包含了程序中所有的机器码指令和伪指令指出的各种有关信息,但该文件中的操作数地址还不是内存的绝对地址,只是一个可浮动的相对地址。列表文件(.LST)中包含了源程序的全部信息(包括注释)和汇编后的目标程序,列表文件可以打印输出,可供调试检查用。交叉索引文件(.CRF)是用来了解源程序中各符号的定义和引用情况的。.LST和.CRF两个文件不是必须建立的,可有有无,可以通过汇编时的命令加以选择。 在对源程序文件(ASM文件)汇编时,汇编程序将对ASM文件进行两遍扫描,若程序文件中有语法错误,则结束汇编,汇编程序将指出源程序中存在的错误,这时应返回编辑环境修改源程序中的错误,再经过汇编,直到最后得到无错误的目标程序,即OBJ文件。因此,汇编程序的主要功能可以概括为以下三点:(1) 检查源程序中的语法错误,并给出错误信息;(2) 产生目标程序文件(OBJ文件),并可给出列表文件(.LST文件);(3) 展开宏指令。 汇编程序是系统提供的用于汇编的系统软件,目前常用的汇编程序有Microsoft公司推出的宏汇编程MASM(MACRO ASSEMBLER)和BORLAND公司推出的TASM(TURBO ASSEMBLER)两种。Microsoft公司推出有宏汇编程序MASM和小汇编程序ASM两种,二者的区别在于:MASM 有宏处理功能,而ASM没有宏处理功能,因此,MASM比ASM的功能强大,但MASM 需要占据较大的内存空间,当内存空间较小时(如64 KB),只能使用ASM。 2、目标程序的连接过程

汇编语言实验报告4

程及屏幕字符显示程序 一、实验目的 1、熟练掌握汇编语言的程序格式,程序设计方法;学会使用masm6.11对源程序进行编译、链接、 调试和运行 2、利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法。 3、利用^Break退出程序的方法及局限性。 4、汇编程序的编写 二、实验任务 1学习汇编语言程序的上机过程 2. 利用INT 21的09H号功能调用显示字符串。验证以下程序 1)用A命令在100H处键入下列程序: MOV AH, 9 MOV DX,110 INT 21 INT 20 2)用A命令在110H处键入下列字符串的ASCII码: DB 'This is a sample!$' 3)用N命令和W命令将此程序(包括数据区)存入文件名为https://www.360docs.net/doc/1619337350.html,的磁盘文件中。(存入前BX:CX必须置为文件长度值)。

4)用Q命令退出DEBUG。 5)在DOS命令下打AA,运行此程序,即在屏幕上显示'This is a sample!'字符串,若不出现,用DEBUG 检查程序有无错误。

(给出结果截图) 3、利用INT 21H 2号功能显示字符: 1)用A命令在100H处键入下列程序: XOR DL,DL MOV CX,100 LOP: MOV AH,2 INT 21 INC DL PUSH CX MOV CX,8 DELY: PUSH CX MOV CX,256 J: LOOP J POP CX LOOP DELY POP CX LOOP LOP INT 20

2)用G命令运行程序,即在屏幕上依次缓慢的显示256个ASCII字符。仔细观察每个字符,和IBM-PC ASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同? 3)按CTRL+BREAK退出此程序,若一次不行可多做几次。 4 编写一个简化的段定义结构程序: 先提示输入数字“Input number:0-9”,然后在下一行显示输入的数字,结束;如果不是键入 了0-9 数字,就提示错误“ERROR!”,继续等待输入数字。 (给出程序清单及调试结果。) .model small .stack .data

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告 学院: 专业: 班级: 姓名: 学号:

汇编语言程序的上机过程 实验目的 通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。 实验原理及操作步骤 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.360docs.net/doc/1619337350.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.360docs.net/doc/1619337350.html,、记事本、Word等。 无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。 2.汇编 用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。 汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。 汇编过程如下: 在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。 此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列 表文件)和.CRF(交叉引用文件)。 Object Filename [MYFILE.OBJ]: Source Listing [Nul.LST]: Cross Reference [Nul.CRF]: 依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。如果汇 编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

汇编语言程序设计的实验环境及上机步骤

汇编语言程序设计的实验环境及上机步骤 一、实验环境 汇编语言程序设计的实验环境如下: 1.硬件环境 微型计算机(Intel x86系列CPU)一台 2.软件环境 ⏹Windows98/2000/XP操作系统 ⏹任意一种文本编辑器(EDIT、NOTEPAD(记事本)、UltraEDIT等) ⏹汇编程序(MASM.EXE或TASM.EXE) ⏹连接程序(LINK.EXE或TLINK.EXE) ⏹调试程序(DEBUG.EXE或TD.EXE) 文本编辑器建议使用EDIT或NOTEPAD,汇编程序建议使用MASM.EXE,连接程序建议使用LINK.EXE,调试程序建议使用TD.EXE。 二、上机实验步骤 注:以下步骤适用于除汇编语言程序设计的实验一到实验四外的所有实验(实验一到实验四仅使用TD.EXE)。 1.确定源程序的存放目录 建议源程序存放的目录名为ASM(或MASM),并放在C盘或D盘的根目录下。如果没有创建过此目录,请用如下方法创建: 通过Windows的资源管理器找到C盘的根目录,在C盘的根目录窗口中点击右键,在弹出的菜单中选择“新建”→“文件夹”,并把新建的文件夹命名为ASM。 请把MASM.EXE、LINK.EXE、DENUG.EXE和TD.EXE都拷贝到此目录中。 2.建立ASM源程序 建立ASM源程序可以使用EDIT或NOTEPAD(记事本)文本编辑器。下面的例子说明了用EDIT文本编辑器来建立ASM源程序的步骤(假定要建立的源程序名为HELLO.ASM),用NOTEPAD(记事本)建立ASM源程序的步骤与此类似。 在Windows中点击桌面左下角的“开始”按钮→选择“运行”→在弹出的窗口中输入“https://www.360docs.net/doc/1619337350.html, C:\ASM\HELLO.ASM”,屏幕上出现EDIT的编辑窗口,如图1所示。

汇编上机实验报告

实验一认识Tddebug集成操作软件实验日志 指导教师曾素华实验时间:2013 年04 月02 日学院计算机科学与技术专业计算机科学与技术 班级0411005 学号2010211912 姓名李新娱实验室s401 一、实验题目 认识Tddebug集成操作软件 二、实验目的 1.熟悉汇编程序的开发过程。 2.认识Tddebug集成操作软件。 3.掌握在Tddebug集成环境中编辑、编译、连接汇编语言程序方法。 4.掌握INT 21H软件中断来调用DOS内部子程序的方法 三、实验内容及说明 1.实验内容:数据传送实验 1)编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串 到屏幕上。参见示例出程序。 2)修改此程序,采用字符串传送指令完成。 2.实验中使用DOS功能调用(INT 21H): 参见教材《32位微型计算机原理与接口技术》89页 (1)显示字符串 入口:AH=09H 调用参数:DS:DX=串首地址,‘$’为结束字符。 (2)返回DOS系统 入口:AH=4CH 调用参数:AL=返回码 四、实验主要步骤 要求一数据传送实验 1.运行Tddebug软件,选择Edit菜单编写实验程序

2.使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

3.使用Rmrun菜单中的Run运行程序,观察运行结果。

4.使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下: 3)按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令 的执行一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。 4)检查内存数据区的内容,关键是找出用户程序的数据段和附加段: ●方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键, 输入:“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区 ●方法2:选择菜单View| Dump,弹出内存数据显示窗口。 3) 查看执行结果:按Alt+F5,切换到用户窗口。

汇编语言上机指导及例示(川大微机原理实验资料和内容以及MASM使用方法)

汇编语言上机指导及例示、习题 从如何建立源文件到进行调试作下简要的介绍,并配例题说明。由于本人水平有限,在下文 在如有错误及可以进一步修改的地方请大家指出 汇编语言上机过程: 一、上机前的软件准备: MS-DOS操作系统(如:MSDOS6.22 , MSDOS7.0 等) 文本编辑器(如:https://www.360docs.net/doc/1619337350.html, , TURBO.EXE , TC.EXE , C.EXE 等) 汇编程序(如:MASM.EXE , ASM.EXE 等) 连接程序(如:LINK.EXE 等) 调试程序(如:DEBUG.EXE 等) 二、汇编程序建立过程: a.建立汇编源程序─通过───→ b.编译为目标文件─↓┬─→d.连接为可执行文件 ↑ │ c.不通过,重新修改(语句错误)↓ ├──────────────────────┘↓ ↑ f.不正确,用调试工具调试,重新修改(逻辑错误)↓ └────────────────────────────←e运行 ↓正确 g.完成 三、现在对(二)的每一个标有字母的过程(PROCEDURE)进行详细说明 PROCEDURE a:建立汇编源程序(即:建立文件名.asm) 这个过程就相当于我们在纸上编写源程序代码一样,只不过是将纸变为了计算机,这个过程也称源代码录入。将源程序代码录入计算机的方法很多,下面将介绍具体方法。 1.通过MD-DOS自带的EDIT.EXE文本编辑器进行输入,在DOS提示符下键入:EDIT回车,这时如果你系统内可调用时,EDIT的操作画面便会出现在屏幕上,你就可在提示下进行录入了,当录入完毕后,选择存盘并给你输入的文件起一个文件名,形式:filename.asm ;(其中filename为你起的文件名,由1-8个字符组成),asm 是为汇编程序识别而必须加上去的,不可更改。存盘后在DOS下可用DOS命令DIR来查看,如果看到了所存的文件存在,就可以进行进程b。 2.如果你的系统中没有EDIT,也可用你所熟悉的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。 PROCEDURE b:编译目标文件(即:编译为.obj .lst .crf文件) 这个过程计算机将把你编的正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。如果此时你的程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,你可根据提示去逐一修改。现介绍具体过程:

实验二 汇编语言程序上机过程及调试

实验报告二 课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名 实验日期:2014 年 3 月10 日报告退发(订正、重做) 一、实验目的 学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。 二、实验内容 1、学习使用全屏幕文本编辑软件EDIT。用EDIT输入一段给定的源程序。 2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到 EDIT进行修改。 3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE) 4、在DOS提示符下运行该可执行文件。 [汇编语言程序的编写格式] 汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。段的定义有两种格式,分述如 下: 1,完整的段定义格式: 一个段由段头,段体,段尾组成,形式如下: 段名SEGMENT[定位类型][组合类型][‘类别’] … … 段名ENDS 其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。 2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下: DOSSEG .MODEL 存储类型;“存储类型”可选择为SMALL。 .STACK[大小];堆栈段,“大小”指定堆栈的字节数。 .DATA;数据段。 .CODE[名字];代码段;一般只有一个代码段,名字可缺少 … … 例1:用完整的段定义编写一源程序。 NAME EXAM1;可以省略 DATA SEGMENT;定义数据段,以下是数据段的内容 STR1 DB “HELLO,WELCOME!”,13,10,‘$’ STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’

汇编语言程序设计上机步骤与调试方法

汇编语言程序设计上机步骤与调试方法 在汇编语言程序设计中,上机步骤与调试方法是非常重要的,它们 能够帮助程序员更好地编写和调试程序。本文将介绍汇编语言程序设 计的上机步骤以及常用的调试方法,帮助读者更好地理解和应用这些 知识。 一、上机步骤 1. 准备工作 在开始上机之前,我们需要做一些准备工作。首先,确认计算机已 经连接好必要的硬件设备,例如键盘、显示器等。其次,确保操作系 统和开发环境已经正确安装并能够正常运行。最后,根据需要准备好 所需的汇编语言文档和程序样例。 2. 创建新项目 在开始编写汇编语言程序之前,我们需要创建一个新的项目。在项 目中,我们可以组织和管理相关的文件和代码。通常,我们会选择一 个合适的集成开发环境(IDE)来创建和管理项目。 3. 编写程序 在创建项目之后,我们可以开始编写汇编语言程序。首先,我们需 要了解目标机器的指令集和寄存器,以便正确地编写程序。然后,根 据需求,我们可以使用不同的指令、寄存器和内存来实现所需的功能。在编写程序的过程中,注意代码的可读性和易于维护性是非常重要的。

4. 调试程序 编写完汇编语言程序后,我们需要进行调试,以确保程序的正确性 和稳定性。调试是一个迭代过程,通常包括以下步骤: - 设置断点:在程序中设置断点,以便在特定位置停止程序的执行。 - 单步执行:通过逐条执行程序的指令,我们可以观察程序的执行 过程,并检查各寄存器和内存的值。 - 监视变量:在调试过程中,我们可以监视程序中的变量值,以验 证其正确性。 - 查看输出:观察程序的输出结果,与预期结果进行比较,以确定 程序是否按照预期执行。 - 修复错误:如果发现程序中存在错误,我们需要对程序进行修改 和调整,直到问题解决为止。 5. 运行程序 在完成程序的调试之后,我们可以运行程序并观察其运行效果。在 运行过程中,我们可以测试程序的各种功能,以确保其正常工作。 二、调试方法 1. 打印输出 在调试汇编语言程序时,打印输出是一种常用且简单有效的调试方法。在程序中插入打印语句,将一些变量的值打印到控制台或文件中,

《汇编语言上机环境及基本步骤》实验报告

汇编语言上机环境及基本步骤 一、实验目的: 1.掌握编写汇编源程序的基本格式。 2.熟悉汇编语言上机环境。 3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。 4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。 二、实验内容: 在屏幕上显示并打印字符串“This is a sample program.” 三、实验仪器 微机一台 四、实验步骤: 1.在某盘如E盘,以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太 长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE等复制到该目录 下,编辑的源文件也保存到该目录下。 从WINDOWS进入DOS环境:C:\> 2.用EDIT编辑SW1.ASM源文件。 (1). 从当前目录进入自己的目录下, C:\>E: 回车 E:\> CD zhangsan ↙回车 键入EDIT并回车: E:\ zhangsan>EDIT 根据菜单提示进行各种操作。 (2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。 说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。 (3).编辑新文件: a、在EDIT编辑器中输入汇编源程序。 b、检查输入有无错误。 c、打开文件菜单FILE→选择另存为SA VE AS┅→输入文件名为:SW1.ASM→保 存。 注意:保存到你自己的文件夹中 d、若需要修改此文件,用FILE菜单→选择打开OPEN→输入文件名SW1.ASM,即 可修改。修改后注意重新再存盘。 (4).编辑汇编源程序 a、在EDIT(或记事本)中输入源程序。 b、检查。 c、存盘。可保存为SW1.ASM

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

实验报告 实验名称汇编语言程序设计 | | 专业班级:信息安全 学号: 姓名: 实验一汇编语言上机过程和Debug常用调试命令 一.实验目的: 学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和 运行程序的方法。 二.实验题目: 熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在调试过程中,学习及掌握debug程序的各种操作命令。 三.问题描述: 试编写一程序:比较两个字符串string1和string2所含的字符是否相同, 若相同则显示‘match’; 否则,显示‘no match’。

四.方法说明: a) 使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。 b) 用汇编程序masm(或asm)对源文件汇编产生目标文件obj 如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。 c) 用连接程序link 产生执行文件EXE. d) 执行程序,可直接从DOS执行程序。 e) 使用debug程序调试程序的方法。 五.实验步骤: 1.调用字处理程序EDIT 建立以sample.asm文件 datarea segment string1 db ‘move the cursor backward.’ string2 db ‘move the cursor backward.’ mess1 db ‘Match..’,13,10,’$’ mess2 db ‘No match!..’,13,10,’$’ datarea ends prognam segment

main proc far assume cs:prognam,ds:datarea,es:datarea start: push ds sub ax,ax push ax mov ax,datarea mov ds,ax mov es,ax lea si,string1 lea di,string2 cld mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short disp

单片机实验报告KeilC的使用与汇编语言上机操作

单片机实验报告KeilC的使用与汇编 语言上机操作 单片机实验报告:Keil C的使用与汇编语言上机操作 一、实验目的 1.掌握Keil C的使用方法,了解其集成开发环境下的单片机编程流程。 2.掌握汇编语言的基本语法和指令,通过上机操作熟悉其应用。 3.通过实际操作,增强动手能力和解决问题的能力。 二、实验设备 1.单片机开发板 2.Keil C软件 3.电脑及编程器 三、实验原理及步骤 1.Keil C使用介绍 Keil C是一款广泛使用的单片机集成开发环境,它提供了包括编译器、调试器、仿真器等在内的全套开发工具。使用Keil C可以方便地进行代码编写、编译、调试和模拟,适用于多种单片机开发。 2.汇编语言基础 汇编语言是一种直接与硬件相关的编程语言,它通过特定的指令集直接控制硬件进行操作。汇编语言具有高效、直接的特点,但编写和理解相对困难。本实验主要学习并熟悉汇编语言的基本语法和指令。 3.实验步骤 (1) 在Keil C中创建新项目,选择合适的单片机型号。 (2) 创建源文件,编写汇编程序。 (3) 对源文件进行编译,生成目标文件。

(4) 将目标文件下载到单片机开发板进行调试和运行。 四、实验内容及分析 1.在Keil C中创建新项目并选择单片机型号。在创建项目时,需要选择正确 的单片机型号,这将直接影响到程序的编写和运行。根据实际需要,我们选择了AT89C51作为实验用的单片机。 2.创建源文件并编写汇编程序。在Keil C中,可以方便地创建新的源文件, 并在其中编写汇编程序。例如,下面是一个简单的汇编程序,用于点亮开发板上的LED灯: MOV P1, #1 // 将1赋值给P1端口 此程序将使P1端口的所有引脚输出高电平,从而点亮LED灯。 3.对源文件进行编译并生成目标文件。在Keil C中,可以通过简单的点击完 成编译操作。编译成功后,将生成一个目标文件(如*.obj文件)。 4.将目标文件下载到单片机开发板进行调试和运行。在Keil C中,可以通过 仿真功能模拟程序的运行,也可以通过调试功能查看程序运行过程中的细节信息。如果程序运行无误,将在单片机开发板上看到预期的结果。 五、实验总结与体会 通过本次实验,我们深入了解了Keil C的使用方法和单片机编程的基本流程。同时,通过实际操作,我们熟悉了汇编语言的应用和编程技巧。虽然汇编语言相对于高级语言更为复杂,但在特定场合下(如对性能要求极高或与硬件直接交互时),其高效性和直接性具有不可替代的优势。因此,掌握汇编语言对于单片机开发具有重要的意义。在未来的学习和实践中,我们将进一步运用和发展所学的知识和技能,为科学研究和工程实践做出贡献。

汇编语言实验讲义

汇编语言实验讲义 《汇编语言》实验讲义 《汇编语言》实验学时分配表序号 1 2 3 4 5 6 7 实验一汇编语言程序上机过程以及调试一、预习内容 1. 工具软件MASM、LINK的使用 2. 常用DEBUG命令的使用: G,D,R,T,U,Q 3. 完整程序设计方法的格式。二、目的要求 1. 掌握常用工具软件MASM、LINK的使用 2. 掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序 3. 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。三、实验内容 比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。 DSEG SEGMENT string1 db 'Move the cursor backward.' string2 db 'Move the cursor backward.' mess1 db 'Match.',13,10,'$' mess2 db 'No match.',13,10,'$' DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, MAIN PROC FAR start: mov ax, dseg mov ds, ax mov es, ax lea si ,string1 实验项目名称汇编语言程序上机过程以及调试顺序程序设计循环程序设计分支程序设计子程序设计 I/O程序设计实验七综合程序设计合计实验学 时课内 2 2 2 2 2 2 2 14 课外 2 2 2 2 2 2 2 14 实验报告或作业 1 1 1 1 1 1 1 7 ① cld ② repz cmpsb jz match lea dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h int 21h mov ax, 4c00h

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

基础汇编语言程序设计实验 【实验目的】 1.了解教学计算机的指令格式、指令编码、选择的寻址方式和每一条指令的具体功能,为 进一步学习运算器组成和控制器设计打好基础。 2.了解汇编语言的语句与机器语言的指令之间的对应关系,了解伪指令在汇编过程中的作 用。 3.学习教学机监控程序的功能、监控命令的使用方法,体会软件系统在计算机组成中的地 位和作用。 【实验内容】 1.学习联机使用TH-UNION+教学实验系统和仿真终端软件PCEC. 2.使用监控程序的R命令显示/修改寄存器内容、D命令显示存储器内容、E命令修改存储 器内容。 3.使用A命令写一小段汇编程序,U命令反汇编刚输入的程序,用G命令连续运行该程序, 用T、P命令单步运行并观察程序单步执行情况; 【实验内容】 1.用R命令查看寄存器内容或修改寄存器的内容 1)在命令行提示符状态下输入: R↙;显示寄存器的内容 注:寄存器的内容在运行程序或执行命令后会发生变化。 2)在命令行提示符状态下输入: R R0↙;修改寄存器R0的内容,被修改的寄存器与所赋值之间可以无空 格,也可有一个或数个空格 2.用D命令显示存储器内容 在命令行提示符状态下输入: D 2000↙ 3. 用E命令修改存储器内容 在命令行提示符状态下输入: E 2000↙ 4.用D命令显示这几个单元的内容 D 2000↙ 可以看到这六个地址单元的内容变为0000 1111 2222 3333 4444 5555。 5. 用A命令键入一段汇编源程序,主要是向累加器送入数据和进行运算,执行程 序并观察运行结果。 1)在命令行提示符状态下输入: A 2000↙;表示该程序从2000H(内存RAM区的起始地址)地址开始 2)用U命令反汇编刚输入的程序 在命令行提示符状态下输入: U 2000↙ 在相应的地址会得到输入的指令及其操作码 3)用G命令运行前面键入的源程序 G 2000↙

汇编语言实验指导书 (3)

实验报告 实验课程:汇编语言 学生姓名:李斯超 学号:6100409010 专业班级:电三091班 2010年12月20日

目录 实验1 利用DEBUG调试汇编语言程序段实验2 初级程序的编写与调试实验(一)实验3 初级程序的编写与调试实验(二)实验4 汇编语言程序上机过程 实验5 分支程序实验 实验6 循环程序实验 实验7 子程序实验

实验1 利用DEBUG调试汇编语言程序段 一.实验目的 1.熟悉DEBUG有关命令的使用方法; 2.利用DEBUG掌握有关指令的功能; 3.利用DEBUG运行简单的程序段。 二.实验内容 1.进入和退出DEBUG程序; 2.学会DEBUG中的 1)D命令(显示内存数据D 段地址:偏移地址) 例1:-D100 2)E命令(修改指定内存) 例1:-E100 41 42 43 44 48 47 46 45 -D 100,L08 结果:08F1:0100 41 42 43 44 48 47 46 45 例2:-E 100: 08F1:0100 76 42 :42是操作员键入 此命令是将原100号内存内容76修改为42,用D命令可察看。 3)R命令(显示当前寄存器的内容) 4)T命令(设置陷井,单步执行) 5)A命令(将指令直接汇编成机器码输入到内存中。) 6)G命令等的使用(执行A命中输入的汇编指令) 3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。 四.实验环境 PC微机 DOS操作系统或Windows 操作系统 MASM.EXE,LINK.EXE,https://www.360docs.net/doc/1619337350.html,或宏汇编集成环境 五.实验步骤 1.在DOS提示符下,进入DEBUG程序; 在运行中输入cmd命令调出DOS窗口,在其中输入debug命令进入程序。 2.详细记录每一步所用的命令,以及查看结果的方法和具体结果。 (1)在debug中输入D查看当前数据数据段的断地址:偏移地址中的内容。如输入-d100,接着操作输入e命令,e命令可以修改指定的内存中的数据,如输入-e100

汇编实验报告一实验总结

汇编实验报告一实验总结 汇编实验报告一实验总结 实验背景 汇编语言是一种低级语言,用于编写计算机程序。在汇编实验一中,我们学习 了基本的汇编指令和程序结构,并通过实践掌握了如何编写简单的汇编程序。 本文将对实验过程和结果进行总结和分析。 实验过程 在实验一中,我们首先了解了汇编语言的基本概念和特点。然后,我们使用汇 编语言编写了一个简单的程序,目的是将两个数相加并输出结果。在编写程序 的过程中,我们学习了如何使用汇编指令进行算术运算、内存操作和输出。我 们还学习了如何使用调试器来调试和测试我们的程序。 实验结果 经过编写和调试,我们成功地完成了实验一的目标。我们的程序可以正确地将 两个数相加并输出结果。这个结果验证了我们对汇编语言和指令的理解和掌握。通过这个实验,我们不仅学会了如何编写简单的汇编程序,还加深了对计算机 底层运行原理的理解。 实验收获 通过实验一,我们深刻认识到汇编语言的重要性和应用价值。汇编语言虽然比 高级语言更加底层和繁琐,但它可以直接操作计算机的硬件,提高程序的执行 效率。同时,学习汇编语言也有助于我们更好地理解计算机的工作原理和内部 结构。 此外,实验一还培养了我们的逻辑思维和问题解决能力。在编写程序的过程中,

我们需要仔细思考每一条指令的含义和作用,并保证程序的正确性和效率。通过调试和测试,我们学会了如何发现和解决程序中的错误和问题。 总结 通过实验一,我们不仅掌握了汇编语言的基本知识和技巧,还提高了我们的编程能力和计算机思维。汇编语言作为一种底层语言,虽然在现代编程中使用较少,但它对于理解计算机底层原理和优化程序仍然具有重要意义。 在今后的学习和工作中,我们将继续深入学习汇编语言,并将其应用于更复杂和实际的问题中。我们相信,通过不断学习和实践,我们的汇编编程能力将不断提高,为我们的学术和职业发展打下坚实的基础。 总之,实验一是我们学习汇编语言的第一步,通过这个实验,我们对汇编语言有了更深入的了解和认识。我们相信,在今后的学习和实践中,我们将能够更好地应用汇编语言,并取得更大的成果。

汇编语言实验二

汇编语言实验 实验一验证性实验二 实验项目名称:分支程序设计 实验设备:586微型计算机,主频450MHZ以上,内存64MB以上,硬盘10G,每个学生每次上机实验使用一台计算机。 实验目的: 掌握分支程序的结构,学会分支程序设计方法,熟悉和掌握分支程序调试方法;熟悉字符串操作命令使用方法。 实验内容及要求: 1.定义两个等长字符串,比较两个串如果相等则显示“MATCH”,不等则显示 “NO MATCH”; 2.要求用分支结构编写源代码; 3.汇编、调试、连接、运行程序; 4.输出实验结果,撰写实验报告。 实验步骤: 1.编辑源程序代码 2. 使用MASM命令汇编源程序,生成OBJ文件,进行调试 3. 使用LINK命令连接,生成EXE文件 4. 运行EXE文件查看运行结果

源代码 data segment str1 db 'my mother' str2 db 'my father' count equ $-str2 str3 db 'match',0dh,0ah,'$' str4 db 'no match',0dh,0ah,'$' data ends stack segment para stack 'stack' stap db 100 dup(?) stack ends code segment main proc far assume cs:code,ds:data,es:data start: push ds mov ax,0 push ax mov ax,data mov ds,ax mov es,ax lea si,str1 lea di,str2 mov cx,count cld repe cmpsb jz print1 lea dx,str4 mov ah,09 int 21h jmp exit print1:lea dx,str3 mov ah,09 int 21h exit: ret main endp code ends end start

汇编语言实验指导2013

汇编语言实验习题指导长春理工大学计算机科学与技术系

目录 实验须知 (3) 实验一DEBUG调试程序的使用 (4) 实验二用DEBUG程序调试程序功能段 (13) 实验三数据串传送和查表程序 (20) 实验四汇编语言上机过程及屏幕字符显示程序 (23) 实验五条件转移指令 (28) 实验六循环程序是设计 (31) 实验七子程序设计 (34)

实验须知 一、预习要求 1.实验前认真阅读实验教程中有关内容,明确实验目的和实验任务。 2.每次实验前应有预习报告,未预习者不允许参加实验。 预习报告中:对程序设计实验,要求画出程序流程图,编好上机程序; 二、实验要求 1.实验是学习“汇编语言程序设计”这门课程的重要环节,实验课请勿迟到,缺席。 2.上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验相关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识地学习及掌握DEBUG 程序的各种操作命令,以便掌握程序的调试方法及技巧。 3.程序调试完后,须由实验辅导教师在机器上检查运行结果。 4.每个实验完成后,结果写入预习报告,完成分析,上交实验教师。 三、报告要求 每次实验后,应递交一份实验报告,报告中应包括下列内容: 1.实验名称、实验人姓名、学号、班级、所用的设备号。 2.实验目的、任务。 3.各任务程序流程图、程序清单(应加适量注释)。 4.记录和分析实验结果。 5.据实验目的认真做小结。

实验一 DEBUG调试程序的使用 一、实验目的 1.学习使用DEBUG程序的各种命令。 2.利用DEBUG学习了解计算机取指令、执行指令的工作过程。 3.掌握用DEBUG调试自编程序的方法。 二、实验准备 预备知识:DEBUG的使用.在以后的所有实验中,都将用到DEBUG程序,首先学习一下他的主要用法。 (一)什么是debug? Debug 是DOS、WINDOWS都提供的实模式(8086方式)程序的调试工具。使用它,可以调试CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序运行。 (二)我们用到的DEBUG功能 ●用DEBUG的R命令查看、改变CPU中寄存器的内容; ●用DEBUG的D命令查看内存的内容; ●用DEBUG的E命令改写内存的内容; ●用DEBUG的U命令将内存中的机器指令翻译成汇编指令; ●用DEBUG的T命令执行一条机器指令; ●用DEBUG的A命令以汇编指令的格式在内存中写入一条机器指令;DEBUG的命令比较多,有20多个,这是常用的6个。 (三)进入DEBUG DEBUG是在DOS方式下使用的程序。我们在进入DEBUG前,应先进入到DOS方式。在WINDOWS下进入DOS方式的方法:

汇编语言程序设计实验篇

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码、汇编/反汇编工具以及debug的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.360docs.net/doc/1619337350.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 : relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

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

80X86汇编语言程序设计实验报告 专业:班级:日期:成绩: 第二次试验指导老师: 学生姓名:学号: 一、实验目的 (1) 加深对一些常用的汇编指令的理解; (2) 加深对常用DOS功能调用指令的理解; (3) 进一步熟悉TD的使用。 二、实验内容 1、《80X86汇编语言程序设计》教材中 P45的 2.3题。 要求:(1) 分别记录执行到“MOV CX,10”和“INT 21H”之前的(BX), (BP),(SI),(DI)各是多少。 (2) 分别记录程序执行初期与退出之前数据段开始40个字节的内容,指出 运行结果是否与设想的一致。 2、《80X86汇编语言程序设计》教材中 P45的 2.4题。 要求:(1) 实现的功能不变。 (2) 内存单元中数据的访问采用变址寻址方式。 (3) 记录程序执行到退出之前数据段开始40个字节的内容,检查程序运行结 果是否与设想的一致。 3、编写程序 利用DOS 10号功能调用输入一个字符串,统计字符串中字符0、1、…、9 出现的次数并显示出来(假设每个字符最多出现9次,若大于9次则显示为x)。 三、实验步骤及结果 1、输入源程序,如下: .386 STACK SEGMENT USE16 STACK DB 200 DUP(0) STACK ENDS DA TA SEGMENT USE16 BUF1 DB 0,1,2,3,4,5,6,7,8,9 BUF2 DB 10 DUP(0) BUF3 DB 10 DUP(0) BUF4 DB 10 DUP(0) DA TA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DA TA,SS:STACK START: MOV AX,DA TA MOV DS,AX MOV SI,OFFSET BUF1 MOV DI,OFFSET BUF2 MOV BX,OFFSET BUF3 MOV BP,OFFSET BUF4 MOV CX,10

相关文档
最新文档