提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
华 北 水 利 水 电 学 院
课 程 设 计 说 明 书
环 节 名 称:微机原理与接口技术
系 别 专 业:电力学院 自动化专业
学
姓
号: 200808109
名:
pickerup
指 导 教 师:
王
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
屏幕显示图形的程序设计要求
一、要求
1)利用 80x86 汇编语言 BIOS 中断调用的方法,通过‘*’等字符
设计自己的名字及学号,并在显示器上用 6 种以上的颜色显示出来;
2)动态切换姓名与学号;
3)可自行设计显示姓名及学号的方案。
二、分析
1)BIOS 中断调用:
BIOS 常驻 ROM,独立于 DOS,可与任何操作系统一起工作。
它的主要功能是驱动系统所配置的外部设备,如磁盘驱动器、显示器、
打印机及异步通讯接口等。通过 INT 10H~INT 1AH 向用户提供服务
程序的入口,使用户无需对硬件有深入了解,就可完成对 I/O 设备的
控制与操作。BIOS 的中断调用与 DOS 功能调用类似。
2)图形设计:
掌握 BIOS 中断调用 INT 10H 的 13H 号功能。注意 13H 号功能
入口参数的要求。
3)颜色显示:
在彩色显示屏幕上每个字符在存储中用两个字节表示。一个字节
保存字符的 ASCII 码,另一个字节保存字符的属性。BIOS 中断调用
INT 10H 的 13H 号功能是显示字符串,字符的属性在 BL 中。属性设
置方法见教材第四章 164 页。
三、软件设计
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
1)设计详细的程序流程图;
2)根据流程图,编写源程序;
3)上机调试源程序。
程序流程图
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
程序执行图:
图 1.菜单提示界面
图 2.输入一般字符时(非 Esc、非 Y)的显示画面
图 3.输入 Y 后,显示的画面
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
ROW=8
COLUM=00
ESCKEY=1BH
DSEG SEGMENT
MENU DB 0DH,0AH,'---------------COMTENT------------------------',0DH,0AH
0DH,0AH,'1.SHOW THE[2008],PRESS "Y".'
0DH,0AH,'2.SHOW THE[NUMBER],PRESS ANY KEY!'
0DH,0AH,'3.TO EXIT,PRESS THE [ESC].'
$-MENU
DB
DB
DB
N =
MESS1
'+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+',0DH,0AH
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
'||D||
'||L||
'||X||
'||Y||
'||Z||
'||D||
'||H||
'||Z||
'||Y||
11111111
1111
1111
1111
1111
1111
1111
1111
1111
1111
1111
111111111111
1111111111
1111
1111
1111
111111
1111 11111111
1111 11 1111
11111111 1111
1111
111111
1111
1111
1111111111
1111111111
1111
1111
1111
111111
1111 11111111
1111 11 1111
11111111 1111
111111
1111
1111
1111
1111111111
11111111
1111
1111
1111
1111
111111 1111
11111111
1111 111111
1111
1111
1111
1111
11111111
||D||',0DH,0AH
||L||',0DH,0AH
||X||',0DH,0AH
||Y||',0DH,0AH
||Z||',0DH,0AH
||D||',0DH,0AH
||H||',0DH,0AH
||Z||',0DH,0AH
||Y||',0DH,0AH
'+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+',0DH,0AH
MESS_LEN1 =
$-OFFSET MESS1
DB
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
MESS2
'+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+',0DH,0AH
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
DB
'|
'|
'| NN
'| NN
'| NN
'| NN
'| NN
'| NN
'| NN
'| NN
'|
'|
NNNNNN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NNNNNN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NNNNNNNN
NN
NN
NN
NN
NNNNNNNN
NN
NN
NN
NN
NN
NNNNNNNN
NN
NNNNNN
NN
NN
NN
NN
NNNNNN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NN
NNNNNN
NNNNNNNN
|',0DH,0AH
NN
NN |',0DH,0AH
NN
NN
NN
NN |',0DH,0AH
NN |',0DH,0AH
NN |',0DH,0AH
NN
NN |',0DH,0AH
NNNNNNNNNN |',0DH,0AH
NN |',0DH,0AH
NN |',0DH,0AH
NN |',0DH,0AH
NN |',0DH,0AH
NN
NN
NNNNNNNN
|',0DH,0AH
'+OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO+',0DH,0AH
DB
MESS_LEN2 =
COLORB DB
COLORE LABEL
$-OFFSET MESS2
4AH,3AH,14H,52H,4FH,74H,2EH,59H,6FH,6DH,20H
BYTE
DSEG ENDS
CSEG SEGMENT
ASSUME
START: MOV
CS:CSEG,DS:DSEG,ES:DSEG
DI,OFFSET COLORB-1 ;预置颜色指向
MOV
AX,DSEG
MOV
MOV
DS,AX
ES,AX
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
;显示提示菜单
LEA BP,MENU
MOV AH,13H
MOV AL,01
MOV CX,N
MOV BL,0BH
MOV BH,0
MOV DX,0
INT
10H
NEXTC:
INC
CMP
JNZ
MOV
NEXTE: MOV
MOV
MOV
C1
MOV AH,0
INT
16H
CMP AL,'Y'
JZ
CMP AL,1BH
JZ
OVER1
JMP C2
C1: CALL
;改变颜色
DI
DI,OFFSET COLORE
NEXTE
DI,OFFSET COLORB
BL,[DI]
DH,ROW
DL,COLUM
;选择要显示的字符
;退出
ECHO1
提示:先评价再下载。
有问题发邮件 pickerup@163.com,有时间会回复,源程序记事本看的话,效果会比较好。
JMP
OVER1: MOV
NEXTC
AX,4C00H
INT
21H
C2: CALL ECHO2
JMP
MOV
INT
NEXTC
AX,4C00H
21H
ECHO1 PROC
MOV
MOV
PUSH
PUSH
PUSH
POP
MOV
MOV
MOV
;子程序 1,显示 MESS1
NEAR
SI,OFFSET MESS1
CX,MESS_LEN1
ES
BP
DS
ES
BP,SI
BH,0
AL,0
CALL CLRS
MOV
INT
POP
POP
CALL
RET
AH,13H
10H
BP
ES
DELAY