- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
大连理工大学计算机原理报告
《计算机原理实验报告》----- 汇编语言部分
实验( 一 )名称: 汇编语言上机操作DEBUG的使用
实验目的和要求:
1.熟练掌握宏汇编程序TASM的使用;
2.熟练掌握连接程序LINK或TLINK的使用;
3.学习使用DEBUG程序的各种命令;
4.掌握用DEBUG调试用户程序的方法。
二、实验涉及的主要知识点:
DEBUG的命令:A命令(以汇编指令的形式在内存中写入机器指令);
U命令(以反汇编的形式显示汇编命令);
T命令(执行CS:IP指向的内存单元处的指令);
D命令(查看内存中的内容);
E命令(修改内存中的内容);
R命令(查看、改变CPU寄存器中内容);
Q命令(退出DEBUG)。
运行TD调试.EXE文件:F2(设置和取消断点);F4(程序执行到光标位置);F7(单步运行);F9(全步运行);F5(放大/缩小窗口)
MOVSB串操作指令:使用REP前缀,CX作计数器,完成多次数据传送
三、实验内容:
编写程序,实现字符串传输功能。将数据段DS中从10H开始10个字节中的内容移动到扩展段ES中从20H开始的单元中。并使用DEBUG或TD调试程序
四、算法流程:
开始
数据段段地址
置源操作数起始地址
置目的操作数起始地址
设置循环次数
CX是否为0?
否
执行movsb
CX=CX-1
是
程序结束
五、程序清单:
assume cs:code,ds:data
data segment
org 10h
str1 db 00,01,02,03,04,05,06,07,08,09
org 20h
str2 db 10 dup(?)
data ends
code segment
start: mov ax,data
mov ds,ax
;df=0, 地址作增量变化
cld
;置源操作数起始地址
lea si,str1
;置目的操作数起始地址
mov di,offset str2
;初始化cx为10,移动10个字节
mov cx,10
;(es:di)--(ds:si), si--si+1, di--di+1
rep movsb
mov ax,4c00h
int 21h
code ends
end start
六、实验结果与分析:
1.寄存器赋值前
2.寄存器赋值后
3.MOVSB执行前
4.MOVSB执行后
TD下全步运行后
完成了实验内容的要求,成功将数据段DS中从10H开始10个字节中的内容移动到扩展段ES中从20H开始的单元中。
七、实验体会、建议:
通过自己动手编写一个简单的汇编程序,熟悉了DEBUG下多种命令的使用,掌握了对源文件(.ASM)进行连接、运行的步骤,对??用TD调试可执行文件的方法也有了一些了解。
学生签字: 日期:
文档评论(0)