汇编中用在图形模式下显示汉字
来源:互联网 发布:php mysql是什么 编辑:程序博客网 时间:2024/06/14 05:54
HZ MACRO X,Y,CHAR,COLOR
LOCAL DATASEGMENT,HZK,START,HZKHD,HZBUF,ASCTOQW,STRING
LOCAL CODESEGMENT,XPOINTER,YPOINTER,INIT,EXIT
LOCAL INIT1,INIT2,NEXT,NEXT1,NEXT2,INIT3
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH BP
PUSH DS
PUSH ES
JMP START
DATASEGMENT:
XPOINTER DW X
YPOINTER DW Y
HZK: DB 'HZK16',0
HZKHD: DW ?
HZBUF: DB 32 DUP (0)
STRING: DB CHAR,0,255
CODESEGMENT:
START:
MOV AX,CS
MOV DS,AX
MOV ES,AX
MOV AH,3DH ;
LEA DX,HZK ;OPEN HZK
MOV AL,0 ;
INT 21H ;
LEA SI,HZKHD ;SAVE FILE HZK16 HELDER
MOV [SI],AX ;
LEA SI,STRING
ASCTOQW:
MOV AL,[SI]
CMP AL,0
JZ INIT
SUB AL,161
MOV [SI],AL
INC SI
JMP ASCTOQW
INIT:
LEA SI,STRING
init1:
push si
MOV AL,[SI]
CMP AL,0
JNZ INIT2
LEA BX,EXIT
JMP BX
INIT2:
MOV AH,0
MOV BH,0
MOV BL,94
MUL BL
INC SI
MOV BL,[SI]
MOV BH,0
ADD AX,BX
MOV BX,32
MUL BX
MOV CX,DX
MOV DX,AX
LEA SI,HZKHD
MOV BX,[SI]
MOV AH,42H
MOV AL,0
INT 21H
LEA SI,HZKHD
MOV BX,[SI]
LEA DX,HZBUF
MOV CX,32
MOV AH,3FH
INT 21H
PUSH AX ;PSET ONE HANZI
PUSH BX ;
PUSH CX ;
PUSH DX ;
PUSH SI ;
PUSH DI ;
PUSH BP ;
LEA SI,XPOINTER ;
MOV CX,[SI] ;
LEA SI,YPOINTER ;
MOV DX,[SI] ;
MOV DI,CX ;
ADD DI,16 ;
MOV BP,DX ;
ADD BP,16 ;
MOV AH,0CH ;
MOV AL,COLOR ;
MOV BH,0 ;
LEA SI,HZBUF ;
NEXT2:
MOV BX,[SI] ;
XCHG BH,BL
NEXT1:
ROL BX,1 ;
PUSH BX ;
AND BX,1 ;
CMP BX,0 ;
JZ NEXT ;
INT 10H ;
NEXT:
INC CX ;
POP BX ;
CMP CX,DI ;
JB NEXT1 ;
SUB CX,16 ;
INC DX ;
INC SI ;
INC SI ;
CMP DX,BP ;
JB NEXT2 ;
LEA SI,XPOINTER ;
MOV AX,[SI] ;
ADD AX,16 ;
MOV [SI],AX ;
POP BP ;
POP DI ;
POP SI ;
POP DX ;
POP CX ;
POP BX ;
POP AX ;
POP SI
INC SI
INC SI
INIT3:
LEA BX,INIT1
JMP BX
EXIT:
pop si
LEA SI,HZKHD
MOV BX,[SI]
MOV AH,3EH
INT 21H
POP ES
POP DS
POP BP
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
ENDM
LOCAL DATASEGMENT,HZK,START,HZKHD,HZBUF,ASCTOQW,STRING
LOCAL CODESEGMENT,XPOINTER,YPOINTER,INIT,EXIT
LOCAL INIT1,INIT2,NEXT,NEXT1,NEXT2,INIT3
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH BP
PUSH DS
PUSH ES
JMP START
DATASEGMENT:
XPOINTER DW X
YPOINTER DW Y
HZK: DB 'HZK16',0
HZKHD: DW ?
HZBUF: DB 32 DUP (0)
STRING: DB CHAR,0,255
CODESEGMENT:
START:
MOV AX,CS
MOV DS,AX
MOV ES,AX
MOV AH,3DH ;
LEA DX,HZK ;OPEN HZK
MOV AL,0 ;
INT 21H ;
LEA SI,HZKHD ;SAVE FILE HZK16 HELDER
MOV [SI],AX ;
LEA SI,STRING
ASCTOQW:
MOV AL,[SI]
CMP AL,0
JZ INIT
SUB AL,161
MOV [SI],AL
INC SI
JMP ASCTOQW
INIT:
LEA SI,STRING
init1:
push si
MOV AL,[SI]
CMP AL,0
JNZ INIT2
LEA BX,EXIT
JMP BX
INIT2:
MOV AH,0
MOV BH,0
MOV BL,94
MUL BL
INC SI
MOV BL,[SI]
MOV BH,0
ADD AX,BX
MOV BX,32
MUL BX
MOV CX,DX
MOV DX,AX
LEA SI,HZKHD
MOV BX,[SI]
MOV AH,42H
MOV AL,0
INT 21H
LEA SI,HZKHD
MOV BX,[SI]
LEA DX,HZBUF
MOV CX,32
MOV AH,3FH
INT 21H
PUSH AX ;PSET ONE HANZI
PUSH BX ;
PUSH CX ;
PUSH DX ;
PUSH SI ;
PUSH DI ;
PUSH BP ;
LEA SI,XPOINTER ;
MOV CX,[SI] ;
LEA SI,YPOINTER ;
MOV DX,[SI] ;
MOV DI,CX ;
ADD DI,16 ;
MOV BP,DX ;
ADD BP,16 ;
MOV AH,0CH ;
MOV AL,COLOR ;
MOV BH,0 ;
LEA SI,HZBUF ;
NEXT2:
MOV BX,[SI] ;
XCHG BH,BL
NEXT1:
ROL BX,1 ;
PUSH BX ;
AND BX,1 ;
CMP BX,0 ;
JZ NEXT ;
INT 10H ;
NEXT:
INC CX ;
POP BX ;
CMP CX,DI ;
JB NEXT1 ;
SUB CX,16 ;
INC DX ;
INC SI ;
INC SI ;
CMP DX,BP ;
JB NEXT2 ;
LEA SI,XPOINTER ;
MOV AX,[SI] ;
ADD AX,16 ;
MOV [SI],AX ;
POP BP ;
POP DI ;
POP SI ;
POP DX ;
POP CX ;
POP BX ;
POP AX ;
POP SI
INC SI
INC SI
INIT3:
LEA BX,INIT1
JMP BX
EXIT:
pop si
LEA SI,HZKHD
MOV BX,[SI]
MOV AH,3EH
INT 21H
POP ES
POP DS
POP BP
POP DI
POP SI
POP DX
POP CX
POP BX
POP AX
ENDM
- 汇编中用在图形模式下显示汉字
- 【原创】演示文本方式下显示汉字的汇编源程序
- 80x86 汇编代码,在屏幕上显示汉字
- 文本模式下汉字不能显示问题
- 图形模式下“文章伪原创工具”出汉字来
- 汇编debug 实模式下 显示字符
- 图形模式下字符的显示
- 关于汇编的图形显示
- 显示系统时间(汇编) 图形化显示
- ubuntu环境字符模式下汉字正常显示
- 在dos下汉字与英文显示小结
- 用C语言在dos 下显示汉字
- 在dos下汉字与英文显示小结
- 在runleve3的tty下显示汉字 centos6
- 在 tiny210 下显示 字母 ,汉字,方框, 宋体,图片。
- sqlite3在VS下显示汉字乱码问题解决
- nokia5110液晶屏显示汉字,图形,…
- 虚拟机下在图形模式和命令行模式之间切换
- SVN一点通
- 第一流的人做第一流的事
- 加油、加油、加油!(自己加油专贴)
- 外文翻译。。
- IE内核 PHP管理后台密码登陆问题
- 汇编中用在图形模式下显示汉字
- 第二人称源码分析(2)基本功能
- 计算机的梦工厂-学习操作系统
- CS界面设计规范
- 10-2 使用已有的模型类(Using Predefined Models)
- linux文件搜索
- 开篇
- 如何实现自动ftp上传功能:expect
- SVN在eclipse下的使用