- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
桂电汇编实验报告课件
实 验 报 告
实验名称 汇编语言程序设计
|
|
实验一 汇编语言上机过程和Debug常用调试命令
debug程序的各种操作命令。
三、问题描述
试编写一程序:比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘match’; 否则,显示‘no match’。
四、方法说明
使用ws、tc或EDIT编辑程序来建立源文件,然后存盘,使系统返回DOS。
用汇编程序masm(或asm)对源文件汇编产生目标文件obj
如:汇编指示出错则需重新调用编辑程序修改错误,直至汇编通过为止。
用连接程序link 产生执行文件EXE.
执行程序,可直接从DOS执行程序。
使用debug程序调试程序的方法。
五、实验步骤
调用字处理程序EDIT 建立以sample.asm文件
datarea segment
string1 db ‘move the cursor backward.’
string2 db ‘move the cursor backward.’
mess1 db ‘Match..’,13,10,’$’
mess2 db ‘No match!..’,13,10,’$’
datarea ends
prognam segment
main proc far
assume cs:prognam,ds:datarea,es:datarea
start:
push ds
sub ax,ax
push ax
mov ax,datarea
mov ds,ax
mov es,ax
lea si,string1
lea di,string2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:
lea dx, mess1
disp:
mov ah,09
int 21h
ret
main endp
prognam ends
end start
对源文件汇编产生目标文件obj
D:\masm 文件名。Asm
3.用连接程序link产生执行文件exe
D:\link文件名。Obj
4.执行程序
D:\ 文件名
5. 使用debug程序调试程序的方法。
ddebug 文件名.exe
_
用G命令运行程序
用U命令显示程序
学会设置断点。
学会查看数据段的内容情况d
用E命令修改数据区的字符串。
用A 命令把数据区的内容恢复原状
T命令逐条跟踪程序的执行
学会使用F命令、R命令、Q命令等等
实验二 循环程序设计1
循环结构是控制重复执行某一程序段的基本程序结构. 在汇编语言程序设计中, 循环程序的地位也是极为重要,从本质上来看, 循环程序结构是分支程序结构的一种手特殊形式, 也是使用条件转移指令来控制执行循环的.
一、实验目的
学会用循环结构进行程序编程。
二、实验题目
设计一个按表格形式显示ASC||码为10H—100H的所有字符的程序。
三、实验要求
按15行*16列的表格形式显示ASC||码为10H----100H的所有字符,即以行为主的顺序及ASC||码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符(ASC||为0)隔开。
四、方法说明
(1) 显示每个字符可使用功能号为02的显示输出功能调用,使用方法如下:
mov ah,02h
mov dl,输出字符的ASC||码
int 21h
本题中可把dl 初始化为10H, 然后不断使其加1(用INC指令) 以取得下一个字符的ASC||码。
(2) 显示空白符时,用其ASC||码0置入dl 寄存器,每行结束时,用显示回车(ASC||为0dh)和换行符(ASC||为oah)来结束本行并开始下一行。
(3) 由于逐个显示相继的ASC||字符时,需要保存并不断修改dl寄存器的内容,而显示空白、回车、换行符时也需要使用dl寄存器,为此可使用堆栈来保存相继的ASC||字符。具体用法是:在显示空白或回车,换行符前用指令
push dx 把dl 的内容保存到堆栈中去。在显示空白或回车,换行符后用指令
pop dx 恢复dl寄存器的原始内容。
五、实验代码
code segment
assume cs:code
start:mov bx,15 ;外循环次数
mov cx,16
文档评论(0)