8086总汇编语言实现1616点阵输出6中字体变换Word格式.docx
- 文档编号:18121380
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:15
- 大小:55.95KB
8086总汇编语言实现1616点阵输出6中字体变换Word格式.docx
《8086总汇编语言实现1616点阵输出6中字体变换Word格式.docx》由会员分享,可在线阅读,更多相关《8086总汇编语言实现1616点阵输出6中字体变换Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
DATA,SS:
STACKed
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACKed
MOVSS,AX
MOVSP,TOP;
程序段地址的传输
---------------------------常规变换----------------------------------
MOVBX,OFFSETTABLE;
BX可以用来向此子程序传输显示值地址
MOVSI,04FFH;
字体切换时间
CALLDISPLAY
ADDBX,20H;
BX可以用来向此子程序传输显示值地
;
---------------------------输出阴文----------------------------------
CALLDISPLAY2
----------------------------向上滑行----------------------------------
MOVCX,0000H
MOVDX,0000H
C2_DELAY:
INCDX
MOVSI,008FH
CMPDX,0009H;
调节控制第123个字的环
JNAC2_DELAY
SUBBX,02H
AGAIN:
ADDBX,02H
MOVSI,008FH;
调整控制上升速度
ADDCL,01H
CMPCL,10H
JNAC2
INCCH
MOVCL,00H
C_DELAY:
延时循环
JNAC_DELAY
C2:
CMPCH,02H
JNAAGAIN
--------------------------左右两边滑行消失-------------------------------
MOVSI,0CF10H;
CALLDISPLAY1
ADDBX,20H
CALLDISPLAY1
---------------------------逐行刷新----------------------------------
MOVBX,OFFSETTABLE
MOVDI,OFFSETTEMP
C3_LOOP:
MOVAL,[BX]
MOV[DI],AL
MOVAL,[DI]
INCBX
INCDI
INCCL
PUSHBX
MOVBX,OFFSETTEMP;
字体切换速度
POPBX
CMPCL,0FH
JNAC3_JUDGE
C3_DELAY:
INCDX
MOVSI,00FFH;
字体暂留时间
CMPDX,0005H;
字体停留时间
JNAC3_DELAY
C3_JUDGE:
CMPCH,3FH
JNAC3_LOOP
---------------------------分块刷新----------------------------------
MOVBX,OFFSETTABLE
CLEAR:
MOVAL,00H
CMPCL,20H
JNACLEAR
MOVCL,00H
C4_LOOP:
C4_MOV:
ADDDI,02H
JNAC4_MOV
SUBBX,21H
SUBDI,21H
C4_MOV2:
CMPCL,10H
JNAC4_MOV2
MOVSI,003FFH;
SUBBX,03H
CMPCH,03H
JNAC4_LOOP
------------------------程序停止---------------------------
MOVAH,4CH
INT21H
-------------------------------------------------DISPLAY-----------------------------------------------
程序作用:
对一个32个Bite的数据在16*16数码版上做输出
入口参数:
BX中存入32Bite的数据段的首地址
SI中存入让此32Bite数据显示的时间长短
无输出参数
子程序自动进展现场保护
------------------------------------------------------------------------------------------------------------
DISPLAYPROCNEAR
PUSHAX
PUSHCX
PUSHDX
PUSHBP
PUSHSI
MOVAH,00H
MOVCX,8000H
MOVBP,02B3H
CLC
P1_LOOP:
MOVDX,02B0H;
行
PUSHBX;
第一次压入保护2B0H中BX
第二次压入保护2B1H中BX
MOVAL,CL
ADDBX,AX
OUTDX,AL
MOVDX,02B1H;
POPBX;
取出2B1H中BX
INCAL
取出2B0H中BX
MOVDX,BP;
列
MOVAL,CH
CMPBP,02B3H
JNZP1_SHOW
MOVDX,02B2H
JMPP1_JMP
P1_SHOW:
MOVDX,02B3H
P1_JMP:
ADDCL,02H
RCRCH,1
CMPCH,00H
JAP1_JUDGE1;
大于时不做修改,直接跳转
CMPBP,02B3H
JZP1_CHANG;
等于时,改变片选
MOVCH,80H
JMPP1_JUDGE1
P1_CHANG:
MOVBP,02B2H
P1_JUDGE1:
CMPCL,1FH
JNAP1_JUDGE2;
不大于时直接跳过
P1_JUDGE2:
MOVDX,0000H
DELAY:
CMPDX,06500H;
JNADELAY
DECSI
CMPSI,0000H
JNAP1_OUT;
不大于,这里是等于零,表示每一行都输出过
JMPP1_LOOP
P1_OUT:
POPSI
POPBP
POPDX
POPCX
POPAX
RET
DISPLAYENDP
-----------------------------------------------DISPLAY1----------------------------------------------------------
对一个32个Bite的数据在16*16数码版上做输出,输出最后会实现文字从左右
滑行消失
----------------------------------------------------------------------------------------------------------------------
DISPLAY1PROCNEAR
PUSHBX
MOVP2_COUNT,00H
MOVP2_COUNT1,00H
MOVAL,P2_COUNT
SHRAL,CL
SHLAL,CL
MOVAL,CH
OUTDX,AL
P1_JMP:
ADDP2_COUNT,02H
JZP1_CHANG
CMPP2_COUNT,1FH
INCP2_COUNT1
CMPP2_COUNT1,030H;
调整可以控制暂留时间
JNAP1_JUDGE2
CMPCL,0DH;
左移位数,可调节消失时间
JAP1_OUT
延时循环+向左滑的速度
JNAP1_OUT
JMPP1_LOOP
POPDX
DISPLAY1ENDP
---------------------------------------------DISPLAY2----------------------------------------------
对一个32个Bite的数据在16*16数码版上做阴文输出
-------------------------------------------------------------------------------------------------------
DISPLAY2PROCNEAR
P3_LOOP:
NOTAL
JNZP3_SHOW
JMPP3_JMP
P3_SHOW:
P3_JMP:
JAP3_JUDGE1;
JZP3_CHANG;
JMPP3_JUDGE1
P3_CHANG:
P3_JUDGE1:
JNAP3_JUDGE2;
P3_JUDGE2:
DELAY3:
调节控制字体刷新速度
JNADELAY3
JNAP3_OUT;
JMPP3_LOOP
P3_OUT:
DISPLAY2ENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8086 汇编语言 实现 1616 点阵 输出 字体 变换