微型计算机原理与应用实验指导书,微机原理与应用实验指导书-20180316.doc

微机原理与应用实验指导书-20180316

PAGE PAGE 1微型计算机原理与应用实 验 指 导 书控制科学与工程学院实验中心山东大学二零一八年三月目 录汇编语言开发环境实验实验1-1 汇编语言程序开发环境实验实验1-2分支程序实验实验1-3 循环程序实验实验1-4 子程序实验简单程序设计实验实验2-1计算机日期时间显示程序设计实验实验2-2计算机键盘字符输入程序设计实验实验2-3 键盘模拟电子琴发声实验简单I/O并行接口实验实验3-1 拨动开关并行接口实验实验3-2七段数码管并行接口实验8255可编程并行接口实验实验4-1发光二极管显示控制实验实验4-2 七段数码管显示控制实验附录1 PWB开发环境使用方法附录2 CodeView调试器使用方法附录3 汇编语言程序开发步骤参考文献汇编语言开发环境实验实验1-1 汇编语言程序开发环境实验实验目的:通过实验例题掌握MASM6宏汇编语言集成开发环境的使用方法。实验设备:RPC-500工业控制计算机1台SXL-100微型计算机接口实验仪1台 实验内容:实验1-1是实验例题。在实验程序里对数组X中的数据进行累加运算,结果存放在变量XSUM中。下面简要介绍实验程序。实验程序是一个多模块程序,它由两个模块文件组成。第1个模块文件只包含主程序,称为主模块;第2个模块文件只包含子程序,称为子模块。在主模块文件里的“EXTRN SUMX:FAR”语句表示标识符“SUMX”是外部引用的标识符,即这个标识符是在子模块文件中出现的,“FAR”表示它是远调用。.MODEL指出汇编时内存使用模式,在这里使用小模式。.STACK定义了堆栈段的大小,程序里定义了16个字节的堆栈空间。.DATA是数据段定义,数据段里定义了4个数据变量:数组X、数组中数据个数变量CON、存放累加结果变量XSUM、字符数组MSE。字符数组里,“0DH”是换行控制符,“0AH”是回车控制符,“$”表示字符数组结束。EXTRN是伪指令,意思是外部引用。用来说明符号地址SUMX是在另一个程序文件中定义。.CODE表示代码段的开始。.STARTUP是程序运行的起始点,它下面第1条有效的汇编语句是整个程序的执行入口,使用这条语句后,在主程序的开始不需要进行数据段段寄存器的赋值,主程序末尾的END语句后面不用写上程序运行起始标号。下面是实验例题里的主模块文件。程序送入计算机时,不同的模块文件要分别输入,并用不同的文件名存盘。EXTRNSUMX:FAR.MODELSMALL.STACK16H.DATAXDADB0,1,2,3,4,5,6,7,8,9CONEQU$-XDA;变量XDA的长度。XSUMDW?MSEDB'Shi Yan',0DH,0AH,'$'.CODE.STARTUPMAINPROCFARLEASI,XDA;取变量XDA的偏移地址。MOVCX,CON;变量XDA的数据个数送CX寄存器。CALLSUMX;调用数据累加子程序。MOVXSUM,AX;累加结果送结果变量XSUM。MOVDX,OFFSET MSE;取字符串变量MSE的偏移地址。MOVAH,9;DOS中断21H的09H功能,在屏幕上显示字符串。INT21HEXIT:MOVAH,4CH;DOS中断21H的4CH功能,返回DOS操作系统。INT21HMAINENDPEND下面是子程序模块文件,在子程序模块里只有一个子程序,在文件的开始处有一条语句“PUBLIC SUMX”它表示符号地址SUMX是可以让其他模块文件中的程序使用的标识符。在子程序模块文件里没有“.STARTUP”语句,这是因为在一个程序里只能有一个执行程序的入口点,而程序的入口点一般都在主程序模块里面。PUBLICSUMX.MODELSMALL.CODESUMXPROCFARJCXZEXITA;如果寄存器CX=0,子程序返回。PUSHSIPUSHCXSUBAX,AXLOP0:ADDAL,[SI]ADCAH,0JCLOP1INCSILOOPLOP0LOP1:POPCXPOPSIEXITA:RETSUMXENDPEND实验步骤:(1)使用PWB开发环境提供的编辑功能将实验程序按模块分别送入计算机并存盘保存。(2)使用PWB的Project菜单中的New Project命令建立一个工程,在建立工程的对话框里输入工程名(工程名的默认后缀是.Mak)。用鼠标或回车键确认后进入另一个对话框,在这个对话框的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值