?? lcd.asm
字號:
DBG90:
; DELAY();
call #_DELAY
DBG91:
; P3OUT&=~( (0x0001) );
and.b #0xfe,&0x19
DBG92:
; DELAY();
call #_DELAY
DBG93:
; P3OUT&=~( (0x0004) );
mov.b #0xfb,r5
and.b r5,&0x19
DBG94:
; DELAY();
call #_DELAY
DBG95:
; P3OUT|= (0x0002) ;
bis.b #0x2,&0x19
DBG96:
; DELAY();
call #_DELAY
DBG97:
; P3OUT|= (0x0004) ;
bis.b #0x4,&0x19
DBG98:
; DELAY();
call #_DELAY
DBG99:
; P3OUT&=~( (0x0004) );
and.b r5,&0x19
DBG100:
; DELAY();
call #_DELAY
DBG101:
; P3OUT&=~( (0x0002) );
and.b #0xfd,&0x19
DBG102:
; DELAY();
call #_DELAY
DBG103:
; P3OUT|= (0x0004) ;
bis.b #0x4,&0x19
DBG104:
; DELAY();
call #_DELAY
DBG105:
; P3OUT&=~( (0x0004) );
and.b r5,&0x19
DBG106:
; DELAY();
call #_DELAY
DBG107:
; P3OUT|= (0x0002) ;
bis.b #0x2,&0x19
DBG108:
; DELAY();
call #_DELAY
DBG109:
; P3OUT|= (0x0004) ;
bis.b #0x4,&0x19
DBG110:
; DELAY();
call #_DELAY
DBG112:
DBG111:
; M=_COM;
; for (R6=0;R6<=5;R6++)
mov.b #0x0,r5
WRDD_L1:
; {
DBG113:
; DELAY();
DBG114:
call #_DELAY
DBG115:
; _NOP();
nop
DBG116:
; P3OUT&=~( (0x0004) );
and.b #0xfb,&0x19
DBG117:
; DELAY();
call #_DELAY
DBG118:
; if ((M&0x80) ==0)
bit.b #0x80,r4
jne WRDD_L2
DBG120:
DBG119:
; {
; P3OUT&=~( (0x0002) );
and.b #0xfd,&0x19
DBG122:
DBG121:
; }
jmp WRDD_L3
WRDD_L2:
; else
; {
DBG123:
; P3OUT|= (0x0002) ;
DBG124:
bis.b #0x2,&0x19
DBG125:
WRDD_L3:
; }
; _NOP();
DBG126:
nop
DBG127:
; DELAY();
call #_DELAY
DBG128:
; P3OUT|= (0x0004) ;
bis.b #0x4,&0x19
DBG129:
; DELAY();
call #_DELAY
DBG130:
; M=M<<1;
rla.b r4
DBG131:
add.b #0x1,r5
mov.b #0x5,r12
cmp.b r5,r12
jc WRDD_L1
DBG133:
DBG132:
; }
; EXIT
; .temp1 at stkloc 0 (0x0) size 4
pop r5
pop r4
ret
.dbgseg dbg_syms
.long 0x0
.long DBG19
.long 0x4
.long 0x0
.long 0x10002
.long 0x0
.long DBG20
.long 0x2
.long 0x0
.long 0x10002
DBG80:
.long 0x62622e
.long 0x0
.long DBG86
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1
.long 0x0
.long DBG134
.long 0x0
.long 0x4d4f435f
.long 0x0
.long 0xc0102
.long 0xc
.long 0x11ffff
.long 0x62652e
.long 0x0
.long DBG87
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2
.long 0x0
.long 0x0
.long 0x0
DBG134:
.long 0x62622e
.long 0x0
.long DBG87
.long 0x0
.long 0x1640001
.long 0x0
.long 0x2
.long 0x0
.long DBG135
.long 0x0
.long 0x4d4f435f
.long 0x0
.long 0x40102
.long 0xc
.long 0x11ffff
DBG135:
.long 0x62622e
.long 0x0
.long DBG113
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1f
.long 0x0
.long DBG136
.long 0x0
.long 0x3652
.long 0x0
.long 0x50102
.long 0xc
.long 0x4ffff
DBG136:
.long 0x62622e
.long 0x0
.long DBG119
.long 0x0
.long 0x1640001
.long 0x0
.long 0x26
.long 0x0
.long DBG137
.long 0x0
.long 0x4d
.long 0x0
.long 0x40102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long 0x0
.long 0x0
DBG137:
.long 0x62622e
.long 0x0
.long DBG131
.long 0x0
.long 0x1640001
.long 0x0
.long 0x37
.long 0x0
.long DBG138
.long 0x0
.long 0x3652
.long 0x0
.long 0x50102
.long 0xc
.long 0x4ffff
.long 0x4d
.long 0x0
.long 0x40102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG132
.long 0x0
.long 0x1640001
.long 0x0
.long 0x38
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG133
.long 0x0
.long 0x1650001
.long 0x0
.long 0x7f
.long 0x0
.long 0x0
.long 0x0
.pseg lcd_code
DBG82:
.dbgseg dbg_syms
.long 0x44445257
.long 0x0
.long DBG82
.long 0x0
.long 0xff0001
; }
; void WRDA(unsigned char _COM)
DBG81:
.long 0x41445257
.long 0x0
.long _WRDA
.long 0x40
.long 0x1020001
.long DBG85
.long DBG140-DBG141
.long DBG142
.long DBG139
.long 0x0
.pseg lcd_code
DBG141:
.dbgseg dbg_syms
DBG85:
.long 0x66622e
.long 0x0
.long DBG141
.long 0x0
.long 0x1650001
.long 0x0
.long 0x82
.long 0x0
.long DBG143
.long 0x0
.dbgseg dbg_line
DBG142:
.long DBG81
.long 0x0
.long _WRDA
.long 0x1
.long DBG145
.long 0x2
.long DBG146
.long 0x5
.long DBG147
.long 0x7
.long DBG148
.long 0x8
.long DBG149
.long 0x9
.long DBG150
.long 0xa
.long DBG151
.long 0xb
.long DBG152
.long 0xc
.long DBG153
.long 0xe
.long DBG154
.long 0xf
.long DBG155
.long 0x10
.long DBG156
.long 0x12
.long DBG157
.long 0x13
.long DBG158
.long 0x14
.long DBG159
.long 0x17
.long DBG160
.long 0x19
.long DBG161
.long 0x1b
.long DBG162
.long 0x1c
.long DBG163
.long 0x1d
.long DBG164
.long 0x1e
.long DBG165
.long 0x1f
.long DBG166
.long 0x20
.long DBG167
.long 0x21
.pseg lcd_code
.global _WRDA
_WRDA:
push r4
push r5
DBG147:
DBG146:
DBG145:
DBG144:
; ENTRY
; _COM at argloc 0 (0x0) in reg size 1
; R5 in reg size 1
; M in reg size 1
; {
; unsigned char R5,M;
; M=_COM;
; for (R5=0;R5<=3;R5++)
mov.b #0x0,r4
mov r12,r5
WRDA_L1:
; {
DBG148:
; _NOP();
DBG149:
nop
DBG150:
; DELAY();
call #_DELAY
DBG151:
; P3OUT&=~( (0x0004) );
and.b #0xfb,&0x19
DBG152:
; DELAY();
call #_DELAY
DBG153:
; if ((M&0x01) ==0)
bit.b #0x1,r5
jne WRDA_L2
DBG155:
DBG154:
; {
; P3OUT&=~( (0x0002) );
and.b #0xfd,&0x19
DBG157:
DBG156:
; }
jmp WRDA_L3
WRDA_L2:
; else
; {
DBG158:
; P3OUT|= (0x0002) ;
DBG159:
bis.b #0x2,&0x19
DBG160:
WRDA_L3:
; }
; _NOP();
DBG161:
nop
DBG162:
; DELAY();
call #_DELAY
DBG163:
; P3OUT|= (0x0004) ;
bis.b #0x4,&0x19
DBG164:
; DELAY();
call #_DELAY
DBG165:
; M=M>>1;
clrc
rrc.b r5
DBG166:
add.b #0x1,r4
mov.b #0x3,r12
cmp.b r4,r12
jc WRDA_L1
DBG168:
DBG167:
; }
; EXIT
; .temp2 at stkloc 0 (0x0) size 4
pop r5
pop r4
ret
.dbgseg dbg_syms
.long 0x0
.long DBG19
.long 0x4
.long 0x0
.long 0x10002
.long 0x0
.long DBG20
.long 0x2
.long 0x0
.long 0x10002
DBG138:
.long 0x62622e
.long 0x0
.long DBG144
.long 0x0
.long 0x1640001
.long 0x0
.long 0x1
.long 0x0
.long DBG169
.long 0x0
.long 0x4d4f435f
.long 0x0
.long 0xc0102
.long 0xc
.long 0x11ffff
DBG169:
.long 0x62622e
.long 0x0
.long DBG148
.long 0x0
.long 0x1640001
.long 0x0
.long 0x8
.long 0x0
.long DBG170
.long 0x0
.long 0x4d
.long 0x0
.long 0x50102
.long 0xc
.long 0x4ffff
.long 0x3552
.long 0x0
.long 0x40102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG151
.long 0x0
.long 0x1640001
.long 0x0
.long 0xb
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG151
.long 0x0
.long 0x1640001
.long 0x0
.long 0xb
.long 0x0
.long 0x0
.long 0x0
DBG170:
.long 0x62622e
.long 0x0
.long DBG151
.long 0x0
.long 0x1640001
.long 0x0
.long 0xb
.long 0x0
.long DBG171
.long 0x0
.long 0x3552
.long 0x0
.long 0x40102
.long 0xc
.long 0x4ffff
.long 0x4d
.long 0x0
.long 0x50102
.long 0xc
.long 0x4ffff
.long 0x62652e
.long 0x0
.long DBG167
.long 0x0
.long 0x1640001
.long 0x0
.long 0x21
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG168
.long 0x0
.long 0x1650001
.long 0x0
.long 0xa2
.long 0x0
.long 0x0
.long 0x0
.pseg lcd_code
DBG140:
.dbgseg dbg_syms
.long 0x41445257
.long 0x0
.long DBG140
.long 0x0
.long 0xff0001
; }
; void display(float num)
.iseg lcd_data_const
.align 0x2
lcd_V1:
.byte 0x1
.byte 0x6
.byte 0x7
.byte 0x1
.byte 0x4
.byte 0x0
.byte 0x1
.byte 0x3
.byte 0x5
.byte 0x1
.byte 0x7
.byte 0x4
.byte 0x1
.byte 0x5
.byte 0x2
.byte 0x0
.byte 0x7
.byte 0x6
.byte 0x0
.byte 0x7
.byte 0x7
.byte 0x1
.byte 0x6
.byte 0x0
.byte 0x1
.byte 0x7
.byte 0x7
.byte 0x1
; {0x01,0x05,0x02},{0x00,0x07,0x06},{0x00,0x07,0x07},{0x01,0x06,0x00},{0x01,0x07,0x07},{0x01,0x07
.byte 0x7
.byte 0x6
.dbgseg dbg_syms
DBG139:
.long 0x70736964
.long 0x79616c
.long _display
.long 0x40
.long 0x1020001
.long DBG143
.long DBG173-DBG174
.long DBG175
.long DBG172
.long 0x0
.pseg lcd_code
DBG174:
.dbgseg dbg_syms
DBG143:
.long 0x66622e
.long 0x0
.long DBG174
.long 0x0
.long 0x1650001
.long 0x0
.long 0xd2
.long 0x0
.long DBG176
.long 0x0
.dbgseg dbg_line
DBG175:
.long DBG139
.long 0x0
.long _display
.long 0x1
.long DBG178
.long 0x2
.long DBG179
.long 0x9
.long DBG180
.long 0xa
.long DBG181
.long 0xb
.long DBG182
.long 0xc
.long DBG183
.long 0xd
.long DBG184
.long 0xe
.long DBG185
.long 0xf
.long DBG186
.long 0x10
.long DBG187
.long 0x11
.long DBG188
.long 0x12
.long DBG189
.long 0x14
.long DBG190
.long 0x16
.long DBG191
.long 0x17
.long DBG192
.long 0x18
.long DBG193
.long 0x19
.long DBG194
.long 0x1a
.long DBG195
.long 0x1b
.long DBG196
.long 0x1c
.long DBG197
.long 0x1d
.long DBG198
.long 0x1e
.long DBG199
.long 0x27
.long DBG200
.long 0x28
.long DBG201
.long 0x29
.long DBG202
.long 0x2a
.long DBG203
.long 0x2b
.long DBG204
.long 0x2c
.long DBG205
.long 0x2d
.long DBG206
.long 0x2e
.long DBG207
.long 0x30
.long DBG208
.long 0x32
.long DBG209
.long 0x33
.long DBG210
.long 0x34
.long DBG211
.long 0x35
.long DBG212
.long 0x36
.long DBG213
.long 0x37
.long DBG214
.long 0x38
.long DBG215
.long 0x39
.long DBG216
.long 0x3a
.long DBG217
.long 0x3b
.long DBG218
.long 0x3c
.long DBG219
.long 0x3d
.long DBG220
.long 0x3e
.long DBG221
.long 0x3f
.long DBG222
.long 0x40
.long DBG223
.long 0x41
.long DBG224
.long 0x42
.long DBG225
.long 0x43
.long DBG226
.long 0x44
.long DBG227
.long 0x45
.long DBG228
.long 0x46
.long DBG229
.long 0x47
.long DBG230
.long 0x48
.long DBG231
.long 0x49
.long DBG232
.long 0x4b
.pseg lcd_code
.global _display
_display:
push r4
push r5
push r6
push r7
push r8
push r9
push r10
push r11
sub #0x3c,sp
DBG177:
; ENTRY
mov r13,r11
mov r12,r10
DBG178:
; num at argloc 0 (0x0) in reg size 4
; shu at stkloc 0 (0x0) size 30
; .temp. is lcd_V1 size 30
; intpart at stkloc 30 (0x1e) size 10
; dotpart at stkloc 40 (0x28) size 10
; s at stkloc 50 (0x32) size 10
; temp in reg size 4
; tempoten in reg size 4
; i in reg size 1
; k in reg size 1
; x in reg size 1
; y in reg size 1
; dotp in reg size 4
; {
; unsigned char shu[10][3]={{0x01,0x06,0x07},{0x01,0x04,0x00},{0x01,0x03,0x05},{0x01,0x07,0x04},
mov #lcd_V1,r4
mov sp,r13
mov #0xf,r12
display_LL2:
mov @r4+,0(r13)
add #0x2,r13
dec r12
jne display_LL2
DBG179:
; ,0x06}};
; unsigned char intpart[10],dotpart[10],s[10];
; unsigned long temp,tempoten;
; unsigned char i,k,x,y;
; float dotp;
; for (k=0;k<10;k++)
mov.b #0x0,r12
display_L1:
; {
DBG180:
; intpart[10]=0;
DBG181:
mov.b #0x0,0x28(sp)
DBG182:
; dotpart[10]=0;
mov.b #0x0,0x32(sp)
DBG183:
; s[10]=0;
mov.b #0x0,0x3c(sp)
DBG184:
add.b #0x1,r12
cmp.b #0xa,r12
jnc display_L1
DBG185:
; }
; i=0;
mov.b #0x0,r9
DBG187:
DBG186:
; k=0;
; x=0;
mov.b #0x0,r6
DBG189:
DBG188:
; y=0;
; temp=(long)num;
mov r11,r13
mov r10,r12
DBG233:
call #__s_to_l
DBG234:
mov r13,r4
mov r12,r5
DBG190:
; tempoten=temp/10;
mov r4,r13
mov r5,r12
mov #0xa,r15
mov #0x0,r14
DBG235:
call #__udiv32
DBG236:
mov r13,r7
mov r12,r8
DBG191:
; while(tempoten!=0)
display_L2:
mov r7,r12
bis r8,r12
tst r12
jeq display_L3
DBG193:
DBG192:
; {
; intpart[i]=temp-10*tempoten;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -