- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]微机原理与汇编实训指导书
《微机原理与汇编语言》
实验、实训指导书
目 录
目录…………………………………………………………………1
实验一 多字节数的相加……………………………………………2
实验二 多精度十进制加法程序设计………………………………4
实验三 数学表达式计算……………………………………………6
实验四 分支程序设计………………………………………………8
实验五 单循环结构程序设计………………………………………10
实验六 多层循环结构程序设计……………………………………12
实验七 子程序结构程序设计………………………………………13
实验八 画图程序设计………………………………………………14
实验九 动画图程序设计……………………………………………16
实验十 简单计算器程序设计………………………………………20
实验一 多字节数的相加
实验目的
要求学生掌握基本算术运算指令的用法
掌握加法计算程序的设计思路和方法
熟悉在PC机上建立、汇编、连接和调试程序的方法
二、实验内容
内存UNIT1和UNIT2分别存放一个多字节数据,数据长度在LENGTH单元存放。编写程序计算2个数的和并存放在SUM开始的单元。
三、编程思路
为了实现指定的功能,应从以下几个方面考虑:
组织数据时,要按高位放在高地址,低位放在低地址的原则
要完成多精度字节数相加,最低字节用ADD指令,其他高位字节要用ADC指令。
四、实验步骤
1、新建一个TXT文件,在TXT文件中编写程序,程序编写完毕并保存后,把文件的后缀名TXT改为ASM。这样就生成了一个汇编源程序。
2、对汇编源程序编译。用编译软件MASM.EXE进行编译,在DOS系统中,执行命令:masm 文件名。同时编译软件对汇编源程序进行语法检查,在语法检查没有错误的情况下会生成一个后缀名为OBJ的目标文件
3、用连接程序进行连接。在生成OBJ文件后,用连接软件LINK.EXE对其进行连接,会生成一个后缀名为EXE的可执行文件。
4、程序的执行。双击后缀名为EXE的可执行文件,程序就会自动的执行。
5、程序的调试。汇编程序很多的结果都是不显示的,那么要想查看程序执行的结果,就要用DEBUG.EXE调试程序。
说明:在本书以后的实验中,实验步骤参考本次实验的步骤。
五、参考程序清单
dseg segment
unit1 db 12h,34h,56h
unit2 db 98h,56h,12h
length db 3
sum db 0,0,0
dseg ends
cseg segment
assume cs:cseg,ds:dseg
begin:mov ax,dseg
mov ds,ax
lea bx,unit1
lea si,unit2
lea di,sum
mov cl,length
start:mov al,[bx]
adc al,[si]
mov [di],al
inc bx
inc si
inc di
dec cl
jnz start
mov ah,4ch
int 21h
cseg ends
end begin
六、实验小结
实验二 多精度十进制加法程序设计
实验目的
学习数据传送和运算指令的加法
掌握加法计算程序的设计思路和方法
熟悉在PC机上建立、汇编、连接和调试程序的方法
实验内容
将两个多精度十进制相加
要求被加数和加数均以组合BCD码形式各自存放在以DATA1和DATA2为首的连续5个内存单元中,结果送回加数单元
将结果显示出来
编程思路
为了实现指定的功能,应从以下几个方面考虑:
组织数据时,要按高位放在高地址,低位放在低地址的原则
要完成多精度字节数相加,最低字节用ADD指令,其他高位字节要用ADC指令。
因为被加数和加数都以BCD码表示,所以在加法指令之后要有加法调整指令。
题目要求完成5个字节数据相加,所以要用循环程序。
参考程序清单
crlf macro
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
mov ah,2
int 21h
endm ;定义回车换行宏指令
dseg segment
data1 db 37h,49h,53h,19h,46h
data2 db 90h,87h,49h,31h,25h
dseg ends
cseg segment
assume cs:cseg,ds:
文档评论(0)