1、汇编语言课程设计汇编语言课程设计 一、 设计题目 用汇编语言进行音乐动画功能的实现 二、 设计主要功能 建立一个菜单,菜单上有个功能,根据选择的菜单项执行相应的功能, 功能包括: (1)编写一个乐曲程序; (2)编写指令以文本方式在品红底上显示 5 个蓝色的笑脸符号; (3)编写程序,使一只“鸟”飞过屏幕; (4)在模拟游戏程序中用随机数来控制其图形在屏幕移动; (5)编写驱动打印机打印字符的程序 (6)写一个 2 台计算机互相通信的程序, 要求只编写近距离通信, 传输速率和 4800 波特, 字长 8 位,终止位 1 位,无奇偶校验,在 A 机上发送信息“How are you?”,在 B
2、机 上回答“very good!” ; (7)编写建立、写入、读出磁盘文件的程序; 三、系统分析与系统分析与设计设计 编写主程序,在主程序中用数字标出各个子功能,当用户从键盘输入某个数 字时,就去执行相应的功能。 1. 乐曲是按照一定的高低、长短和强弱关系组成的音调,在一首乐曲中,每个 音符的高低和音长,与频率和节拍有关。要实现乐曲的演奏,可通过调用发声程 序来达到输出音乐的效果。 在程序中,可以设定两个变量分别用来存储音符的频率值和持续的时间。音 符的频率可以通过查阅有关资料获得, 音符的持续时间根据乐曲的速度及每个音 符的节拍数来确定。得到了音频和时间的关系,就可以按照乐曲的曲谱。 将每个
3、音和持续时间定义成两个数据表, 然后编写程序依次取出表中的频率 和时间值,调用程序发出声音。 (1) 通过对计数器 2 设定不同的值来得到不同频率; (2) 通过监控端口 61H 的 PB4,使 PB4 每隔 15.08 S 触发一次,产生一个固定 的时间基准也可以通过程序来延迟声音的时间。 2. 文本的显示是通过调用 BIOS 10H 的子功能 09H 来显示字符, 其中 BL 中的值 为前景和背景彩色属性值。程序的实现可分为如下三步: (1) 彩色文本方式的属性字节的设置; (2) 调用 BIOS 下的中断类型 10H; (3) 使用 CX 来控制显示符号的个数。 3. 用小写字母 v 变
4、为破折号来模仿飞鸟的动作。调用 BIOS 的字符显示功能 10H,使这两个字符先后在两列显示,每个字符显示固定的时间后消失。形成鸟 飞翔的效果。 4. 模拟游戏程序中用随机数来控制其图形在屏幕上移动。 (1) 该功能实现的关键是如何得到一个随机数,随机数的生成是通过调用 1AH 中断来访问系统时间,用这样的办法来实现随机数种子。 (2) 然后通过一些运算,如将行、列值分别加上一个数字,来实现图形的移动。 (3) 另外,程序的图形采用多字符组合实现。 首先在屏幕上显示出来, 延迟一个时间周期, 让图形更清晰。 然后清除图形, 调用随机数种子,计算出下一步图形的位置,让图形在相应的位置显示。循环执
5、 行上一步过程,直到移出屏幕位置为止。 5用户从键盘输入一个文件,在屏幕上回显出来。每输入一行 180 个字符,用 户检查一遍, 如果用户认为无须修改, 则键入回车, 此时这行字符就存入 BUFFER 缓冲区保存,同时打印机把这行字符打印出来并换行。 6计算机之间进行远程通信时,可以用调制解调器(MODEM),借助于电话电 缆线进行,这需要计算机串行地发送或接收数据与信息。由于串行数据通信使用 的传输线条数少,微型机中已经装有异步接收发送器 8250 及一些通信接口,因 此两台微型计算机之间在进行近距离通信时,可以不用调制解调器,通过电缆线 直接进行串行通信。 (1) 使用串行通讯口 BIOS
6、 功能(INT 14H)实现通信; PC 上的串行接口是标准的 RS-232 接口,串行通讯口 BIOS 功能 INT 14H 的 AH=0 子功能,把指定的串行通讯口初始化,即可进行通信。 (2)使用 8250 中断方式进行通信。 IBM PC 机内装有通信适配器板,它使 PC 机有能力与其它具有标准 RS-232C 串行通信接口的计算机进行通信。PC 机中异步接收发送器组件 8250 芯片 UART 可以完成大多数串行协议中的要求, 通过此芯片实现异步通信。在 通信之前,根据协议规定的波特率、数据、停止位等,对 8250 进行初始化。 初始化之后,就可以进行发送和接收数据了。 7文件是常用的数据存储形式,也是磁盘存储的基本内容。用汇编语言可以 有效地管理和控制磁盘资源,建立自己特有的文件并体会 DOS 的功能。用汇 编语言实现 DOS 的 TYPE 和 COPY 功能。具体要求是: (1) 读入一个文本文件,将大写的字母转换为小写字母并将结果显示在屏幕 上。 对于读文件,应首先打开文件,顺序读取文件内容并显示,同时将其中的大 写字母转换为小写字母,最后关