当前位置:文档之家› 实验3汇编实验

实验3汇编实验

数学与软件科学学院实验报告
学期:2017至 2018第 2 学期 2018年4月4日
课程名称: 汇编语言专业:信息与计算科学班级: 2015级_5班
实验编号:3实验项目:
指导教师:冉茂华
姓名:黄玉含学号:2015060512实验成绩:
一、实验任务
(1)编写汇编程序实现“向内存0:200-0:23F依次传送数据0-63(3FH)”的功能。

要求:程序中只能使用9条指令,这9条指令中包括“mov ax,4c00h”和“int 21h”。

(2)下面程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。

上机调试,跟踪运行结果。

二、实验步骤及结果分析
(1)编写汇编程序实现“向内存0:200-0:23F依次传送数据0-63(3FH)”的功能。

要求:程序中只能使用9条指令,这9条指令中包括“mov ax,4c00h”和“int 21h”。

assume cs:code
code segment
mov ax,20H
mov ds,ax
mov bx,0
mov cx,40H
s:mov [bx],bl
inc bx
loop s
mov ax,4c00H
int 21H
code ends
end
结果分析:利用循环讲数据写入内存:参照格式mov cx,40 s: 循环体loop s
由于是一个字节一个字节的传送,所以使用的寄存器为al。

(2)下面程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。

上机调试,跟踪运行结果。

assume cs: code
code segment
mov ax,cs
mov ds, ax
mov ax, 0020h
mov es, ax
mov bx, 0h
mov cx,17h
s: mov al, [bx]
mov es:[bx], al
inc bx
loop s
mov ax, 4c00h
int 21h
code ends
end
结果分析:○1数据和指令在计算机内都以2进制存在,所以复制的是2进制,u命令查看得到一共需要复制17个字节,从0到16h,17个字节。

○2内存复制到内存,涉及两个段,数据段寄存器则不够,所以可以引入扩展段寄存器es,若是一个字节一个字节复制,则需要al寄存器
三、实验总结
○1学会了循环的写法,cx用于存放循环次数,bx用于存放偏移量。

○2内存复制到内存,数据段寄存器不够用时,可以用其它段寄存器代替。

○3一个字节为单位,则使用al寄存器。

相关主题