📄 lcdsub.asm
字号:
SACL *+,AR2
SSXM
SBRK 5-LF8
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 4-LF8
SACL * ,AR1
.line 6
;>>>> LCD_NUM88('B',HANZI_NUMBER+hundred_pin*8,0xFFBD,0xFF78);
LACK -136
SACL *+
LACK -67
SACL *+,AR2
ADRK 2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 7
;>>>> LCD_NUM88('C',HANZI_NUMBER+ten_pin*8,0xFFBD,0xFF40);
LACK -192
SACL *+
LACK -67
SACL *+,AR2
LARK AR2,2
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 8
;>>>> LCD_NUM88('C',HANZI_NUMBER+one_pin*8,0xFFBD,0xFF48);
LACK -184
SACL *+
LACK -67
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
EPI0_8:
.line 9
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 258,000000000H,4
.sym _LCD_GLOVETYPE,_LCD_GLOVETYPE,32,2,0
.globl _LCD_GLOVETYPE
.func 259
;>>>> void LCD_GLOVETYPE(argument1,argument2,argument3,argument4,argument5,argument6,argument7,argument8)
******************************************************
* FUNCTION DEF : _LCD_GLOVETYPE
******************************************************
_LCD_GLOVETYPE:
LF9 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+
.sym _argument1,-3+LF9,4,9,16
.sym _argument2,-4+LF9,4,9,16
.sym _argument3,-5+LF9,4,9,16
.sym _argument4,-6+LF9,4,9,16
.sym _argument5,-7+LF9,4,9,16
.sym _argument6,-8+LF9,4,9,16
.sym _argument7,-9+LF9,4,9,16
.sym _argument8,-10+LF9,4,9,16
.sym _one_pin,1,4,1,16
.sym _ten_pin,2,4,1,16
.line 2
;>>>> int one_pin,ten_pin;
.line 4
;>>>> ten_pin=argument1/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-3+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 5-LF9
SACL * ,AR1
.line 5
;>>>> one_pin=argument1%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 5-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 4-LF9
SACL *+,AR1
.line 6
;>>>> LCD_NUM88('A',HANZI_NUMBER+ten_pin*8,0xFFBB,0xFF58);
LACK -168
SACL *+
LACK -69
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 7
;>>>> LCD_NUM88('A',HANZI_NUMBER+one_pin*8,0xFFBB,0xFF60);
LACK -160
SACL *+
LACK -69
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 8
;>>>> ten_pin=argument2/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-4+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 6-LF9
SACL * ,AR1
.line 9
;>>>> one_pin=argument2%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 6-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 5-LF9
SACL *+,AR1
.line 10
;>>>> LCD_NUM88('B',HANZI_NUMBER+ten_pin*8,0xFFBB,0xFF58);
LACK -168
SACL *+
LACK -69
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 11
;>>>> LCD_NUM88('B',HANZI_NUMBER+one_pin*8,0xFFBB,0xFF60);
LACK -160
SACL *+
LACK -69
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 12
;>>>> ten_pin=argument3/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-5+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 7-LF9
SACL * ,AR1
.line 13
;>>>> one_pin=argument3%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 7-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 6-LF9
SACL *+,AR1
.line 14
;>>>> LCD_NUM88('C',HANZI_NUMBER+ten_pin*8,0xFFBB,0xFF58);
LACK -168
SACL *+
LACK -69
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 15
;>>>> LCD_NUM88('C',HANZI_NUMBER+one_pin*8,0xFFBB,0xFF60);
LACK -160
SACL *+
LACK -69
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 16
;>>>> ten_pin=argument4/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-6+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 8-LF9
SACL * ,AR1
.line 17
;>>>> one_pin=argument4%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 8-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 7-LF9
SACL *+,AR1
.line 18
;>>>> LCD_NUM88('A',HANZI_NUMBER+ten_pin*8,0xFFBD,0xFF58);
LACK -168
SACL *+
LACK -67
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 19
;>>>> LCD_NUM88('A',HANZI_NUMBER+one_pin*8,0xFFBD,0xFF60);
LACK -160
SACL *+
LACK -67
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 20
;>>>> ten_pin=argument5/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-7+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 9-LF9
SACL * ,AR1
.line 21
;>>>> one_pin=argument5%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 9-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 8-LF9
SACL *+,AR1
.line 22
;>>>> LCD_NUM88('B',HANZI_NUMBER+ten_pin*8,0xFFBD,0xFF58);
LACK -168
SACL *+
LACK -67
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 23
;>>>> LCD_NUM88('B',HANZI_NUMBER+one_pin*8,0xFFBD,0xFF60);
LACK -160
SACL *+
LACK -67
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 24
;>>>> ten_pin=argument6/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-8+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 10-LF9
SACL * ,AR1
.line 25
;>>>> one_pin=argument6%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 10-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 9-LF9
SACL *+,AR1
.line 26
;>>>> LCD_NUM88('C',HANZI_NUMBER+ten_pin*8,0xFFBD,0xFF58);
LACK -168
SACL *+
LACK -67
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 27
;>>>> LCD_NUM88('C',HANZI_NUMBER+one_pin*8,0xFFBD,0xFF60);
LACK -160
SACL *+
LACK -67
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 67
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 28
;>>>> ten_pin=argument7/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-9+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 11-LF9
SACL * ,AR1
.line 29
;>>>> one_pin=argument7%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 11-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 10-LF9
SACL *+,AR1
.line 30
;>>>> LCD_NUM88('A',HANZI_NUMBER+ten_pin*8,0xFFBF,0xFF58);
LACK -168
SACL *+
LACK -65
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 31
;>>>> LCD_NUM88('A',HANZI_NUMBER+one_pin*8,0xFFBF,0xFF60);
LACK -160
SACL *+
LACK -65
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 65
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 32
;>>>> ten_pin=argument8/10;
LACK 10
SACL *+,AR2
SSXM
LARK AR2,-10+LF9
MAR *0+
LAC * ,AR1
CALL I$$DIV
MAR * ,AR2
ADRK 12-LF9
SACL * ,AR1
.line 33
;>>>> one_pin=argument8%10;
LACK 10
SACL *+,AR2
SSXM
SBRK 12-LF9
LAC * ,AR1
CALL I$$MOD
MAR * ,AR2
ADRK 11-LF9
SACL *+,AR1
.line 34
;>>>> LCD_NUM88('B',HANZI_NUMBER+ten_pin*8,0xFFBF,0xFF58);
LACK -168
SACL *+
LACK -65
SACL *+,AR2
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
.line 35
;>>>> LCD_NUM88('B',HANZI_NUMBER+one_pin*8,0xFFBF,0xFF60);
LACK -160
SACL *+
LACK -65
SACL *+,AR2
LARK AR2,1
MAR *0+
LAC * ,3,AR1
ADLK _HANZI_NUMBER+0,0
SACL *+
LACK 66
SACL *+
CALL _LCD_NUM88
SBRK 4
EPI0_9:
.line 36
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 294,000000000H,3
.sym _LCD_HANZI,_LCD_HANZI,32,2,0
.globl _LCD_HANZI
.func 296
;>>>> void LCD_HANZI(char LCD_PART,const int *HANZI_ADD)
******************************************************
* FUNCTION DEF : _LCD_HANZI
******************************************************
_LCD_HANZI:
LF10 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+
.sym _LCD_PART,-3+LF10,2,9,16
.sym _HANZI_ADD,-4+LF10,20,9,16
.sym _i,1,4,1,16
.sym _k,2,4,1,16
.sym _j,3,4,1,16
.line 2
;>>>> int i;
;>>>> int k;
;>>>> int j;
;>>>> switch(LCD_PART)
;>>>> { case'A':
B L43
L44:
.line 10
;>>>> for(i=0;i<8;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
SSXM
LAC *
SUBK 8
BGEZ L47
L45:
.line 11
;>>>> { j=*(HANZI_ADD+i);
LAC *
SBRK 5-LF10
ADD * ,AR0
SACL *
LAR AR3,* ,AR3
LAC * ,AR2
ADRK 7-LF10
SACL *
.line 12
;>>>> k=(j>>8)|0xFF00;
LAC *-,7
ORK 65280,15
SACH * ,1
.line 13
;>>>> LCD_WRITE('A',k);
LAC * ,AR1
SACL *+
LACK 65
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 14
;>>>> k=j|0xFF00;
LACK 65280
MAR * ,AR2
LARK AR2,3
MAR *0+
OR *-
SACL * ,AR1
.line 15
;>>>> LCD_WRITE('A',k);
SACL *+
LACK 65
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 10
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
SUBK 8
BLZ L45
.line 17
;>>>> break;
;>>>> case'B':
B L47
L48:
.line 19
;>>>> for(i=0;i<8;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
SSXM
LAC *
SUBK 8
BGEZ L47
L49:
.line 20
;>>>> { j=*(HANZI_ADD+i);
LAC *
SBRK 5-LF10
ADD * ,AR0
SACL *
LAR AR3,* ,AR3
LAC * ,AR2
ADRK 7-LF10
SACL *
.line 21
;>>>> k=(j>>8)|0xFF00;
LAC *-,7
ORK 65280,15
SACH * ,1
.line 22
;>>>> LCD_WRITE('B',k);
LAC * ,AR1
SACL *+
LACK 66
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 23
;>>>> k=j|0xFF00;
LACK 65280
MAR * ,AR2
LARK AR2,3
MAR *0+
OR *-
SACL * ,AR1
.line 24
;>>>> LCD_WRITE('B',k);
SACL *+
LACK 66
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 19
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
SUBK 8
BLZ L49
.line 26
;>>>> break;
;>>>> case'C':
B L47
L51:
.line 28
;>>>> for(i=0;i<8;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
SSXM
LAC *
SUBK 8
BGEZ L47
L52:
.line 29
;>>>> { j=*(HANZI_ADD+i);
LAC *
SBRK 5-LF10
ADD * ,AR0
SACL *
LAR AR3,* ,AR3
LAC * ,AR2
ADRK 7-LF10
SACL *
.line 30
;>>>> k=(j>>8)|0xFF00;
LAC *-,7
ORK 65280,15
SACH * ,1
.line 31
;>>>> LCD_WRITE('C',k);
LAC * ,AR1
SACL *+
LACK 67
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 32
;>>>> k=j|0xFF00;
LACK 65280
MAR * ,AR2
LARK AR2,3
MAR *0+
OR *-
SACL * ,AR1
.line 33
;>>>> LCD_WRITE('C',k);
SACL *+
LACK 67
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 28
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
SUBK 8
BLZ L52
.line 35
;>>>> break;
B L47
.line 36
;>>>> default:break;
L43:
.line 8
SSXM
MAR * ,AR2
LARK AR2,-3+LF10
MAR *0+
LAC *
SUBK 65
BZ L44
SUBK 1
BZ L48
SUBK 1
BZ L51
L47:
EPI0_10:
.line 38
MAR * ,AR1
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 333,000000000H,4
.sym _LCD_NUMHANZI,_LCD_NUMHANZI,32,2,0
.globl _LCD_NUMHANZI
.func 334
;>>>> void LCD_NUMHANZI(char LCD_PART,const int *HANZI_ADD)
******************************************************
* FUNCTION DEF : _LCD_NUMHANZI
******************************************************
_LCD_NUMHANZI:
LF11 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+
.sym _LCD_PART,-3+LF11,2,9,16
.sym _HANZI_ADD,-4+LF11,20,9,16
.sym _i,1,4,1,16
.sym _k,2,4,1,16
.sym _j,3,4,1,16
.line 2
;>>>> int i;
;>>>> int k;
;>>>> int j;
;>>>> switch(LCD_PART)
;>>>> { case'A':
B L55
L56:
.line 8
;>>>> for(i=0;i<4;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
SSXM
LAC *
SUBK 4
BGEZ L59
L57:
.line 9
;>>>> { j=*(HANZI_ADD+i);
LAC *
SBRK 5-LF11
ADD * ,AR0
SACL *
LAR AR3,* ,AR3
LAC * ,AR2
ADRK 7-LF11
SACL *
.line 10
;>>>> k=(j>>8)|0xFF00;
LAC *-,7
ORK 65280,15
SACH * ,1
.line 11
;>>>> LCD_WRITE('A',k);
LAC * ,AR1
SACL *+
LACK 65
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 12
;>>>> k=j|0xFF00;
LACK 65280
MAR * ,AR2
LARK AR2,3
MAR *0+
OR *-
SACL * ,AR1
.line 13
;>>>> LCD_WRITE('A',k);
SACL *+
LACK 65
SACL *+
CALL _LCD_WRITE
SBRK 2
.line 8
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
SSXM
LAC *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -