编辑: star薰衣草 | 2019-07-05 |
50 个字节的堆栈空间 加一.人手匀速击键时, 实际击键瞬间的时间间 隔不会精确相等, 而具 保留返回地址;
ds 初始化 有随机性. 编程, 利用系统提供的时 间计数的功能和人手击键 时间间隔的随机性, 使得 显示 Randow number generator by key , 每按一次键, 就产生一个 再输出回车、换行 50以内的随机整数, 并以 十进制数的形式显示, 后 随一个空格.若按 ESC 键, 则结束程序, 返回 任意按一个键 DOS. 是ESC 键?(ESC 键的 ascii 码是 27) N Y 建议使用下列指令: int 21h (ah=9)结束程序, 返回 DOS int 16h (ah=0) int 1ah (ah=0) int 21h (ah=6)读取时间计数器的当前值 div and or 将计数值的低位字屏闭高
6 位后除以51 以二位十进制数的形式显示余数, 后随一个空格 实验八 DOS、ROM BIOS 系统调用二 实验目的: 掌握图形功能的系统调用和图形程序的编程方法. 实验内容: 显示彩色等腰三角形, 定时改变三角形内的颜色, 改变16次(颜色 0~16) 结束.显示模式取 320*200 彩色图形模式, 背景色黄色(颜色号0eh), 彩色组取绿红黄组(0 号调色板).三角形中心设在屏幕中心.程序结束时, 恢复 80*25 文本显示模式. 程序流程: N 设内存变量 D1(存每行点数)D1=0 设100 个字的堆栈空间 Y D1 出栈;
设显示模式4(图形方式320*200)D1←D1+2(修改点数);
设背景色(0EH)黄色;
设0号调色板 CX 出栈;
(绿红黄组);
设图形色号 AL=1 DX←DX+1(起点行坐标);
CX←CX-1(起点列坐标) 设图形起点行坐标 DX=10;
CX=0? 设图形第一行点数 D1=1;
N 设图形起点列坐标 CX=160 Y N AL←AL+1;
AL=16? Y CX、D1 入栈 设文本显示模式 80*25 写点 (12 号调用) 修改写点列坐标 CX←CX-1;
结束程序, 返回 DOS 修改写点计数 D1←D1-1 建议使用下列指令: int 10h (ah=0) int 10h (ah=11) int 10h (ah=12) int 10h (ah=2) 注意: int 10h 调用将破坏 AX 的值.若需要保存 AX 的值,应在该指令前面将 AX 进栈, 在该指令的后面将 AX 出栈. 实验九 DOS、ROM BIOS 系统调用三 实验目的: 掌握彩色文本功能的系统调用和彩色文本程序的编程方法. 实验内容: 在彩色文本 40*25 显示模式下, 显示
127 个带有属性的彩色字符.属性从
0 开始,逐字加 1.每行显示
11 个字符,字符之间用空格隔开, 每个字符的显示适当延时.屏幕边缘设黄色(0eh). 程序流程: 设内存变量 D
1、D
2、D
3、D4 设显示模式
1 (彩色文本 40*25);
设黄色边缘;
写光标位置;
写字符;
延时 列坐标 D2 加二;
字符 ASCII 码(D3)加一;
Y D3>
结束程序, 返回 DOS N 字符属性 D4 加一 Y 列坐标 D2≤30 N 行坐标 D1 加一 建议使用下列指令: 设列起点坐标 D2=10 int 10h (ah=0) int 10h (ah=11) int 10h (ah=2) 延时程序段可采用:int 10h (ah=9) mov cx,0ffffh q:loop q 实验十
8253、8255编程实验(音乐程序) 实验目的: 了解 IBM PC/XT 机内发音电路原理及发音电路中各接口芯片的作用.掌握8253定时/记数器芯片和8255并行接口芯片的编程方法.掌握音乐程序的设计、编程方法. 实验内容: 编程, 使计算机扬声器演奏乐曲 《两只老虎》. 计算机发音的软、硬件基础: 计算机扬声器控制电路如下图 1.19318Mhz
8253 CLOCK信号 CLK2
8255 OUT2 扬PB0 GATE2 &
驱动 低通 声PB1 器 由上图可见, 计算机扬声器的发音由机内
8253 芯片(定时/计数器) 和8255 芯片 (并行接口) 共同控制.当8255 PB0 端(B 口0端)为1 时,8253 通道