标题:[原创]通用的图形字模和汉字字模汇编程序
取消只看楼主
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
 问题点数:0 回复次数:2 
[原创]通用的图形字模和汉字字模汇编程序

课程设计时做的,拿上来show给神飘飘看看,嘿嘿。用图形方式显示字模

aUUDu87x.rar (11.31 KB) [原创]通用的图形字模和汉字字模汇编程序


搜索更多相关主题的帖子: 汇编程序 字模 图形 汉字 
2007-01-10 22:36
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
得分:0 

占位,公布源程序

DATA SEGMENT
;定义0-N个字模
MAP1 DB 001H,080H,0E7H,081H,0C1H,06H,00H,0CH,082H,021H
DB 0CDH,02EH

;由于程序支持画N个字模,下面的定义变量在画图之前才被赋值
WID DW ? ;图的宽度(像素)
HEI DW ? ;图的高度
TMP1 DW ? ;行中像素游标(横向)
TMP2 DW ? ;行数游标(纵向)
CNT DB 0 ;比特游标,从0-7
XORG DW ? ;控制图像的初始X
YORG DW ? ;控制图像的初始Y

DATA ENDS

CODE SEGMENT
ASSUME DS:DATA,CS:CODE
MAIN:
MOV AX,DATA
MOV DS,AX


;*****进入图形模式****
MOV AH,0
MOV AL,12H ;640*480
INT 10H ;调用中断使设置生效

;*****画图****
;初始坐标,载入字模的位置

LEA SI,MAP1
MOV XORG,0
MOV YORG,0
MOV WID,640
MOV HEI,480
CALL DRAW

;*****按键退出*****
MOV AH,0
INT 16H

MOV AX,0003H ;还原文字模式
INT 10H ;调用中断使设置生效
MOV AH,4CH
INT 21H

DRAW PROC NEAR
MOV CX,XORG
MOV DX,YORG
PUSH BX
MOV BX,WID
MOV TMP1,BX
MOV BX,HEI
MOV TMP2,BX
MOV CNT,0
POP BX

LODSB ;读出字模的一个字节到AL
NEXT2:
SHL AL,1 ;逐个BIT读出
JNC NEXT1

;调用中断画点
PUSH AX
MOV AH,0CH
MOV AL,15 ;确定画图颜色,0-15
INT 10H
POP AX

NEXT1:
INC CNT ;一个字节所有BIT读完以后载入下一个字节
CMP CNT,8
JNZ NEXT3
LODSB
MOV CNT,0
NEXT3:
INC CX
DEC TMP1
JNZ NEXT2 ;TMP!=0则上去继续,TMP1=0则换行
PUSH BX
MOV BX,WID ;TMP1至零
MOV TMP1,BX
POP BX
MOV CX,XORG
INC DX
DEC TMP2
JNZ NEXT2 ;所有行读完结束,没读完上去继续
RET
DRAW ENDP
CODE ENDS
END MAIN

最后感叹一句,好好的非常具有艺术性的代码贴上来就变成垃圾了,格式惨不忍睹!

[此贴子已经被作者于2007-1-11 16:28:24编辑过]


相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2007-01-10 22:37
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
得分:0 
自己随便顶下

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2007-01-11 16:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-115348-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.708443 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved