汉字点阵字库显示程序
文本模式下显示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