assume cs:code,ds:data,ss:stack
stack segment
db 128 dup(0)
stack ends
data segment
shiwu db 1 dup(0,0,0)
jiatou db 1 dup(0,0,0)
she db 400 dup(0,0,0bbh)
changdu dw 0
huan12S db 02h,00h,0FAh,00h,13h,0E0h,94h,20h,55h,40h,21h,00h,21h,00h,52h,80h,4Ah,80h,84h,40h,18h,20h,00h,00h
ying12S db 42h,00h,2Dh,0E0h,09h,20h,0C9h,20h,49h,20h,49h,20h,4Fh,20h,49h,60h,41h,00h,0B0h,00h,8Fh,0E0h,00h,00h
shi12S db 11h,00h,2Fh,0E0h,21h,00h,6Fh,0E0h,0A9h,20h,29h,20h,2Fh,0E0h,25h,00h,22h,00h,25h,00h,38h,0E0h,00h,00h
yong12S db 7Fh,0C0h,44h,40h,44h,40h,7Fh,0C0h,44h,40h,44h,40h,7Fh,0C0h,44h,40h,44h,40h,84h,40h,85h,0C0h,00h,00h
hui12S db 40h,00h,2Fh,0E0h,08h,00h,0A8h,00h,68h,00h,28h,00h,48h,00h,48h,00h,0C8h,00h,48h,00h,4Fh,0E0h,00h,00h
bian12S db 21h,00h,2Fh,0E0h,48h,20h,9Fh,0E0h,0E8h,00h,4Fh,0E0h,0BAh,0A0h,0CFh,0E0h,2Ah,0A0h,0DAh,0A0h,28h,60h,00h,00h
tan12S db 04h,00h,0Ah,00h,35h,80h,0DFh,60h,01h,00h,3Fh,80h,20h,80h,24h,80h,24h,80h,0Bh,00h,0F0h,0C0h,00h,00h
chi12S db 02h,00h,0F2h,00h,97h,0E0h,98h,00h,97h,80h,90h,80h,91h,00h,0F2h,00h,04h,20h,04h,20h,07h,0E0h,00h,00h
she12S db 21h,00h,20h,80h,27h,0E0h,0FCh,20h,0AAh,00h,0AAh,40h,0FAh,80h,23h,00h,2Ah,20h,3Ah,20h,0CBh,0E0h,00h,00h
data ends
code segment
dazi: push ax
push bx
push dx
push cx
push si
push di
mov si,dx
mov di,cx
mov cx,12
s1: push cx
mov cx,2
s2: push cx
mov cx,8
mov al,80h ;比较最高为 第一位
s3: mov ah,[bx]
and ah,al
cmp ah,al ;比较相同画点 不同跳出本次循环
jnz loop1
push ax
push cx
mov al,0bbh
mov ah,0ch
mov dx,si
mov cx,di
int 10h
pop cx
pop ax
loop1: inc di ;下一个点位置
shr al,1 ;al 右移以为 比较下一位
loop s3
inc bx ;取下一字节字模地址
pop cx
loop s2
pop cx
inc si
loop s1
pop di
pop si
pop cx
pop dx
pop bx
pop ax
ret
start: mov ax,stack
mov ss,ax
mov sp,80h
mov ax,data
mov ds,ax
mov ax,13h ;初始化AL=13 320×200 256色图形 (EGA)
int 10h
mov dx,100 ;起点行
mov di,24 ;起点列
mov bx,offset huan12S ;取字模地址
mov cx,9 ;循环9次
zz: push cx
mov cx,di
call dazi ;调用打字
add di,32 ;下一个字位置起点
add bx,24 ;取下一个字字模地址
pop cx
loop zz
mov ah,1h ;等待键盘输入 结束程序
int 21h
mov ax,4c00h
int 21h
code ends
end start
等待大家 给点帮助