《微机原理与接口技术实验》 - 13 -
实验四:8086汇编语言程序设计(三)
1. 实验类别
设计型实验:编程实现代码转换。
2. 实验目的
掌握子程序结构的程序设计方法和DOS功能调用;掌握代码转换的基本原理;掌握从键盘接收数据及输出数据到屏幕的方法。
3. 实验条件
硬件条件:PC机一台。
软件条件:DOS操作系统;任意一种编辑程序,如EDIT;宏汇编程序MASM;连接程序LINK;调试程序DEBUG。
4. 实验原理
代码转换是计算机和外设打交道的重要技术。外部设备通常用ASCII码或BCD码输入计算机,而计算机都将其转换为二进制数,运算完之后计算机又必须将其转换为ASCII码或BCD码送到输出设备(如显示器)。
13
需要先将十六进制转换成二进制数,再将二进制数转换成十进制数,可用两个子程序HEX2BIN和BIN2DEC来实现。此外,从键盘输入十六进制数可用子程序GETNUM来实现,参考框图如下:
保存寄存器
DX清0
读取键入字符的ASCII码送AL
Y 是回车或空格键?
N
Y AL值小于30H吗? N
是数字\?
Y N
是字母\?
Y N
N 是字母\?
Y 将本次键入的数字加进DX中
显示\信息
回车换行
恢复寄存器
返回
14
《微机原理与接口技术实验》 - 15 -
字符输入使用01号DOS功能调用,字符输出使用02号DOS功能调用。
可参考教材第四章中的例4.16。
5. 实验内容及步骤
编一程序,把键入的十六进制数转换成十进制数并在屏幕上显示出来。键入的最大数为FFFFH,若键入的不是十六进数字,则显示出错提示。
6. 实验报告
(1)画出程序流程图。
(2)提交调试好的汇编语言源程序(.asm)。 (3)总结实验中遇到的问题及解决的方法。
15
实验五:中断实验
1. 实验类别
设计型实验:编程实现时钟的显示。
2. 实验目的
掌握计数器/定时器8253的工作原理和编程方法;掌握中断控制器8259的工作原理;掌握中断处理程序的编写。
3. 实验条件
硬件条件:PC机一台。
软件条件:DOS操作系统;任意一种编辑程序,如EDIT;宏汇编程序MASM;连接程序LINK;调试程序DEBUG。
4. 实验原理
8259A是一种功能强、使用灵活方便的可编程中断控制器,内部有初始化命令寄存器(ICWl~ICW4)和操作命令字寄存器(OCW3~OCW3)。对8259A进行初始化时需要先写入ICW字,再写入OCW字,以对8259A进行相应的配置。ICW寄存器一般只一次写入,而OCW寄存器可在操作中随时存取。
16