汇编实验报告总课案Word文档下载推荐.docx

上传人:b****1 文档编号:13609289 上传时间:2022-10-12 格式:DOCX 页数:41 大小:567.52KB
下载 相关 举报
汇编实验报告总课案Word文档下载推荐.docx_第1页
第1页 / 共41页
汇编实验报告总课案Word文档下载推荐.docx_第2页
第2页 / 共41页
汇编实验报告总课案Word文档下载推荐.docx_第3页
第3页 / 共41页
汇编实验报告总课案Word文档下载推荐.docx_第4页
第4页 / 共41页
汇编实验报告总课案Word文档下载推荐.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

汇编实验报告总课案Word文档下载推荐.docx

《汇编实验报告总课案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《汇编实验报告总课案Word文档下载推荐.docx(41页珍藏版)》请在冰豆网上搜索。

汇编实验报告总课案Word文档下载推荐.docx

实验一汇编程序的汇编及运行

2

实验二顺序程序设计

3

实验三分支循环程序设计

4

实验四子程序设计

5

实验五DOS功能调用

总平均

福建农林大学金山学院实验报告

信息与机电工程系专业:

电子信息工程年级:

12

姓名:

陈振韦学号:

126710100实验课程:

汇编语言

实验室号:

___试验A楼_608_实验设备号:

实验时间:

2014,4,9

指导教师签字:

刘永芬成绩:

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的值为多少?

DATASEGMENT

ORG20H

NUM1=8

NUM2=NUM1+10H

DA1DB‘IBMPC’

DA2DB0AH,0DH

COUNTEQU$-DA1

DATAENDS

END

(2)输入有错误的文件,修改错误语句。

(MASM没有出现错误即可。

必连接、运行。

DATASEGMENT

VAR1DB0,25,ODH,300

VAR2DB12H,A4H,6BH

VAR3DB’ABCDEF’

VAR4DW1234H,5678H

VAR5DW10HDUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DE:

DATA

BEINGMOVAX,DATA

MOVDS,AX

LEASI,VAR5

MOVBX,OFFSETVAR2

MOV[SI],0ABH

MOVAX,VAR1+2

MOV[BX],[SI]

MOVVAR5+4,VAR4

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

(3)输入正确的程序,汇编、连接、运行

STACKSSEGMENTSTACK

DW128DUP(?

STACKSENDS

DATASSEGMENT

STRINGDB‘WELCOME!

’,13,10,‘$’

DATASENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS

MOVDS,AX

LEADX,STRING

MOVAH,9

INT21H

MOVAH,4CH

CODESENDS

ENDSTART

4.算法描述及实验步骤

(1)在记事本编写源程序1.txt,masm1.txe回车,回车,出现提示

输入1,生成1.lst,打开1.lst,查看内容。

(2)在记事本编写源程序2.txt,masm1.txe回车,回车,出现提示

输入2,查看错误,再在2.txt修改内容,然后经汇编生成.obj文件,链接生成.exe文件。

(3)在记事本编写源程序3.txt,masm3.txe回车,回车,然后经汇编生成3.obj文件,链接生成3.exe文件,debug3.exe,输入g显示出结果。

5.调试过程

(1)调试过程如下图:

(2)实验2出现10个错误,1个警告。

如下图:

修改过程:

(1)ODH改为0DH;

(2)300改为30;

(3)‘ABCDEF‘将引号改为英文型引号;

(4)在BEGINE后加冒号;

(5)将MOV[SI],0ABH改为MOVBYTEPTR[SI],0ABH;

(6)将MOV[BX],[SI]改为MOVCX,[BX]MOVCX,[SI]MOV[BX],CX;

(7)将MOVVAR5+4,VAR4改为MOVDX,VAR5+4MOVDX,VAR4MOVVAR5+4,DX

(3)

修改如下:

‘WELCOME!

’和‘$’的引号改为英文型的,START后的冒号改为英文型的。

6.实验结果

(1)DA1,DA2的偏移量分别是多少?

(2)修改后的结果如下图:

(3)实验结果如下图:

7.总结

本次会编,真是一次艰难的事情啊,不过我想万事开头难。

通过这次汇编我学会了一些基本的汇编、连接、执行过程;

试验段目的不是为了验证书本理论,更重要的是对实践能力的培养。

2012

1256710100实验课程:

__实验楼a606实验设备号:

j6实验时间:

4.16

成绩:

1.实验目的和要求

1.学习使用DEBUG的命令;

2.使用DEBUG命令在数据段中查看程序运行的结果;

3.利用DEBUG运行简单的程序段。

实验的硬件环境是:

1)输入程序观察寄存器变化

使用DEBUG,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。

注意用T命令执行时,CS:

IP寄存器的内容

MOVAX,4E20

ADDAX,1416

MOVBX,2000

ADDAX,BX

MOVBX,AX

MOVAX,001A

MOVBX,0026

ADDAL,BL

ADDAH,BL

ADDBH,AL

MOVAH,0

ADDAL,9C

2)下列程序单步运行,注意AL,BX,CX寄存器的变化,并观察数据段字母的变化。

