




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理第一次实验电气310 张端鸿 2130401287注:为了适配win8.1 64bit系统,采用masm for Windows软件,初始化过程有些许不同。实验一 顺序程序的设计一、实验目的1.学习8086/8088指令系统中一些基本指令的用法和程序设计的的基本方法2熟悉在PC机上建立、汇编、连接、调试与运行8086/8088汇编语言程序的全过程;二、实验内容设a、b、c、d四个数分别以单字节压缩BCD码形式存放在内存NUM开始的四个单元,计算(a+b)-(c+d)并将结果放在Y1单元,将结果在屏幕上显示出来。在DEBUG中,不断改变a,b,c,d的内容并查看结果。这里给出几组数据:1
2、. a=09,b=06,c=04,d=072. a=38,b=41,c=29,d=343. a=70,b=23,c=42,d=414. a=63,b=73,c=62,d=50三、实验程序DATA SEGMENTNUM DB 13H,27H,11H,12HY1 DB ?DATA ENDSSTACK SEGMENT DB 20 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AL,NUM ADD AL,NUM+1;把a
3、+b的结果保存在AL中 DAA;BCD码调整 MOV CL,AL;把a+b的结果复制到CL中 MOV AL,NUM+2 ADD AL,NUM+3;把c+d的结果保存在AL中 DAA;BCD码调整 SUB CL,AL ;把(a+b)-(c+d)的结果保存在CL中 MOV AL,CL DAS;减法BCD码调整 MOV Y1,AL ;结果保存于YI中 MOV BL,AL;保存AL中的内容 MOV CL,4 ROR AL,CL AND AL,0FH;取AL中的高四位 ADD AL,30H;转换为ASCII码 MOV DL,AL MOV AH,02H INT 21H;显示高位ASCII码 MOV AL,
4、BL;恢复AL的内容 AND AL,0FH;取低四位 ADD AL,30H;转换为ASCII码 MOV DL,AL MOV AH,02H INT 21H;显示高位ASCII码 MOV AH,4CH INT 21HCODE ENDSEND START调试过程: 1.反汇编2.查看初始时寄存器与内存中的内容3.a=09,b=06,0c=04,d=07时,在偏移地址为0011H(DAA)处设置断点,AL保存的即是经过未经DAA操作后的a+b的结果0FH4.在偏移地址为0011H(DAA)处设置断点,AL保存的即是经过未经DAA操作后的c+d的结果0BH 5.在偏移地址为0020H(DAS)处设置断点
5、,AL保存的即是经过未经DAS操作后的(a+b)-(c+d)的结果04H 6.在偏移地址为0021H(DAS)处设置断点,AL保存的即是经过经DAS操作后的(a+b)-(c+d)的结果04H7. 在40H设置断点,得到输出结果1修改abcd,a=38,b=41,c=29,d=34结果为16同理,当a=70,b=23,c=42,d=41结果为10 a=63,b=73,c=62,d=50结果为24 实验一思考题1. 可改变abcd的值的DEBUG命令:E 可查看abcd的值的DEBUG命令:D2. 断点设置在每一次运算后,即c+d、a+b、与(a+b)-(c+d)后以便验证结果是否与期望相同; 还
6、将断点设置在每一位的显示后以观察是否正常显示。3.a=90,b=34,c=33,d=44结果为47a=12,b=19,c=25,d=33与预期结果-27不符原因:(a+b)-(c+d)为负数现考虑结果为负数的情况,同时考虑是否存在百位,改进程序如下:DSEG SEGMENT NUM DB 12H,19H,25H,33H Y1 DB ? DSEG ENDSSSEG SEGMENT PARA STACK DB 20 DUP(?)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEGSTART: MOV AX,DSEG MOV DS,AX MOV A
7、X,SSEG MOV SS,AX MOV AL,NUM ADD AL,NUM+1 DAA MOV CL,AL MOV AL,NUM+2 ADD AL,NUM+3 DAA CMP CL,AL JL LLOW ;如果CL<AL跳转,即结果为负 SUB CL,AL MOV AL,CL DAS JMP DONELLOW: SUB AL,CL DAS MOV BL,AL MOV DL,'-' MOV AH,02H INT 21H ;输出负号 XOR DL,DL MOV AL,BL XOR BL,BL JMP DONEDONE: MOV NUM+4,AL MOV BL,AL AND
8、AL,0F0H MOV CL,4 SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,BL AND AL,0FH ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AX,4C00H INT 21HCSEG ENDSEND START实验二 分支程序的设计一、实验目的1、学习提示信息的显示及键盘输入字符的方法。2、掌握分支程序的设计方法。二、实验内容在提示信息下,从键盘上输入原码表示的二位十六进制有符号数当此数大于0时,屏幕上显示此数为正数此数等于0时,屏幕上显示此数为0此数小于0时,屏幕上显示此
9、数为负三、实验原理分支程序是程序通过判断和比较形成不同逻辑框并产生相应的分支程序。它的结构有两种:一种是二分支,一种是多分支它们的共同特点是:运行方向总是向前的,在某种确定的条件下,只能执行多个分支中的一个分支。四、实验过程程序编制完成后,先静态检查,无误后,建立汇编文件,生成可执行文件,然后先进入DEBUG中用G命令加断点的方式,分段调试,无误之后,再在DEBUG下连续运行,最后再将程序在DOS中运行,如果正确,则使用DEBUG命令改变a,b,c,d的值反复验证结果,如果不正确,则调试直至完成为止。程序CRLF MACRO ;定义宏MOV AH,02H MOV DL,0DHINT 21H ;
10、显示回车MOV AH,02HMOV DL,0AHINT 21H ;显示回车ENDM ;宏结束DATA SEGMENTMESS1 DB'INPUT DATA:',0DH,0AH,'$'MESS2 DB'THIS DATA IS+',0DH,0AH,'$'MESS3 DB'THIS DATA IS-',0DH,0AH,'$'MESS4 DB'THIS DATA IS ZERO',0DH,0AH,'$' ;定义的结果信息DATABUF DB 3 ;定义可以接收的最大字符数A
11、CTION DB ? ;实际输入字符数STRING DB 3 DUP(?) ;输入字符缓冲区DATA ENDSSSEG SEGMENT PARA STACK'STACK'DB 50 DUP(0)SSEG ENDSCODE SEGMENTASSUME CS:CODE,SS:SSEG,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AX,SSEGMOV SS,AXMOV DX,OFFSET MESS1MOV AH,09H ;显示提示信息INT 21HMOV AH,0AHMOV DX,OFFSET DATABUFINT 21H ;接收二位字符CRLF ;回
12、车换行MOV AL,STRINGCMP AL,38HJGE BELOWCMP AL,30HJNE ABOVEMOV AL,STRING+1CMP AL,30HJNE ABOVEDENG:MOV DX,OFFSET MESS4 ;当等于0时跳转至此MOV AH,09HINT 21HJMP NEXTBELOW:MOV DX,OFFSET MESS3 ;小于0时跳转至此MOV AH,09HINT 21HJMP NEXTABOVE:MOV DX,OFFSET MESS2 ;大于0时跳转至此MOV AH,09HINT 21HNEXT:MOV AX,4C00HINT 21HCODE ENDSEND STA
13、RT六、实验过程1、实验中JZ,JGE,JNE等指令的使用是体现分支程序多分支特点的重要一环。2、接收键入的字符,要用DOS功能调用的0AH号功能。3、此外,本程序中的宏指令,采用了DOS功能调用的02H号功能,显示一个字符并将回车符和换行符在显示屏上显示出来4、接收在缓冲区的字符是用ASCII码表示的,对于元码表示的有符号数来说:大于0,高位字符第7位为0,即高位字符的ASCII码小于38H大于0,高位字符第7位为1,即高位字符的ASCII码大于等于38H等于0,必须两个字符都为30H测试3组数据33、00、81 以输入A4为例,可见为正数。实验思考题1、断点应设在各个CMP指令处,以观察符号位的变化,进而进一步判断分支走向。查看符号位的变化可以调用-R指令,如下图:即为标志寄存位。2、以输入33为例,利用-R:得到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年语言文字应用水平考试试题及答案
- 2025年智能制造与自动化专业考试卷及答案
- 2025年证券从业资格考试试卷及答案披露
- 2025年土木工程师职业资格考试试题及答案
- 2025年电子商务专业资格考试试题及答案
- 2025年艺术专业学生毕业实际操作考试题及答案
- 2025年职业发展与生涯规划考试试题及答案
- 2025年哲学与社会科学基础知识考试试题及答案
- 仓储物流操作失误赔偿补充协议
- 粮油行业一级大豆油集中采购与投资合作合同
- 机器视觉试题答案及解析
- GB 14930.2-2025食品安全国家标准消毒剂
- 军兵种知识课件稿
- 财产保险考试:非车险核保考试预测题
- 攀西地区钒钛磁铁矿铁钛综合回收试验研究
- 电商平台服务协议、交易规则
- 档案数字化存储方式试题及答案
- 语文综合实践:走进传统节日探寻文化根脉 课件-【中职专用】高一语文同步课堂(高教版2023基础模块下册)
- 教师课堂教学评价标准
- 去极端化教育宣讲
- 光伏防火培训课件
评论
0/150
提交评论