《实验3汇编实验[共3页]》由会员分享,可在线阅读,更多相关《实验3汇编实验[共3页](3页珍藏版)》请在金锄头文库上搜索。
1、数学与软件科学学院 实验报告学期: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)
2、编写汇编程序实现“向内存0:200-0:23F依次传送数据0-63(3FH)”的功能。要求:程序中只能使用9条指令,这9条指令中包括“mov ax,4c00h”和“int 21h”。assume cs:codecode segmentmov ax,20Hmov ds,axmov bx,0mov cx,40Hs:mov bx,blinc bxloop smov ax,4c00Hint 21Hcode endsend结果分析:利用循环讲数据写入内存:参照格式 mov cx,40 s: 循环体 loop s由于是一个字节一个字节的传送,所以使用的寄存器为al。(2) 下面程序的功能是将“mov ax
3、,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结果分析:数据和指令在计算机内都以2进制存在,所以复制的是2进制,u命令查看得到一共需要复制17个字节,从0到16h,17个字节。 内存复制到内存,涉及两个段,数据段寄存器则不够,所以可以引入扩展段寄存器es,若是一个字节一个字节复制,则需要al寄存器三、实验总结学会了循环的写法,cx用于存放循环次数,bx用于存放偏移量。内存复制到内存,数据段寄存器不够用时,可以用其它段寄存器代替。一个字节为单位,则使用al寄存器。