第10章 汇编语言程序设计实例
1.教学目的:掌握汇编程序编程方法
2.教学要求:
①掌握视频显示系统程序设计
②掌握音频发声系统程序设计
③掌握数据通讯系统程序设计
3.教学重点:
①掌握各类程序
②理解汇编语言的编程思想
4.掌握难点:
设计原理
5.教学进程安排:P286~307
6.教学方法:
课堂讲授
7.教学内容摘要:
10.1 视频显示系统程序设计
10.1.1 显示方式
1,显示适配器
2,显示器
⑴数字(TTL)显示器。
⑵模拟显示器
⑶显示器分辨率
①屏幕上扫描图像的速度;
②屏幕上的像素数。
3,显示方式
10.1.2 DOS功能调用显示技术
【例10-1】在微型计算机系统上常常可以显示实时时钟,这就要求能输出数码00~59。要输出多于一个字符时,要利用DOS功能调用9,它是向CRT输出字符串的子程序,要求在调用前使DX指向字符串的首地址,字符串必须以字符“$”结束,则功能调用9能把字符“$”之前的全部字符向CRT输出。
10.1.3 BIOS功能调用显示技术
1,PC系列机彩色图形模式
(1)文本(字符)模式(AN);
(2)图形模式(APA)。
【例10-2】选择显示方式。程序流程图如图10.2所示。程序的清单为:
2,在文本方式下,屏幕上可以显示字母、数字以及一些字符图形
10.1.4 彩色图形显示
1,彩色绘图
⑴用 INT 10H的0号功能将显示方式设置成 320×200彩色图形方式;
⑵用INT 10H的11号功能设置彩色图形方式下的调色板或背景颜色:
⑶在上述工作的基础上,利用 INT 10H的12功能或13号功能在屏幕上写彩色像素点或读彩色像素点。
2,彩色绘图举例
【例10-4】在屏幕上显示电子钟
10.2 音频发声系统程序设计
10.2.1 PC机的发声原理

图10.5 扬声器控制驱动电路
10.2.2 发音程序发音程序的编制需要进行以下四方面工作。
1,确定发声频率
2,确定音长
3,定时器调节
4,操作扬声器开关
10.2.3 乐曲演奏程序在乐曲中,每个音符的音高和音长与频率节拍有关。
表10-3 音阶频率对照表音名
C D E F G A B
C’ D’ E’ F’ G’ A’ B’
C” D” E” F” G” A” B”
简谱
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
频率
131 147 165 175 196 220 247
262 294 330 349 392 440 494
524 588 660 698 784 880 984
(1)频率数据
(2)节拍时间数据
【例10-5】图10.6是《两只老虎》的简谱。根据乐谱在数据段中定义了频率数据表(FREQ)和节拍时间数据表(TIME),程序以-1作为频率数据表的结束标志。
1=C 4/4
1 2 3 1 | 1 2 3 1 | 3 4 5一 | 3 4 5- |
5 6 5 4 3 1 | 5 6 5 4 3 1 | 2 5 1一 | 2 5 1 -|
图10.6,两只老虎》简谱
10.3 数据通讯系统程序设计
10.3.1 并行通信口I/O
【例10-6】应用BIOS和DOS功能调用,编写一个简单的打字程序。它要求把从键盘上接收的字符显示在屏幕上,并由打印机输出,在键盘上按下ESC键,即退出程序。
10.3.2 串行通信口I/O
1,利用BIOS INT 14H,通过COM端口与另一台PC机通讯。
其过程如下:
(1)用INT 14N,AH=1,AL=字符,发送一个字符。
(2)为了接收字符,用INT 14H,AH=3来获得COM端口的状态,其值返回在AH寄存器中,注意,MODEM的状态值是返回在AL寄存器中的。
(3)检验COM端口状态值的第0位,它是数据准备好位,如果该位为1,说明COM端口已接收到字符并送到了8250UART。
(4)为了读取接收到的字符,使用INT 14H AH=2功能,将字符读到AL寄存器。
2,双机双向通讯
【例10-7】两台PC机通过COM2端口进行串行数据通信,编写一个汇编语言程序,要求从一台PC机上键盘输入的字符能传送到另一台PC机,若按下ESC键,则退出程序。在程序中,COM2端口初始化为4800波特,8位数据位,无校验,1位终止位;按照上述通信要求编程时,需要以下几个步骤:
(1)检测按键.如果按下一键,则获取字符码并将它写到要传输的COM端口,同时也要检测是否按动退出键ESC。
(2)如无任何健按下,检测COM端口的状态,如果已接收到一个字符,则读取并显示在屏幕上。
(3)转向第(1)步
8.参考资料:《IBM-PC汇编语言程序设计》沈美明
9.作业:P306 习题10
10.本章小结:
①本部分为汇编语言编程的综合应用。
②对于本部分的学习要做到举一反三。