📄 jhd12864.lis
字号:
00BE 4830 cpi R20,8
00C0 E0E0 ldi R30,0
00C2 5E07 cpc R21,R30
00C4 48F3 brlo L15
00C6 X5:
00C6 .dbline -2
00C6 L14:
00C6 .dbline 0 ; func end
00C6 00C0 rjmp pop_xgset303C
00C8 .dbsym r Temp_data 12 i
00C8 .dbsym r i 20 i
00C8 .dbsym r W_bits 10 i
00C8 .dbend
00C8 .dbfunc e Char_Set_XY _Char_Set_XY fV
00C8 ; p -> R10,R11
00C8 ; y -> R22
00C8 ; x -> R20
.even
00C8 _Char_Set_XY::
00C8 00D0 rcall push_xgsetF00C
00CA 622F mov R22,R18
00CC 402F mov R20,R16
00CE 2197 sbiw R28,1
00D0 AF80 ldd R10,y+7
00D2 B884 ldd R11,y+8
00D4 .dbline -1
00D4 .dbline 118
00D4 ; }
00D4 ;
00D4 ; //===================================================================*/
00D4 ; /********************************************************************
00D4 ; 函 数 名:Char_Set_XY
00D4 ; 入口参数:x,y,*p
00D4 ; 出口参数:无
00D4 ; 建立日期:2007年8月26日
00D4 ; 修改日期:
00D4 ; 函数作用:指定位置显示字符串
00D4 ; 说 明:
00D4 ; ********************************************************************/
00D4 ; void Char_Set_XY(uchar x, uchar y, uchar *p)
00D4 ; {
00D4 .dbline 119
00D4 ; if(y == 0)
00D4 6623 tst R22
00D6 31F4 brne L22
00D8 X6:
00D8 .dbline 120
00D8 ; {
00D8 .dbline 121
00D8 ; W_1byte(0,0,(0x80+x));
00D8 842F mov R24,R20
00DA 8058 subi R24,128 ; addi 128
00DC 8883 std y+0,R24
00DE 2227 clr R18
00E0 0027 clr R16
00E2 A4DF rcall _W_1byte
00E4 .dbline 122
00E4 ; }
00E4 L22:
00E4 .dbline 123
00E4 ; if(y == 1)
00E4 6130 cpi R22,1
00E6 31F4 brne L24
00E8 X7:
00E8 .dbline 124
00E8 ; {
00E8 .dbline 125
00E8 ; W_1byte(0,0,(0x90+x));
00E8 842F mov R24,R20
00EA 8057 subi R24,112 ; addi 144
00EC 8883 std y+0,R24
00EE 2227 clr R18
00F0 0027 clr R16
00F2 9CDF rcall _W_1byte
00F4 .dbline 126
00F4 ; }
00F4 L24:
00F4 .dbline 127
00F4 ; if(y == 2)
00F4 6230 cpi R22,2
00F6 31F4 brne L26
00F8 X8:
00F8 .dbline 128
00F8 ; {
00F8 .dbline 129
00F8 ; W_1byte(0,0,(0x88+x));
00F8 842F mov R24,R20
00FA 8857 subi R24,120 ; addi 136
00FC 8883 std y+0,R24
00FE 2227 clr R18
0100 0027 clr R16
0102 94DF rcall _W_1byte
0104 .dbline 130
0104 ; }
0104 L26:
0104 .dbline 131
0104 ; if(y == 3)
0104 6330 cpi R22,3
0106 71F4 brne L31
0108 X9:
0108 .dbline 132
0108 ; {
0108 .dbline 133
0108 ; W_1byte(0,0,(0x98+x));
0108 842F mov R24,R20
010A 8856 subi R24,104 ; addi 152
010C 8883 std y+0,R24
010E 2227 clr R18
0110 0027 clr R16
0112 8CDF rcall _W_1byte
0114 .dbline 134
0114 ; }
0114 07C0 rjmp L31
0116 L30:
0116 .dbline 136
0116 ; while(*p != 0)
0116 ; {
0116 .dbline 137
0116 ; W_1byte(0,1,*p++);
0116 F501 movw R30,R10
0118 2190 ld R2,Z+
011A 5F01 movw R10,R30
011C 2882 std y+0,R2
011E 21E0 ldi R18,1
0120 0027 clr R16
0122 84DF rcall _W_1byte
0124 .dbline 138
0124 ; }
0124 L31:
0124 .dbline 135
0124 F501 movw R30,R10
0126 2080 ldd R2,z+0
0128 2220 tst R2
012A A9F7 brne L30
012C X10:
012C .dbline -2
012C L21:
012C .dbline 0 ; func end
012C 2196 adiw R28,1
012E 00C0 rjmp pop_xgsetF00C
0130 .dbsym r p 10 pc
0130 .dbsym r y 22 c
0130 .dbsym r x 20 c
0130 .dbend
0130 .dbfunc e Char_Set_XY_BYTE _Char_Set_XY_BYTE fV
0130 ; k -> R20
0130 ; p -> R10
0130 ; y -> R12
0130 ; x -> R22
.even
0130 _Char_Set_XY_BYTE::
0130 00D0 rcall push_xgsetF03C
0132 C22E mov R12,R18
0134 602F mov R22,R16
0136 2197 sbiw R28,1
0138 A984 ldd R10,y+9
013A 4B85 ldd R20,y+11
013C .dbline -1
013C .dbline 154
013C ; }
013C ; //===================================================================*/
013C ;
013C ;
013C ; //===================================================================*/
013C ; /********************************************************************
013C ; 函 数 名:Char_Set_XY_BYTE
013C ; 入口参数:x,y,*p
013C ; 出口参数:无
013C ; 建立日期:2007年8月26日
013C ; 修改日期:
013C ; 函数作用:指定位置显示一个字符
013C ; 说 明:
013C ; ********************************************************************/
013C ; void Char_Set_XY_BYTE(uchar x, uchar y, uchar p,uchar k )
013C ; {
013C .dbline 155
013C ; if(y == 0)//0x80+x
013C CC20 tst R12
013E 31F4 brne L34
0140 X11:
0140 .dbline 156
0140 ; {
0140 .dbline 157
0140 ; W_1byte(0,0,(0x80+x));
0140 862F mov R24,R22
0142 8058 subi R24,128 ; addi 128
0144 8883 std y+0,R24
0146 2227 clr R18
0148 0027 clr R16
014A 70DF rcall _W_1byte
014C .dbline 158
014C ; }
014C L34:
014C .dbline 159
014C ; if(y == 1)
014C 8C2D mov R24,R12
014E 8130 cpi R24,1
0150 31F4 brne L36
0152 X12:
0152 .dbline 160
0152 ; {
0152 .dbline 161
0152 ; W_1byte(0,0,(0x90+x));
0152 862F mov R24,R22
0154 8057 subi R24,112 ; addi 144
0156 8883 std y+0,R24
0158 2227 clr R18
015A 0027 clr R16
015C 67DF rcall _W_1byte
015E .dbline 162
015E ; }
015E L36:
015E .dbline 163
015E ; if(y == 2)//0x88+x
015E 8C2D mov R24,R12
0160 8230 cpi R24,2
0162 31F4 brne L38
0164 X13:
0164 .dbline 164
0164 ; {
0164 .dbline 165
0164 ; W_1byte(0,0,(0x88+x));
0164 862F mov R24,R22
0166 8857 subi R24,120 ; addi 136
0168 8883 std y+0,R24
016A 2227 clr R18
016C 0027 clr R16
016E 5EDF rcall _W_1byte
0170 .dbline 166
0170 ; }
0170 L38:
0170 .dbline 167
0170 ; if(y == 3)
0170 8C2D mov R24,R12
0172 8330 cpi R24,3
0174 31F4 brne L40
0176 X14:
0176 .dbline 168
0176 ; {
0176 .dbline 169
0176 ; W_1byte(0,0,(0x98+x));
0176 862F mov R24,R22
0178 8856 subi R24,104 ; addi 152
017A 8883 std y+0,R24
017C 2227 clr R18
017E 0027 clr R16
0180 55DF rcall _W_1byte
0182 .dbline 170
0182 ; }
0182 L40:
0182 .dbline 172
0182 ;
0182 ; if(k==1)
0182 4130 cpi R20,1
0184 21F4 brne L42
0186 X15:
0186 .dbline 173
0186 ; {
0186 .dbline 174
0186 ; W_1byte(0,1,p);
0186 A882 std y+0,R10
0188 21E0 ldi R18,1
018A 0027 clr R16
018C 4FDF rcall _W_1byte
018E .dbline 176
018E ;
018E ; }//W_1byte(0,1,p);
018E L42:
018E .dbline 177
018E ; if(k==2)
018E 4230 cpi R20,2
0190 49F4 brne L44
0192 X16:
0192 .dbline 178
0192 ; {
0192 .dbline 179
0192 ; W_1byte(0,1,0x20);
0192 80E2 ldi R24,32
0194 8883 std y+0,R24
0196 21E0 ldi R18,1
0198 0027 clr R16
019A 48DF rcall _W_1byte
019C .dbline 181
019C ;
019C ; W_1byte(0,1,p);
019C A882 std y+0,R10
019E 21E0 ldi R18,1
01A0 0027 clr R16
01A2 44DF rcall _W_1byte
01A4 .dbline 182
01A4 ; }
01A4 L44:
01A4 .dbline -2
01A4 L33:
01A4 .dbline 0 ; func end
01A4 2196 adiw R28,1
01A6 00C0 rjmp pop_xgsetF03C
01A8 .dbsym r k 20 c
01A8 .dbsym r p 10 c
01A8 .dbsym r y 12 c
01A8 .dbsym r x 22 c
01A8 .dbend
01A8 .dbfunc e Set_Draw _Set_Draw fV
.even
01A8 _Set_Draw::
01A8 2197 sbiw R28,1
01AA .dbline -1
01AA .dbline 200
01AA ;
01AA ;
01AA ; }
01AA ; //===================================================================*/
01AA ;
01AA ;
01AA ;
01AA ; /********************************************************************
01AA ; 函 数 名:Set_Draw(
01AA ; 入口参数:无
01AA ; 出口参数:无
01AA ; 建立日期:2007年8月26日
01AA ; 修改日期:
01AA ; 函数作用:反白前必须调用此函数
01AA ; 说 明:
01AA ; ********************************************************************/
01AA ; void Set_Draw(void)
01AA ; {
01AA .dbline 202
01AA ; //W_1byte(0,0,0x01); //清屏
01AA ; delay_1ms(20); //延时
01AA 04E1 ldi R16,20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -