微机原理实验报告——分支程序设计_第1页
微机原理实验报告——分支程序设计_第2页
微机原理实验报告——分支程序设计_第3页
微机原理实验报告——分支程序设计_第4页
全文预览已结束

下载本文档

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

文档简介

1、实验第三季度编程一、实验要求和目的熟悉汇编语言编程结构。熟悉汇编语言分支程序的基本准则使用方法。3.掌握使用汇编语言实现单、双、多分支的编程方法。二、硬件和软件环境1.硬件环境:计算机CPU 486或更高,500MB或更大的硬盘,32M或更大的内存;2.软件环境:安装了MASM 5.0、DEBUG、LINK、EDIT等应用程序。三、与实验相关的主要知识单位在实际应用程序中,通常根据某些条件选择运行分支。汇编语言的条件判断主要是状态寄存器的状态位、无符号数字减或有符号数字减的结果。以下是程序集语言编程方法的符号数传输说明。四、实验内容和步骤1.实验内容(1)编写计算以下函数值的程序:将输入数据设

2、置为x、输出数据y和字节变量,然后使用Debug查看x、y变量的数据(2)在包含ARRAY的地址中,使用5个8位无符号数字查找5个数字中的最大数字,然后以RESULT字节为单位存储结果。2.实验阶段A.实验流程图(1)计算函数值的流程图B.编写程序(1)计算函数值的实验代码数据段XDB12YDB?DATAENDSStack segment stackDB 100H DUP(?),以获取详细信息STACKENDS代码段Assume cs :代码,ds :数据,ss: stackSTART:MOVAX、数据MOVDS,AXMOVAL、XXCmp al,0;AX与0比较JGEBIGPR;转入BIGP

3、RMOVY,0FFFFH;邮报JMPEXITBIGPR:JEEQUPR;移转至EQUPR移动,1;邮报JMPEXITEQUPR:MOVY,0;0;邮报EXIT:MOVAL,YRET代码endsENDSTART(2)查找最大值的实验代码数据段阵列db 2,1,4,5,3结果数据库?DATAENDSStack segment stackDB 100H DUP(?),以获取详细信息STACKENDS代码段Assume cs :代码,ds :数据,ss: stackSTART:MOVAX、数据MOVDS,AXLEABX,ARRAY头发,bx;ARRAY作为第一个计数保存在BX中Movcx,5;设定重复

4、次数LOP:INCBX;指针变量1增量Cmp al,bx;比较AL的数量和BX的大小杰伊尔1;传送至L1头发,bx;邮报L 1: loop lop运行循环LOP程序MOVRESULT,ALMOVAH,4CHINT21H代码endsENDSTARTC.执行程序的调试调试并观察中间结果(1)函数值的调试计算1.反汇编内容在MOVAL,XX解散后,MOVAL,0000,即XX是数据段的第一个存储单元内容,数据段的起始偏移地址为0000。MOV Y,-1;MOV Y,0;MOV Y,1反向装配后,分别为MOVBYTE PTR 0001、FF、MOVBYTE PTR 0001、00、MOVBYTE PTR 0001、01都表示将保存在比较结果数据段的第二个存储单元0001中如果JGE为真,程序执行将转到包含有效地址为0014的命令的存储设备。也就是说,如果开始执行14073336900014的命令,并且JZ为真,则程序将执行有效地址为001E的命令,即存储设备1407:001E的内容2.d命令查看y存储设备的内容,如

温馨提示

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

最新文档

评论

0/150

提交评论