汉字点阵字库显示程序
文本模式下显示16x16点阵汉字库内容的程序(标准16x16字库需要使用CHGHZK转换过后才能使用本程序正常显示)
本程序需要调用file.asm和string.asm中的子程序,所以连接时需要把它们连接进来,如下
C:\> tlink showhzk + file + string
调用参数描述如下
|---------------------------------------------------------------------|
| C:\> showhzk DST16.FNT ; 以库文件名做参数, 这里的库文件是标准16x16点阵字库经CHGHZK转换生成的 |
显示效果图

; more source code at http://www.ahjoe.com/source/srcdown.asp
; SHOWHZK HZK16.DAT
;
extrn fopen:far, fread:far, fclose:far, outstr:far
extrn replace:far
code segment
assume cs:code, ds:code
fileno dw 0
count db 87
string db 188 dup (0)
dw 0
begin:
mov ax, 3
INT 10H
mov di, 80h
cmp byte ptr [di], 2
js error
mov dx, 82h
mov al, 0dh
mov bx, 0
call replace
mov al, 0
call fopen
jc error
mov bx, cs
mov ds, bx
mov es, bx
mov fileno, ax
mov di, offset string
mov al, 40h
mov cx, 188
cld
repsto:
stosb
inc al
loop repsto
reprep:
mov cx, 94*32
mov ax, fileno
mov dx, offset buffer
call fread
jc error
cmp ax, 0
jz overit
mov bp, dx
mov ax, 1100h
mov bx, 1000h
mov cx, 188
mov dx, 40h
int 10h
mov dx, offset string
mov bx, 107h
mov cx, 001h
call outstr
mov ah, 0
int 16h
dec count
jnz reprep
overit:
mov ax, fileno
call fclose
error:
mov ax, 3
int 10h
mov ah, 4ch
int 21h
buffer dw 2048 dup (0)
code ends
end begin