📄 msp430dayii_democ.asm
字号:
; ADC12CTL0 &= ~ (0x002) ;
mov #0xfffd,r13
and r13,&0x1a0
DBG186:
; ADC12CTL0 = (15*0x100) + (0x020) + (0x010) ;
mov #0xf30,&0x1a0
DBG187:
; ADC12MCTL0 = (10) + (1*0x10) ;
mov.b #0x1a,&0x80
DBG188:
; TACCR1 = 1500;
mov #0x5dc,&0x174
DBG189:
; TACCTL1 = (0x0010) ;
mov #0x10,&0x164
DBG190:
; _BIS_SR( ( (0x0080) + (0x0040) + (0x0010) ) ) ;
mov #0xd0,r12
bis r12,sr
DBG191:
; ADC12CTL0 |= (0x002) + (0x001) ;
bis #0x3,&0x1a0
DBG192:
; _BIS_SR( ( (0x0080) + (0x0040) + (0x0010) ) ) ;
bis r12,sr
DBG193:
; ADC12CTL0 &= ~ (0x002) ;
and r13,&0x1a0
DBG194:
; ADC12CTL0 = 0;
mov #0x0,&0x1a0
DBG195:
; tempF = (((long) ADC12MEM0 * Temp_slope_ram) / 4096 - Temp_offset_ram);
mov &_Temp_offset_ram,r5
mov #0x0,r4
cmp #0x0,r5
jge getTemp_LL2
mov #-0x1,r4
getTemp_LL2:
mov &_Temp_slope_ram,r15
mov #0x0,r14
cmp #0x0,r15
jge getTemp_LL3
mov #-0x1,r14
getTemp_LL3:
mov &0x140,r13
mov #0x0,r12
DBG197:
call #__smult32
DBG198:
mov #0x1000,r15
mov #0x0,r14
DBG199:
call #__sdiv32
DBG200:
sub r5,r13
subc r4,r12
mov r13,&_tempF
DBG201:
DBG196:
; EXIT
; .temp2 at stkloc 0 (0x0) size 4
pop r5
pop r4
ret
.dbgseg dbg_syms
.long 0x0
.long DBG60
.long 0x4
.long 0x0
.long 0x10002
.long 0x0
.long DBG61
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
DBG131:
.long 0x62622e
.long 0x0
.long DBG197
.long 0x0
.long 0x1640001
.long 0x0
.long 0x12
.long 0x0
.long DBG202
.long 0x0
.long 0x0
.long DBG203
.long 0x0
.long 0x0
.long 0x10002
.long 0x62652e
.long 0x0
.long DBG198
.long 0x0
.long 0x1640001
.long 0x0
.long 0x12
.long 0x0
.long 0x0
.long 0x0
DBG202:
.long 0x62622e
.long 0x0
.long DBG199
.long 0x0
.long 0x1640001
.long 0x0
.long 0x12
.long 0x0
.long DBG204
.long 0x0
.long 0x0
.long DBG203
.long 0x0
.long 0x0
.long 0x10002
.long 0x62652e
.long 0x0
.long DBG200
.long 0x0
.long 0x1640001
.long 0x0
.long 0x12
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG201
.long 0x0
.long 0x1650001
.long 0x0
.long 0x159
.long 0x0
.long 0x0
.long 0x0
.pseg MSP430dayII_democ_code
DBG179:
.dbgseg dbg_syms
.long 0x54746567
.long 0x706d65
.long DBG179
.long 0x0
.long 0xff0001
; }
; void displayTemp(void)
DBG178:
.long 0x0
.long DBG209
.long _displayTemp
.long 0x40
.long 0x1020001
.long DBG182
.long DBG206-DBG207
.long DBG208
.long DBG205
.long 0x0
.pseg MSP430dayII_democ_code
DBG207:
.dbgseg dbg_syms
DBG182:
.long 0x66622e
.long 0x0
.long DBG207
.long 0x0
.long 0x1650001
.long 0x0
.long 0x15b
.long 0x0
.long DBG210
.long 0x0
.dbgseg dbg_line
DBG208:
.long DBG178
.long 0x0
.long _displayTemp
.long 0x1
.long DBG212
.long 0x2
.long DBG213
.long 0x3
.long DBG214
.long 0x5
.long DBG215
.long 0x6
.long DBG216
.long 0x7
.long DBG217
.long 0x8
.long DBG218
.long 0x9
.long DBG219
.long 0xa
.long DBG220
.long 0xb
.long DBG221
.long 0xc
.long DBG222
.long 0x12
.long DBG223
.long 0x13
.long DBG224
.long 0x14
.long DBG225
.long 0x15
.long DBG226
.long 0x17
.long DBG227
.long 0x18
.long DBG228
.long 0x19
.long DBG229
.long 0x1a
.pseg MSP430dayII_democ_code
.global _displayTemp
_displayTemp:
; ENTRY
DBG211:
; tempC in reg size 2
; {
DBG212:
; clearLCD();
DBG213:
call #_clearLCD
DBG214:
; if( unitMode == ENGLISH )
cmp #0x0,&_unitMode
jne displayTemp_L1
DBG216:
DBG215:
; {
; displayValue(tempF, 2);
mov #0x2,r13
mov &_tempF,r12
call #_displayValue
DBG217:
; LCDM7 = char_gen[15];
mov.b &_char_gen+0xf,&0x97
DBG218:
; LCDM6 = char_gen[13];
mov.b &_char_gen+0xd,&0x96
DBG220:
DBG219:
; }
jmp displayTemp_LL2
displayTemp_L1:
; else
; {
DBG221:
; int tempC = tempF - 32;
DBG222:
mov &_tempF,r14
sub #0x20,r14
DBG223:
; tempF *= 5;
mov &_tempF,r12
clrc
rlc r12
clrc
rlc r12
add &_tempF,r12
mov r12,&_tempF
DBG224:
; tempF /= 9;
mov &_tempF,r12
mov #0x9,r13
DBG230:
call #__sdiv16
DBG231:
mov r12,&_tempF
DBG225:
; displayValue(tempC, 2);
mov #0x2,r13
mov r14,r12
call #_displayValue
DBG226:
; LCDM7 = char_gen[12];
mov.b &_char_gen+0xc,&0x97
DBG227:
; LCDM6 = char_gen[13];
mov.b &_char_gen+0xd,&0x96
DBG228:
displayTemp_L2:
; }
DBG229:
displayTemp_LL2:
; EXIT
DBG232:
ret
.dbgseg dbg_syms
.long 0x0
.long DBG60
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG61
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
DBG204:
.long 0x62622e
.long 0x0
.long DBG223
.long 0x0
.long 0x1640001
.long 0x0
.long 0x13
.long 0x0
.long DBG233
.long 0x0
.long 0x706d6574
.long 0x43
.long 0xe0102
.long 0x4
.long 0x4ffff
DBG233:
.long 0x62622e
.long 0x0
.long DBG230
.long 0x0
.long 0x1640001
.long 0x0
.long 0x15
.long 0x0
.long DBG234
.long 0x0
.long 0x0
.long DBG203
.long 0x0
.long 0x0
.long 0x10002
.long 0x62652e
.long 0x0
.long DBG231
.long 0x0
.long 0x1640001
.long 0x0
.long 0x15
.long 0x0
.long 0x0
.long 0x0
.long 0x62652e
.long 0x0
.long DBG226
.long 0x0
.long 0x1640001
.long 0x0
.long 0x17
.long 0x0
.long 0x0
.long 0x0
.long 0x66652e
.long 0x0
.long DBG232
.long 0x0
.long 0x1650001
.long 0x0
.long 0x174
.long 0x0
.long 0x0
.long 0x0
.pseg MSP430dayII_democ_code
DBG206:
.dbgseg dbg_syms
.long 0x0
.long DBG209
.long DBG206
.long 0x0
.long 0xff0001
; }
; void displayTime(void)
DBG205:
.long 0x0
.long DBG239
.long _displayTime
.long 0x40
.long 0x1020001
.long DBG210
.long DBG236-DBG237
.long DBG238
.long DBG235
.long 0x0
.pseg MSP430dayII_democ_code
DBG237:
.dbgseg dbg_syms
DBG210:
.long 0x66622e
.long 0x0
.long DBG237
.long 0x0
.long 0x1650001
.long 0x0
.long 0x176
.long 0x0
.long DBG240
.long 0x0
.dbgseg dbg_line
DBG238:
.long DBG205
.long 0x0
.long _displayTime
.long 0x1
.long DBG242
.long 0x2
.long DBG243
.long 0x3
.long DBG244
.long 0x5
.long DBG245
.long 0x6
.long DBG246
.long 0x8
.long DBG247
.long 0x9
.long DBG248
.long 0xb
.long DBG249
.long 0xc
.long DBG250
.long 0xd
.long DBG251
.long 0xe
.long DBG252
.long 0xf
.long DBG253
.long 0x10
.long DBG254
.long 0x11
.long DBG255
.long 0x12
.long DBG256
.long 0x13
.long DBG257
.long 0x14
.pseg MSP430dayII_democ_code
.global _displayTime
_displayTime:
; ENTRY
DBG241:
; {
DBG242:
; LCDM7 = 0;
DBG243:
mov.b #0x0,&0x97
DBG244:
; LCDM6 = char_gen[seconds&0x0f];
mov.b &_seconds,r13
mov.b r13,r12
and.b #0xf,r12
and #0xff,r12
mov.b _char_gen(r12),&0x96
DBG245:
; LCDM5 = char_gen[(seconds>>4)&0x0f]+char_gen[16];
and #0xff,r13
clrc
rrc r13
rra r13
rra r13
rra r13
and #0xf,r13
mov.b _char_gen(r13),r12
add.b &_char_gen+0x10,r12
mov.b r12,&0x95
DBG246:
; LCDM4 = char_gen[minutes&0x0f];
mov.b &_minutes,r13
mov.b r13,r12
and.b #0xf,r12
and #0xff,r12
mov.b _char_gen(r12),&0x94
DBG247:
; LCDM3 = char_gen[(minutes>>4)&0x0f]+char_gen[16];
and #0xff,r13
clrc
rrc r13
rra r13
rra r13
rra r13
and #0xf,r13
mov.b _char_gen(r13),r12
add.b &_char_gen+0x10,r12
mov.b r12,&0x93
DBG248:
; LCDM2 = char_gen[hours&0x0f];
mov.b &_hours,r13
mov.b r13,r12
and.b #0xf,r12
and #0xff,r12
mov.b _char_gen(r12),&0x92
DBG249:
; if( hours & 0x10 )
bit.b #0x10,r13
jeq displayTime_L1
DBG251:
DBG250:
; {
; LCDM1 = char_gen[1];
mov.b &_char_gen+0x1,&0x91
DBG253:
DBG252:
; }
jmp displayTime_LL2
displayTime_L1:
; else
; {
DBG254:
; LCDM1 = 0;
DBG255:
mov.b #0x0,&0x91
DBG256:
displayTime_L2:
; }
DBG257:
displayTime_LL2:
; EXIT
DBG258:
ret
.dbgseg dbg_syms
.long 0x0
.long DBG60
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG61
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x0
.long 0x0
.long 0x10002
.long 0x66652e
.long 0x0
.long DBG258
.long 0x0
.long 0x1650001
.long 0x0
.long 0x189
.long 0x0
.long 0x0
.long 0x0
.pseg MSP430dayII_democ_code
DBG236:
.dbgseg dbg_syms
.long 0x0
.long DBG239
.long DBG236
.long 0x0
.long 0xff0001
; }
; void displayValue( int value, int stop )
DBG235:
.long 0x0
.long DBG263
.long _displayValue
.long 0x40
.long 0x1020001
.long DBG240
.long DBG260-DBG261
.long DBG262
.long DBG259
.long 0x0
.pseg MSP430dayII_democ_code
DBG261:
.dbgseg dbg_syms
DBG240:
.long 0x66622e
.long 0x0
.long DBG261
.long 0x0
.long 0x1650001
.long 0x0
.long 0x18b
.long 0x0
.long DBG264
.long 0x0
.dbgseg dbg_line
DBG262:
.long DBG235
.long 0x0
.long _displayValue
.long 0x1
.long DBG266
.long 0x2
.long DBG267
.long 0x4
.long DBG268
.long 0x5
.long DBG269
.long 0x6
.long DBG270
.long 0x7
.long DBG271
.long 0x8
.long DBG272
.long 0x9
.long DBG273
.long 0xa
.long DBG274
.long 0xb
.long DBG275
.long 0xc
.long DBG276
.long 0xd
.long DBG277
.long 0xe
.long DBG278
.long 0xf
.long DBG279
.long 0x10
.long DBG280
.long 0x11
.long DBG281
.long 0x12
.long DBG282
.long 0x13
.long DBG283
.long 0x14
.long DBG284
.long 0x15
.long DBG285
.long 0x16
.pseg MSP430dayII_democ_code
.global _displayValue
_displayValue:
push r4
push r5
push r6
DBG267:
DBG266:
DBG265:
; ENTRY
; value at argloc 0 (0x0) in reg size 2
; stop at argloc 0 (0x0) in reg size 2
; i in reg size 2
; sign in reg size 2
; {
; int i;
; int sign = 0;
mov #0x0,r15
mov r12,r14
DBG268:
; if( value < 0 )
cmp #0x0,r12
jge displayValue_L1
DBG270:
DBG269:
; {
; value = ~value +1;
inv r12
add #0x1,r12
DBG271:
; sign = 1;
mov #0x1,r15
mov r12,r14
DBG273:
DBG272:
; }
displayValue_L1:
; i = 6-stop;
mov #0x6,r4
sub r13,r4
DBG274:
; while( value > 9 )
displayValue_L2:
mov #0x9,r12
cmp r14,r12
jge displayValue_L3
DBG276:
DBG275:
; {
; LCD[i] = char_gen[value%10];
mov &_LCD,r5
add r4,r5
mov #0xa,r6
mov r6,r13
mov r14,r12
DBG287:
call #__sdiv16
DBG288:
mov.b _char_gen(r13),0(r5)
DBG277:
; value = value/10;
mov r6,r13
mov r14,r12
DBG289:
call #__sdiv16
DBG278:
DBG290:
; i--;
sub #0x1,r4
mov r12,r14
DBG279:
jmp displayValue_L2
displayValue_L3:
; }
; LCD[i] = char_gen[value];
DBG280:
mov &_LCD,r12
mov r12,r13
add r4,r13
mov.b _char_gen(r14),0(r13)
DBG281:
; if( sign )
cmp #0x0,r15
jeq displayValue_L4
DBG283:
DBG282:
; {
; LCD[i-1] = char_gen[17];
sub #0x1,r4
add r12,r4
mov.b &_char_gen+0x11,0(r4)
DBG285:
DBG284:
; }
displayValue_L4:
DBG286:
; EXIT
; .temp3 at stkloc 0 (0x0) size 6
DBG291:
pop r6
pop r5
pop r4
ret
.dbgseg dbg_syms
.long 0x0
.long DBG60
.long 0x6
.long 0x0
.long 0x10002
.long 0x0
.long DBG61
.long 0x2
.long 0x0
.long 0x10002
.long 0x504e5f5f
.long 0x534d5241
.long 0x2
.long 0x0
.long 0x10002
.long 0x0
.long DBG292
.long 0x0
.long 0x0
.long 0x10002
.long 0x0
.long DBG293
.long 0x0
.long 0x0
.long 0x10002
DBG234:
.long 0x62622e
.long 0x0
.long DBG265
.long 0x0
.long 0x1640001
.long 0x0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -