微机原理实验讲义程曙艳编厦门大学自动化系2016年10月汇编语言的上机过程1、建立汇编语言的工作环境至少有以下程序文件:编辑程序,文件名EDIT.COM,使用edit.com编辑程序代码生成*.asm。汇编程序,文件名MASM.EXE,使用masm.exe对*.asm文件进行汇编,生成*.obj文件连接程序,文件名LINK.EXE,使用link.exe对目标文件*.obj进行连接生成*.exe文件调试程序,文件名DEBUG.EXE,使用debug.exe对可执行文件*.exe进行调试运行(1)编辑可以用记事本或DOS下的EDIT编辑器来编写源程序。但程序保存时文件必须取名为*.asm。或EDIT文件名.asm打开已经存在的文件。(2)汇编在DOS状态执行masm文件名,则屏幕显示与操作如下:(3)连接汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe。在DOS状态执行link文件名,则屏幕显示与操作如下:(4)运行、调试>DEBUG文件名.exeDebug运行后,出现状态提示符短划线-常用debug命令:D,显示内存单元内容R,显示与修改寄存器内容T、P,单步执行命令G,连续执行指令U,反汇编Q,退出DEBUG程序2.汇编语言程序格式汇编语言由若干个段组成:堆栈段(保存数据、断点等信息)代码段(存放指令)必需数据段(定义数据,分配存储单元)附加段(定义数据,分配存储单元)每段必须有且仅有一个名字,以SEGMENT定义段的起始,以ENDS定义段的结束,整个程序结束后需以END收尾STACKSEGMENT......STACKENDSDATASEGMENT......DATAENDSESEGSEGMENT......ESEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK,ES:ESEGSTART:movax,datamovds,axmovax,esegmoves,axmovax,stackmovss,ax⋯⋯⋯.CODEENDSENDSTART3.程序例题:STACKSSEGMENTSTACK;堆栈段DW128DUP(?)STACKSENDSDATASSEGMENT;数据段;请在这里定义您的数据STRINGDB13,10,'HelloWorld!',13,10,'$'DATASENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATASSTART:MOVAX,DATAS;初始化MOVDS,AX;请在这里添加您的代码LEADX,STRING;显示字符串MOVAH,9INT21HMOVAH,01;等待键盘输入INT21HMOVAX,4C00H;退出程序INT21HCODESENDSENDSTART软件实验部分实验一二进制加、减法编程实验一、实验要求和目的1.熟悉汇编语言二进制多字节加法基本指令的使用方法;2.熟悉汇编语言二进制多字节减法基本指令的使用方法;3.掌握汇编语言编程的一般结构。二、实验内容(1)编写程序,实现长度为2字的两个数相加。(2)编写程序,实现一个长度为2字的数和一个长度为1字的数相减。实验二十进制数的BCD加、减法编程实验一、实验要求和目的1.熟悉BCD码的基本知识2.熟悉汇编语言BCD码多字节加减法基本指令的使用方法;3.掌握BCD码调整指令的使用方法。二﹑实验内容(1)编写程序,从键盘输入任意2个数,实现两数相加和相减,结果显示在屏幕上实验三二进制乘、除法编程实验一、实验要求和目的1.熟悉数据的补码表示。2.熟悉无符号数和有符号数乘法和除法指令的使用;3.掌握符号位扩展指令的使用。二﹑实验内容1)被除数是一个2字长的有符号数,除数是一个1字长的有符号数,求两个数相除的商和余数。(2)求两个2字长的无符号数相乘的结果,并将结果保存在存储空间中。实验四ASCII码表示的十进制数、二进制数和BCD的互换编程实验一、实验要求和目的1.了解汇编语言中的十进制、二进制、BCD码的表示形式;2.了解BCD值和ASCII值的区别3.了解如何查表进行数值转换及快速计算。4.掌握利用汇编语言进行进制转换的方法。二、实验内容(1)将一个用ASCII码表示的多位十进制转换为二进制,要求十进制不大于65535,且输入数码为无符号数。(2)将用ASCII码表示的数字串,转化为压缩的BCD码。三、实验提示(1)十进制数字串转二进制从最高位开始,重复进行“高位*10+低位”的操作,用公式表示为ΣDi×10i=((,(Dn×10+Dn-1)×10)+Dn-2)×10+,+D1)×10+D0(2)将ASCII码转换为压缩BCD码,将ASCII码的高4位置0,再将十位ASCII码的低4位左移至高4位,再与个位ASCII码相或。采用约定寄存器法传递参数。实验五字符串操作编程实验一、实验要求和目的1.了解汇编语言字符串处理基本流程;2.熟悉汇编语言字符串处理基本指令的使用方法;3.掌握利用汇...