汇编课程设计实验报告

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

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

专业:

班级:

学号:

姓名:

日期:

湖南科技大学

实验报告一

实验题目:

有两个数(字数据)DATA1和DATA2,把两数之和放在DA TA3中,两数之差放在DA TA4中。

实验目的:

1.熟练掌握汇编语言的程序结构,学会如何使用数据定义、符号定义、模块定义等常用

的批示性语句。

2.熟悉汇编语言的工作环境;学会使用汇编语言的编辑、汇编、和连接装配程序的方法;

熟悉汇编语言程序的编辑-汇编-连接-运行-调试的过程

3.熟练掌握用DEBUG来调试程序,掌握调试程序的反汇编、读写寄存器或存储单元、

运行程序等简单的调试命令。

4.熟悉汇编语言指令,学会使用数据传送,算术逻辑运算,处理器控制等简单指令。

实验主要原理:

先用数据传送指令将DATA1,DA TA2放入AX和BX两个寄存器中,分别用ADD和SUB 两个指令来计算两数之和与两数之差,再用数据传送指令将两数之和放入DA TA3中,将两数之差放入DATA4中。最后用ret指令返回DOS

程序流程图:

源程序:

datarea segment

DA TA1 dw 5 ;数据定义DA TA2 dw 4

DA TA3 dw ?

DA TA4 dw ?

datarea ends

prognam segment

main proc far

assume cs:prognam,ds:datarea

start: push ds ;准备工作

sub ax,ax

push ax

mov ax,datarea

mov ds,ax

mov ax,DATA1

mov bx,DATA2

add ax,bx ;做加法

mov DATA3,ax

mov ax,DATA1

sub ax,bx ;做减法

mov DATA4,ax

ret

main endp

prognam ends

end start

DEBUG调试关键步骤:

执行mov ax,DATA1

(AX)=5,传送成功

执行add ax,bx

(AX)=9,加法成功

执行到最后ret时,查看数据段内容

分别为5, 4,9,1 说明加法,减法都成功执行

运行结果:

(DATA3)=9

(DA TA4)=1

实验报告二

实验题目:

数据段中有一个字符串DATA1,串长为3,内容为‘CDE’,还有另一个字

符串为DATA2,长度为4,内容为‘ABCD’。要求在附加段中的字符串DATA3

中得到‘ABCDCDE’。

实验目的:

1.熟练掌握汇编语言的程序结构,学会如何使用数据定义、符号定义、模块

定义等常用的批示性语句。

2.熟悉汇编语言的工作环境;学会使用汇编语言的编辑、汇编、和连接装配

程序的方法;熟悉汇编语言程序的编辑-汇编-连接-运行-调试的过程

3.熟练掌握用DEBUG来调试程序,掌握调试程序的反汇编、读写寄存器或

存储单元、运行程序等简单的调试命令。

4.熟悉汇编语言指令,学会使用数据传送,串处理指令,处理器控制等简单

指令。

实验主要原理:

取DATA1地址放入SI中,取DATA2地址放入BX中,取DATA3地址放入DI中,通过使用CX与LOOP循环先把DATA1的内容全部放入DATA3中,再使用CX和LOOP循环将DATA2的内容都放入DATA3的后边。

程序流程图:

源代码:

data segment

data1 db 'CDE'

data2 db 'ABCD'

data ends

esdata segment

data3 db 7 dup(?)

esdata ends

code segment

assume cs:code,ds:data,es:esdata main proc far

start:push ds

sub ax,ax

push ax

mov ax,data

mov ds,ax

mov ax,esdata

mov es,ax

mov si,offset data2 ;源串地址

mov di,offset data3

mov cx,4

cld ;把ABCD送到data3前4个单元

rep movsb

mov si,offset data1

mov cx,3 ;把CDE送到data3后3个单元

rep movsb

ret

main endp

code ends

end start

DEBUG调试关键步骤:

执行到mov si,offset data2时,(SI)=0003H ,源串地址传送成功

到执行到ret时,ES段中的串味ABCDCDE,实验成功

实验结果:

以DATA3为首址的连续单元成功存放‘ABCDCDE’字符串

实验报告三

实验题目:

已知有符号字数组ARRAY有6个元素。试编制统计此数组相邻两元素符号

变化次数的程序

实验目的:

1 熟练掌握汇编语言的程序结构,学会如何使用数据定义、符号定义、模块

定义等常用的批示性语句。

2 熟悉汇编语言的工作环境;学会使用汇编语言的编辑、汇编、和连接装配

程序的方法;熟悉汇编语言程序的编辑-汇编-连接-运行-调试的过程

3 熟练掌握用DEBUG来调试程序,掌握调试程序的反汇编、读写寄存器或

存储单元、运行程序等简单的调试命令。

4 熟悉汇编语言指令,学会使用数据传送,逻辑运算指令,循环指令,处理

器控制等简单指令。

实验主要原理:

将各个元素除符号位外全部置0,通过将每相邻的两个数进行对比看是否相等,若相等,则对比下一组,否则计数器加1再对比下一组。直到CX=0。

程序流程图:

相关文档
最新文档