注册 登录
编程论坛 汇编论坛

[原创]通用的图形字模和汉字字模汇编程序

tempnetbar 发布于 2007-01-10 22:36, 9191 次点击

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

只有本站会员才能查看附件,请 登录

20 回复
#2
tempnetbar2007-01-10 22:37

占位,公布源程序

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编辑过]

#3
菜鸟上路2007-01-10 22:40
是自己用汇编弄的啊?!
#4
神vLinux飘飘2007-01-10 23:11
恩恩,可可写得不错~~~~鼓励一下
#5
tempnetbar2007-01-11 16:29
自己随便顶下
#6
餹餜2007-02-02 02:00
这个东西蛮有意思的……
#7
卧龙孔明2007-02-03 19:38
支持一下
#8
357432607xue2007-02-18 18:18

牛,真的是太牛了!老大,小弟佩服的无地头地!

#9
zboy2007-07-03 07:09
哈哈谢谢了
#10
herbert_19872007-07-03 08:28
支持一下!
可惜我那里运行不了...
#11
snrlgyqve2007-07-03 17:36
好呀,顶了
#12
zhulei19782007-07-08 19:17
顶,源码呢
#13
totohack2007-07-15 20:59
谢谢
#14
vxue2007-07-18 15:46
多谢!
#15
coolerhero2007-07-30 10:51
回复:(tempnetbar)[原创]通用的图形字模和汉字字模...
不错!鼓励!
#16
anlogo2007-08-01 09:07
#17
TE202007-08-03 13:02
不错,今天下午有活干了,就研究这代码了
#18
xiaojiam2007-09-12 20:45
#19
fw_natural2008-06-18 17:23
顶顶
#20
2008-06-21 23:30
貌似源代码编译运行后不是给的那个例子的图像耶...
#21
zdoublehang2011-06-05 23:41
有谁能用个例子给我讲讲这个程序呀??
1