嵌入式微机原理_第1页
嵌入式微机原理_第2页
嵌入式微机原理_第3页
嵌入式微机原理_第4页
嵌入式微机原理_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式微机原理实验指导书自动化系一、实验目的熟悉8086CPU指令系统的数据传送指令、算术运算指令的 功能和应用。熟悉顺序结构程序的格式和基本设计方法。掌握顺序结构程序的建立、汇编、连接和执行过程。二、实验内容及要求本实验要求完成计算表达式S=(W-(X*Y+Z-200)/X。设W、 X、Y、Z、S均为16位带符号数。将表达式的商和余数存 入数据区S单元开始的区域中。采用编辑软件建立顺序结构汇编语言源程序,修改无误后 存盘,通过汇编、连接,了解汇编语言从编程到形成可执 行文件的全过程,然后将其转换为,EXE文件并用DEBUG程 序运行,检查程序的运行结果。该题目要求掌握乘除法运算中带符号数和无

2、符号数运算 的区别,为了实现指定功能,要考虑带符号数的乘除法运 算应选用的指令、乘除法运算中操作数的长度问题以及带 符号数的扩展问题。三、实验参考程序本实验参考程序设计如下:DATASEGMENT;数据段定义WDW100;W定义为字数据,赋初值100XDW-28;X定义为字数据,赋初值-28YDW-15;Y定义为字数据,赋初值-15ZDW300;Z定义为字数据,赋初值300SDW2 DUP(?);S定义为字数据,预留两个单元DATAENDSCODESEGMENT;代码段定义ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA;汇编开始,初始化ds。AX,IP,CS,DS

3、=()?MOVDS,AXMOVAX,X;被乘数X取到AX中IMULY;计算X*YMOVCX,AX;结果转存到CX和BX. CX=O?MOVBX,DX;DX=()?MOVAX,Z;将Z取到AX中.CWD;将Z扩展到DX、AX中ADDCX,AXADCBX,DX;计算 X*Y+Z. BX=()?SUBBX,200;计算 X*Y+Z-200. BX=()?SBBBX,0;BX=()?MOVAX,W;将W取到AX中CWD;将W扩展到DX和AX中SUBAX,CXSBBDX,BX;计算 W-(X*Y+Z-200). DX=()?IDIVX;计算(W-(X*Y+Z-200)/XMOVS,AX;保存结果MOVS

4、+2,DXMOVAH,4CH;返回DOSINT21HCODE ENDSENDSTART;汇编结束实验二分支结构程序设计一、实验目的掌握分支结构程序设计的基本方法。掌握无符号数和带符号数比较大小转移指令的区别。熟悉典型指令的功能及其应用。二、实验内容在数据区中定义3个带符号字节变量。编写程序将其中的最大数找出并送到MAX单元中。三、编程思路该题目采用分支程序设计方法,为了实现指定功能,应从以下 3个方面考虑:初始化数据存储区:在内存设定3个字节变量和一个MAX 单元,分别保存3个字节数据和最终结果。3个数据的比较:先将第一个数送到AL寄存器,与第二个 数进行比较,两个数据中的大数送AL保存,然后

5、再与第 三个数进行比较,大数依然保存到AL中,这样两两比较 后,AL的内容就是3个数中的最大数,将其送到MAX单元 中即可。程序中要确定带符号数比较大小转移时应选择哪一组条 件转移指令,以满足题目要求。四、实验参考程序本实验的参考程序设计如下:DATASEGMENT;数据段定义XDB-50;X定义为字节数据,赋初值-50YDB100;Y定义为字节数据,赋初值100ZDB40;Z定义为字节数据,赋初值40MAXDB?;MAX定义为字节数据,预留空间DATAENDSCODESEGMENT;代码段定义ASSUMEDS:DATA,CS:CODE ; IP,CS,DS=()?START:MOVAX,DA

6、TA;初始化 DS. IP =()?MOVDS,AXMOVAL,X;取X到AL中CMPAL,Y;X和Y比较JGNEXT;如 XY 转 NEXT. IP =()?.MOVAL,Y;否则Y取到AL中CMPAL,Z;Y和Z比较JGEXIT;如 YZ 转 EXIT. IP =()?MOVAL,Z;否则Z取到AL中JMPEXIT;无条件跳转到EXIT. IP =()?NEXT: CMPAL,Z;X和Z比较JGEXIT;如 XZ 转 EXIT. IP =()?MOVAL,Z;否则Z取到AL中EXIT: MOVMAX,AL;AL中内容送到MAX单元MOVAH,4CH;返回DOSINT21HCODE ENDS

7、ENDSTART;汇编结束实验三单循环结构程序设计一、实验目的熟悉单循环结构程序设计的方法,注意循环的初始值设定 和退出循环的条件。掌握在无符号字节整数数组中找出最小数的程序设计方 法,注意数组指针的应用。熟悉典型指令的功能及其应用。二、实验内容要求从内存中BUF单元开始存放的10个无符号字节整数 数组中找出最小数,将其值保存在AL寄存器中。注意数组中每个数据地址的变化,合理选用相关指令。三、编程思路该题目要求掌握单循环程序设计的方法,为了实现相关功能,应从以下3个方面考虑:确定数组中数据的起始地址,采用地址指针的变化进行合 理指向。设定单循环结构中的初始入口、循环体、判断条件等。由于已知循环

8、的次数,可确定计数器使用,选择LOOP指 令实现规定功能。四、实验参考程序本实验的参考程序设计如下:DATA SEGMENTBUF DB 12H,35H,61H,01H,52H,8AH,0FFH,10H,2BH,3FHCN EQU $-BUF;定义数组指针变量DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA;IP,CS,DS=()?START: MOVAX,DATAMOVDS,AXMOVBX,OFFSET BUF;取数组偏移地址.BX =()?MOVCX,CN;取数据个数DECCX;计数器减1. CX =()?MOVAL,BX;取第一个数据INCBX;地址加1LP:CMPAL,BX;两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论