- 1、本文档共70页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理实验课 内蒙古民族大学物理与电子信息学院 实验教学中心 MASM 使用简要说明 程序设计者完成在纸上的程序编写工作还无法确定程序是否正确,因此下一步就是要对程序进行测试和调试,使它能正确运行。为了方便和有效的进行调试常常借助一些软件开发工具。 使用这些软件开发工具,对一个汇编语言程序的开发全过程如下图所示: 进入方法 开始/程序/附件/c:命令提示符 C:e: E:cd masm5 E:masm5edit 文件存储时一定要用.asm为扩展名 E:masm5masm E:masm5link 连接结束以后即可使用debug命令 DEBUG的使用方法 进入与退出: 出现提示符”-”直接输入DEBUG进入,退出则输入Q 显示命令: 显示内存单元内容---D命令 显示寄存器内容---R命令 显示源程序指令(反汇编)---U命令 程序运行: 连续运行方式---G命令 跟踪运行方式---T命令 软件实验部分 本部分共进行6次实验,实验内容如下: 实验一 BCD码的运算 一.实验目的 1.熟悉在MASM集成环境下建立、汇编、链接、调试和运行汇编语言程序的全过程。 2.掌握汇编语言程序结构中数据段、堆栈段、代码段定义及内存分配方法。 3.学会DEBUG调试程序主要命令的使用方法。 4.掌握用组合BCD码表示数据的方法,并熟悉其加、减、乘、除运算。 二.实验内容 1.多位十进制数加法。 2.两位十进制数乘法。 三.实验要求 1.多位十进制数加法:在内存中以DATA1和DATA2为首址,各分配5个字节单元,分别存入两个8位组合BCD码数据(低位在前),将两数相加,结果送回到DATA2处。 2.两位十进制数乘法:将被乘数和乘数以组合BCD码形式分别存放于DATA1和DATA2定义的节单元中,经乘法运算,乘积存入DATA3定义的两个内存单元中。 3.用DEBUG调试程序、查看运算结果,进行手工验证;并且用DEBUG修改数据,重新执行。 BCD码用4位二进制编码表示一个十进制数,又称二—十进制数,由于这四位二进制数的权值为8421,故也称BCD码为8421码。在计算机里,用一个字节的低四位表示一位十进制数—非组合BCD码;用一个字节表示两位十进制数—组合BCD。 非组合BCD码 uuuu 1001 例:计算机里79d 非组合BCD码:uuuu0111 uuuu1001 组合BCD码 0111 1001 例:计算机里79d组合BCD码在计算机里,所有的运算都是按二进制进行的,运算结果是二进制数(即十六进制数)为了把十六进制运算结果转换成十进制,汇编语言中引进了组合BCD码加法调整指令DAA和减法调整指令DAS。 DAA 加法十进制调整指令 AL?AL中的十六进制数转为BCD形式 该指令之前要执行ADD或ADC。 调整方法:若AF=1,或AL中的低四位是十六进制的A~F,则AL内容加06h,AF置1; 若CF为1,或AL中的高四位是十六进制的A~F,则AL内容加60h,CF置1 多位十进制数加法 .model small .data data1 db 11h,22h,33h,44h,00h data2 db 99h,88h,77h,66h,00h .code startup mov si,offset data1 ;设指针 mov di,offset data2 clc ;清进位 mov cx,5 ;设加法次数 lop: mov al,[si] ;取第一加数 adc al,[di] ;取第二加数 daa ;十进制调整 mov [di],al ;结果存入指定单元 inc si ;指针加1 inc di loop lop ;循环 .exit
文档评论(0)