如果原来是大写,要如何修改指令,使得它们变成小写?

DSEGSEGMENT

MSG1DB‘abc’

DSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG

START:

MOVAX,DSEG

MOVDS,AX

LEABX,MSG1

MOVCX,3

S:

MOVAL,[BX]

ANDAL,11011111B;

将AL中的ASCII码的第5位置0,

变成大写字母。

MOV[BX],AL

INCBX

LOOPS

MOVAL,0

MOVAH,4CH

INT21H

CSEGENDS

3)程序的跟踪执行操作

在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。

那么如何查看程序的运行结果呢?

程序执行过程的跟踪操作步骤如下:

(1)在DOS下输入:

DEBUG文件名.EXE

(2)在DEBUG提示符下输入U命令

(3)可以用T命令单步执行指令,执行到MOVAH,4CH时结束,也可以用G命令执行整个程序,输入:

G=B地址(如:

G=0000)

(4)用D命令查看程序执行后数据段的变化

输入:

DK地址:

0(如:

D1260:

0)

在显示的数据中,对照源程序或LST文件查看结果所在的偏移地址的内容。

4)编写调试下面的程序,用DEBUG查看数据段中的结果

(1)

,X,Y,W为字节类型变量,结果存于Z单元,写出数据段和代码段。

(2)X,Y为字节类型数,求

,写出完整的数据段和代码段,不用乘除指令。

1、修改成正确的代码;

obj》link》exe;

2、修改成正确的代码;

4、一丶

①初始化

②有符号数乘法imul(单操作数),被乘数在ax中,将(w-x)送入ax,Imul10,因为8bit*8bit,结果超过8bit,存于dx:

ax->

bx:

cx。

③有符号数相加add,并且两操作数位数要一致。

④用add加法指令,算出x+y。

⑤有符号数除法idiv(单操作数),当除数是8bit,被除数要16bit,所以被除数默认存于dx:

ax,除后商在ax,余数在dx.

⑥最后结果存在z变量中。

二丶

②把X存在AL中,使用add,使X,Y相加,存在AL中。

③乘8相当于左移3位,移动位数存于CX中。

乘完后存于AX中。

④把X存在BL中,使用SUB,使X,Y相减,存在BL中。

⑤乘2相当于左移1位。

乘完后存于BX中。

⑥然后SUB,AX,BX

⑦除16相当于右移4位,移动位数存于CX中。

⑧最后结果存在z变量中。

汇编好程序,保存txt中,运行masm生成lst文件,有错误就进行修改,修改后再链接文件生成obj文件,debug生成exe文件,然后g命令运行一次,最后d命令查看结果。

1、错误的代码

正确的

分步

2、d命令查看

当BX=0000时的AL,CX的变化情况:

当BX=0001时AL,CX的变化情况:

3、当BX=0002时AL,CX的变化情况

4、不用做

5、程序无误

调试出错

U命令

D命令

见调试过程中的末张图

学会使用debug,各种命令。

1、学习使用debug的命令;

2、使用debug命令在数据段中查看程序运行的结果;

3、利用debug运行简单的程序段。

福建农林大学

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1