asm汇编源代码之-汉字点阵字库显示程序源代码下载

发布于:2025-04-15 ⋅ 阅读:(23) ⋅ 点赞:(0)

汉字点阵字库显示程序

源代码下载

文本模式下显示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

网站公告

今日签到

点亮在社区的每一天
去签到