版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微型计算机原理实验报告姓名: 班级:学号: 2015.11.16第一次实验4.6实验目的:用乘法指令实现32位二进制书数与十六位二进制数相乘。算法分析:设X1,X2为被乘数的高、低16位二进制数,X3为16位二进制乘数,两数相乘的结果为(X1*216+X2)*X3=X1*X3*216+X2*X3,两次乘法得到两个部分积,然后部分积错4位(216)累加。实验程序:.MODEL SMALL.8086.DATA ;数据段X1 DW 1024H ;被乘数的高16位X2 DW 2048H ;被乘数的低16位X3 DW 8086H ;16位乘数Y1 DW 0Y2 DW 0Y3 DW 0 ;Y1,Y2,Y3
2、用于存储计算结果.CODE ;代码段.STARTUP MOV AX,X2 ;将X2赋值给 AXMUL X3 ;将X2与X3相乘,高位存入DX,低位存入AXMOV Y3,AX ;将X2乘X3的结果的低位存入最低位Y3MOV Y2,DX ;将X2乘X3的结果的高位存入次高位Y2MOV AX,X1 ;将X1赋值给 AXMUL X3 ;将X1与X3相乘,高位存入DX,低位存入AX,AX应处于次高位Y2ADD Y2,AX ;将次高位的两个数相加ADC Y1,DX ;Y1当前值为0,将(DX)与次高位的进位CF的和存入Y1MOV AX,Y1 ;为便于显示,将乘积的最高位存入AXMOV BX,Y2 ;将次低
3、位存入BXMOV CX,Y3 ;将最低位存入CX.EXITEND实验结果:结果分析:程序分步运行至结束时,AX=081A BX=830C CX=E580;用16进制计算器对结果进行验证:1024 2048 * 8086 = 81A 830C E580结果正确,改变初值X1,X2,X3,即可得到其他数相乘的结果,经若干次验证,结果都是正确的,程序是可行的。4.12实验目的:比较两个等字长、字节型字符串是否完全相同;若相同则将字符Y送AL入中,否则将字符N送入AL中。算法分析:将两字符串逐字节进行比较,根据字长设置计数寄存器,控制比较次数。用ZF标志结果,相等为1,执行将Y赋值给AL,不等为0,执
4、行将N赋值给AL。实验程序:.MODEL SMALL.386.DATA ;数据段 STRING1 DB WORLD ;第一个字符串 STRING2 DB WoRlD ;第二个字符串.CODE ;代码段.STARTUP MOV AX,DS MOV ES,AX LEA SI,STRING1 ;取第一段有效地址放在SI LEA DI,STRING2 ;取第二段有效地址放在DI MOV CX,5 ;计数寄存器设为5 REPZ CMPSB STRING1,STRING2 ;CX不是0时,重复按字节比较 JNZ LABNE ;ZF若等为1,不等为0;ZF=0时转移到LABNE,表示两者不等 MOV AL,
5、Y ;表示两者相等 JMP EXIT ;跳到末尾LABNE: MOV AL,NEXIT: .EXIT END实验结果:结果分析:N的ASCII代码为4EH,运行后AL为4EH,说明两个字符串不相同,程序中WORLD与WoRlD的确不相同,结果正确。第二次实验4.15实验目的:实现67H/12H,商存储在RESULT中,余数存储在REST中。算法分析:将被除数与除数分别放入寄存器AX,BX的低四位AL,BL中,利用DIV语句作除法,将商存入AL,将余数存入AH,然后分别赋给变量RESULT和REST中。实验程序:DATA SEGMENT ;数据段VAR1 DB 67H ;定义被除数VAR1=67
6、HVAR2 DB 12H ;定义除数VAR2=12HRESULT DB ? ;定义变量RESULTREST DB ? ;定义变量RESTDATA ENDSCODE SEGMENT ;代码段 ASSUME CS:CODE,DS:DATA ;声明START: MOV AX,DATA ;把DATA放到寄存器AX中 MOV DS,AX ;再将DATA放到数据段中 MOV AL,VAR1 ;把VAR1放到AX低四位 MOV AH,00H ;高四位置0 MOV BL,VAR2 ;把VAR2放到BX低四位 DIV BL ;VAR1/VAR2,结果存入AX,AL存商,AH存余数 MOV RESULT,AL ;
7、将AL中的商存入RESULT MOV REST,AH ;将AH中的余数存入REST MOV AH,4CH INT 21HCODE ENDS END START实验结果:结果分析:67H/12H=5HDH,程序运行显示AX=D,AL=5H,与实际结果相符。4.16实验目的:编制设密码程序,要求在屏幕上显示字符串“Password:”,随后从键盘上再输入字符串,并将其与程序内部设定的字符串相比较。若二者相同则显示“Hello!”,否则显示“Sorry!”。实验程序:STRING2 DB PLEASE CONFIRM THE PASSWORD:,0DH,0AH,$;STRING3 DB HELLO!
8、,0DH,0AH,$;STRING4 DB SORRY!,0DH,0AH,$;DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART: MOV AX,DATA MOV DS,AX MOV AH,09H LEA DX,STRING1 INT 21H MOV CX,20 LEA SI,PASSWORDINPUT: MOV AH,08H ;键盘输入,无回显 INT 21H CMP AL,0DH ;回车后开始比较 JZ NEXT MOV SI,AL INC SI MOV DL,* ;显示为*的加密状态 MOV AH,02H INT 21H LOOP INPU
9、T ;接收6个字符后开始比较NEXT: MOV AL,$ MOV SI,AL CRLF MOV AH,09H LEA SI,PASSWORD MOV AH,08H INT 21H PUSH AX MOV DL,* MOV AH,02H INT 21H POP AX CMP SI,AL JNE PASSERRORCONFIRM: INC SI MOV DL,$ CMP SI,DL JE ACCEPPT MOV AH,08H INT 21H PUSH AX MOV DL,* MOV AH,02H INT 21H POP AX CMP SI,AL JE CONFIRMPASSERROR: CRLF MOV AH,09H LEA DX,STRING4 INT 21H JMP EXITACCEPPT: CRLF MOV AH,09H LEA DX,STRING3 INT 21HEXIT: MOV AH,4CH INT 21H CODE ENDS END START实验结果:结果分析:当两次输入密码相同时,显示HELLO!,不同时显示SORRY!(在出现第一个字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目经理风险评估工具及应对策略指南
- 2026年大型游乐设施操作工职业技能等级考试重点解析试卷
- 2026年小学生学校食堂食品中毒应急处置演练方案
- 2026年9月24日浙江省金华市婺城区公开招聘专职社区工作者考试试题答案解析
- 快消品销售代表面试须知与答题技巧
- 幼儿园幼儿健康饮食管理规范手册
- 健康管理专业服务承诺书(5篇)
- 项目验收与结算标准流程模板
- 护理服务中的康复训练宣教
- 线上培训平台学习责任书4篇
- 出生医学证明培训课件
- 五一期间安全运输培训课件
- 西藏助教活动方案
- 《农产品电商运营职业技能等级证书(初级)》课程(培训)标准
- 《经济思想史》教学大纲
- 清代浙西文化代际传承:从曝书亭到拜经楼的演变探讨
- 《工程伦理》教案全套-教学设计
- 地球生气了课件
- 3 岁以下婴幼儿回应性照护指南
- 精神病学主治医师考试题库及答案
- 碟中谍音乐教学课件
评论
0/150
提交评论