ctr_mcu/branches/0.10(X3)/inter_asm/pedo_alg_thre_det2.asm
N2232 dc469bd4c6 0.10のX3対応版を登録
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@193 013db118-44a6-b54f-8bf7-843cb86687b1
2010-06-23 07:16:15 +00:00

1712 lines
54 KiB
NASM
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; 78K0R C Compiler V2.10 Assembler Source Date:13 Jun 2010 Time:19:31:25
; Command : -c9F0104 -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -i
; renge -iC:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\
; V1.20\inc78k0r -ms -qvjl3wt -sainter_asm -zp -no pedo_alg_thre_de
; t2.c
; In-file : pedo_alg_thre_det2.c
; Asm-file : inter_asm\pedo_alg_thre_det2.asm
; Para-file :
$PROCESSOR(9F0104)
$DEBUG
$NODEBUGA
$KANJICODE SJIS
$TOL_INF 03FH, 0210H, 02H, 00H, 00H, 00H, 00H
$DGS FIL_NAM, .file, 0EEH, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, pedo_alg_thre_det2.c
$DGS MOD_NAM, pedo_alg_thre_det2, 00H, 0FFFEH, 00H, 077H, 00H, 00H
$DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CNSTL, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@RLINIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INITL, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATAL, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, ROM_CODE, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CODEL, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@BASE, U, U, 00H, 078H, 00H, 00H
$DGS LAB_SYM, bs_S0099, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, es_S0099, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, bs_F0097, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, es_F0097, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, bs_S0098, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, es_S0098, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, bs_S0096, U, U, 00H, 06H, 00H, 00H
$DGS LAB_SYM, es_S0096, U, U, 00H, 06H, 00H, 00H
$DGS STA_SYM, _lpf_coeff, U, U, 05002H, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 02FH, 02FH, 00H, 00H, 00H, 00H
$DGS GLV_SYM, _pedometer, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 06BH, 00H, 00H
$DGS BEG_FUN, ??bf_pedometer, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 01EH, 024H, 039H
$DGS STA_SYM, _th_H, ?L0003, U, 03H, 03H, 00H, 00H
$DGS STA_SYM, _th_L, ?L0004, U, 03H, 03H, 00H, 00H
$DGS STA_SYM, _acc_norm, ?L0005, U, 0DH, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 06H, 03H, 00H, 00H, 00H, 00H
$DGS STA_SYM, _acc_norm_temp, ?L0006, U, 0DH, 03H, 00H, 00H
$DGS STA_SYM, _interval_hh, ?L0007, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _time_l, ?L0008, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _peak_l, ?L0009, U, 0DH, 03H, 00H, 00H
$DGS STA_SYM, _peak_h, ?L0010, U, 0DH, 03H, 00H, 00H
$DGS STA_SYM, _norm_hist, ?L0011, U, 0DH, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 080H, 040H, 00H, 00H, 00H, 00H
$DGS STA_SYM, _hist_indx, ?L0012, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _t_rise, ?L0013, U, 0CH, 03H, 00H, 00H
$DGS AUT_VAR, _filterd, 020H, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _i, 01FH, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _temp1, 01AH, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _temp2, 016H, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _temp3, 012H, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _temp4, 0EH, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _temp5, 0AH, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _temp6, 06H, 0FFFFH, 05H, 01H, 00H, 00H
$DGS AUT_VAR, _sx16, 04H, 0FFFFH, 0DH, 01H, 00H, 00H
$DGS AUT_VAR, _sy16, 02H, 0FFFFH, 0DH, 01H, 00H, 00H
$DGS AUT_VAR, _sz16, 00H, 0FFFFH, 0DH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 02CH, 00H, 03DH
$DGS END_BLK, ??eb00_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02EH
$DGS BEG_BLK, ??bb01_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 03FH, 00H, 041H
$DGS END_BLK, ??eb01_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 043H
$DGS BEG_BLK, ??bb02_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 048H, 00H, 043H
$DGS BEG_BLK, ??bb03_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04BH, 00H, 045H
$DGS BEG_BLK, ??bb04_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04EH, 00H, 047H
$DGS BEG_BLK, ??bb05_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04FH, 00H, 04FH
$DGS END_BLK, ??eb05_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 052H
$DGS END_BLK, ??eb04_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 053H
$DGS END_BLK, ??eb03_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 055H
$DGS BEG_BLK, ??bb06_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 057H, 00H, 053H
$DGS END_BLK, ??eb06_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 059H
$DGS BEG_BLK, ??bb07_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 05BH, 00H, 059H
$DGS END_BLK, ??eb07_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 05DH
$DGS END_BLK, ??eb02_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 05EH
$DGS BEG_BLK, ??bb08_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 060H, 00H, 05DH
$DGS END_BLK, ??eb08_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 062H
$DGS BEG_BLK, ??bb09_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 067H, 00H, 061H
$DGS END_BLK, ??eb09_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 06BH
$DGS BEG_BLK, ??bb0A_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 06DH, 00H, 065H
$DGS END_BLK, ??eb0A_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 06FH
$DGS BEG_BLK, ??bb0B_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 071H, 00H, 00H
$DGS END_BLK, ??eb0B_pedometer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 086H
$DGS END_FUN, ??ef_pedometer, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 087H
$DGS STA_SYM, _hosu_increment, U, U, 01H, 03H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0A8H, 00H, 00H
$DGS BEG_FUN, ??bf_hosu_increment, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0B7H, 06H, 070H
$DGS STA_SYM, _last_hour_fny, ?L0039, U, 0DH, 03H, 00H, 00H
$DGS BEG_BLK, ??bb00_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 07H, 00H, 072H
$DGS BEG_BLK, ??bb01_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 09H, 00H, 074H
$DGS BEG_BLK, ??bb02_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 0AH, 00H, 07CH
$DGS END_BLK, ??eb02_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 0EH
$DGS END_BLK, ??eb01_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 0FH
$DGS END_BLK, ??eb00_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 010H
$DGS BEG_BLK, ??bb03_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 012H, 00H, 082H
$DGS AUT_VAR, _now_hour, 04H, 0FFFFH, 0DH, 01H, 01H, 00H
$DGS AUX_STR, 00H, 015H, 02H, 00H, 00H, 00H, 00H, 00H
$DGS AUT_VAR, _now_year, 03H, 0FFFFH, 0CH, 01H, 01H, 00H
$DGS AUX_STR, 00H, 016H, 01H, 00H, 00H, 00H, 00H, 00H
$DGS BEG_BLK, ??bb04_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01BH, 00H, 086H
$DGS END_BLK, ??eb04_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01BH
$DGS BEG_BLK, ??bb05_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 026H, 00H, 088H
$DGS BEG_BLK, ??bb06_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 028H, 00H, 08EH
$DGS END_BLK, ??eb06_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02AH
$DGS END_BLK, ??eb05_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02BH
$DGS BEG_BLK, ??bb07_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 02DH, 00H, 094H
$DGS AUT_VAR, _temp_hours, 00H, 0FFFFH, 0DH, 01H, 01H, 00H
$DGS AUX_STR, 00H, 02FH, 02H, 00H, 00H, 00H, 00H, 00H
$DGS END_BLK, ??eb07_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 031H
$DGS BEG_BLK, ??bb08_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 033H, 00H, 098H
$DGS END_BLK, ??eb08_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 036H
$DGS BEG_BLK, ??bb09_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 038H, 00H, 09CH
$DGS END_BLK, ??eb09_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 03BH
$DGS BEG_BLK, ??bb0A_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 041H, 00H, 0A0H
$DGS END_BLK, ??eb0A_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 043H
$DGS BEG_BLK, ??bb0B_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 045H, 00H, 00H
$DGS END_BLK, ??eb0B_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 047H
$DGS END_BLK, ??eb03_hosu_increment, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 048H
$DGS END_FUN, ??ef_hosu_increment, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 049H
$DGS GLV_SYM, _fill_hosu_hist_hours, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0B7H, 00H, 00H
$DGS BEG_FUN, ??bf_fill_hosu_hist_hours, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0108H, 02H, 0ADH
$DGS REG_PAR, _hours, 0103H, 0FFFFH, 010DH, 011H, 00H, 00H
$DGS BEG_BLK, ??bb00_fill_hosu_hist_hours, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 03H, 00H, 0B1H
$DGS END_BLK, ??eb00_fill_hosu_hist_hours, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 05H
$DGS BEG_BLK, ??bb01_fill_hosu_hist_hours, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 09H, 00H, 00H
$DGS END_BLK, ??eb01_fill_hosu_hist_hours, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 0DH
$DGS END_FUN, ??ef_fill_hosu_hist_hours, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0FH
$DGS GLV_SYM, _clear_hosu_hist, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0C2H, 00H, 00H
$DGS BEG_FUN, ??bf_clear_hosu_hist, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 011FH, 02H, 0BCH
$DGS REG_VAR, _hours, 06H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS BEG_BLK, ??bb00_clear_hosu_hist, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 05H, 00H, 00H
$DGS END_BLK, ??eb00_clear_hosu_hist, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 08H
$DGS END_FUN, ??ef_clear_hosu_hist, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0DH
$DGS GLV_SYM, _hosu_read_end, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0C8H, 00H, 00H
$DGS BEG_FUN, ??bf_hosu_read_end, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0136H, 00H, 0C8H
$DGS END_FUN, ??ef_hosu_read_end, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 03H
$DGS GLV_SYM, _hosu_read, U, U, 0CH, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0DDH, 00H, 00H
$DGS BEG_FUN, ??bf_hosu_read, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0140H, 04H, 0CFH
$DGS AUT_VAR, _dat, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _temp, 00H, 0FFFFH, 0DH, 01H, 00H, 00H
$DGS STA_SYM, _p_record_buffer, ?L0078, U, 0CH, 03H, 00H, 00H
$DGS BEG_BLK, ??bb00_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 06H, 00H, 0D1H
$DGS BEG_BLK, ??bb01_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 023H, 00H, 0D5H
$DGS END_BLK, ??eb01_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 025H
$DGS BEG_BLK, ??bb02_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 027H, 00H, 00H
$DGS END_BLK, ??eb02_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02AH
$DGS END_BLK, ??eb00_hosu_read, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 02DH
$DGS END_FUN, ??ef_hosu_read, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 02EH
$DGS STA_SYM, _DAYS_FROM_HNY, U, U, 0500DH, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 01AH, 0DH, 00H, 00H, 00H, 00H
$DGS GLV_SYM, _get_long_hour, U, U, 0DH, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 0EEH, 00H, 00H
$DGS BEG_FUN, ??bf_get_long_hour, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 017DH, 06H, 0E8H
$DGS AUT_VAR, _long_hour, 04H, 0FFFFH, 0DH, 01H, 00H, 00H
$DGS AUT_VAR, _year_hex, 03H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _month_hex, 02H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _day_hex, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS AUT_VAR, _hour_hex, 00H, 0FFFFH, 0CH, 01H, 00H, 00H
$DGS BEG_BLK, ??bb00_get_long_hour, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 014H, 00H, 00H
$DGS END_BLK, ??eb00_get_long_hour, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 017H
$DGS END_FUN, ??ef_get_long_hour, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 01EH
$DGS GLV_SYM, _p_record, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _last_hour, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _last_day, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _last_month, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _last_year, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _record_read_msb_lsb, U, U, 034CH, 027H, 00H, 00H
$DGS GLV_SYM, _@RTARG0, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _@RTARG2, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _abs, U, U, 04H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 00H, 00H
$DGS GLV_SYM, _@RTARG4, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _@RTARG6, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@lsmul, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _vreg_ctr, U, U, 0CH, 02H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 01H, 01H, 00H, 00H, 00H, 00H
$DGS GLV_SYM, @@lsadd, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@lstof, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _sqrt, U, U, 07H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 01H, 00H
$DGS GLV_SYM, _@RTARG3, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@ftolu, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@ftols, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@lsdiv, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@lsband, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, @@bcdtob, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _pool, U, U, 0DH, 02H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 02H, 01H, 00H, 00H, 00H, 00H
$DGS GLV_SYM, _iic_burst_state, U, U, 0CH, 02H, 00H, 00H
$DGS GLV_SYM, @@bbcd, U, U, 00H, 02H, 00H, 00H
EXTRN _@RTARG0
EXTRN _@RTARG2
EXTRN _abs
EXTRN _@RTARG4
EXTRN _@RTARG6
EXTRN @@lsmul
EXTRN _vreg_ctr
EXTRN @@lsadd
EXTRN @@lstof
EXTRN _sqrt
EXTRN _@RTARG3
EXTRN @@ftolu
EXTRN @@ftols
EXTRN @@lsdiv
EXTRN @@lsband
EXTRN @@bcdtob
EXTRN _pool
EXTRN _iic_burst_state
EXTRN @@bbcd
PUBLIC _pedometer
PUBLIC _p_record
PUBLIC _last_hour
PUBLIC _last_day
PUBLIC _last_month
PUBLIC _last_year
PUBLIC _fill_hosu_hist_hours
PUBLIC _clear_hosu_hist
PUBLIC _record_read_msb_lsb
PUBLIC _hosu_read_end
PUBLIC _hosu_read
PUBLIC _get_long_hour
@@BITS BSEG
_record_read_msb_lsb DBIT
@@CNST CSEG MIRRORP
_lpf_coeff: DB 01H ; 1
DB 02H ; 2
DB 02H ; 2
DB 03H ; 3
DB 03H ; 3
DB 02H ; 2
DB 00H ; 0
DB 0FEH ; 254
DB 0FBH ; 251
DB 0F7H ; 247
DB 0F3H ; 243
DB 0F0H ; 240
DB 0F0H ; 240
DB 0F3H ; 243
DB 0FAH ; 250
DB 04H ; 4
DB 012H ; 18
DB 025H ; 37
DB 038H ; 56
DB 04DH ; 77
DB 05FH ; 95
DB 06EH ; 110
DB 077H ; 119
DB 07AH ; 122
DB 077H ; 119
DB 06EH ; 110
DB 05FH ; 95
DB 04DH ; 77
DB 038H ; 56
DB 025H ; 37
DB 012H ; 18
DB 04H ; 4
DB 0FAH ; 250
DB 0F3H ; 243
DB 0F0H ; 240
DB 0F0H ; 240
DB 0F3H ; 243
DB 0F7H ; 247
DB 0FBH ; 251
DB 0FEH ; 254
DB 00H ; 0
DB 02H ; 2
DB 03H ; 3
DB 03H ; 3
DB 02H ; 2
DB 02H ; 2
DB 01H ; 1
DB (1)
_DAYS_FROM_HNY: DW 00H ; 0
DW 00H ; 0
DW 01FH ; 31
DW 03BH ; 59
DW 05AH ; 90
DW 078H ; 120
DW 097H ; 151
DW 0B5H ; 181
DW 0D4H ; 212
DW 0F3H ; 243
DW 0111H ; 273
DW 0130H ; 304
DW 014EH ; 334
@@R_INIT CSEG UNIT64KP
DW 03A98H ; 15000
DW 02AF8H ; 11000
DB 023H ; 35
DB 030H ; 48
DB 012H ; 18
DB 099H ; 153
@@INIT DSEG BASEP
?L0003: DS (2)
?L0004: DS (2)
_last_hour: DS (1)
_last_day: DS (1)
_last_month: DS (1)
_last_year: DS (1)
@@DATA DSEG BASEP
?L0005: DS (6)
?L0006: DS (2)
?L0007: DS (1)
?L0008: DS (1)
?L0009: DS (2)
?L0010: DS (2)
?L0011: DS (128)
?L0012: DS (1)
?L0013: DS (1)
_p_record: DS (1)
DS (1)
?L0039: DS (2)
?L0078: DS (1)
DS (1)
@@R_INIS CSEG UNIT64KP
@@INIS DSEG SADDRP
@@DATS DSEG SADDRP
@@CNSTL CSEG PAGE64KP
@@RLINIT CSEG UNIT64KP
@@INITL DSEG UNIT64KP
@@DATAL DSEG UNIT64KP
@@CALT CSEG CALLT0
; Sub-Routines created by CC78K0R
ROM_CODE CSEG BASE
bs_S0099:
movw _@RTARG0,ax ;[INF] 2, 1
clrw ax ;[INF] 1, 1
movw _@RTARG2,ax ;[INF] 2, 1
ret ;[INF] 1, 6
es_S0099:
ROM_CODE CSEG BASE
bs_F0097:
clrb b ;[INF] 1, 1
addw ax,bc ;[INF] 1, 1
call !_abs ;[INF] 3, 3
movw ax,bc ;[INF] 1, 1
ret ;[INF] 1, 6
es_F0097:
ROM_CODE CSEG BASE
bs_S0098:
movw ax,_@RTARG0 ;[INF] 2, 1
movw _@RTARG4,ax ;[INF] 2, 1
movw ax,_@RTARG2 ;[INF] 2, 1
movw _@RTARG6,ax ;[INF] 2, 1
ret ;[INF] 1, 6
es_S0098:
ROM_CODE CSEG BASE
bs_S0096:
movw bc,_@RTARG6 ;[INF] 2, 1
push bc ;[INF] 1, 1
movw _@RTARG4,ax ;[INF] 2, 1
clrw ax ;[INF] 1, 1
movw _@RTARG6,ax ;[INF] 2, 1
call !@@lsmul ;[INF] 3, 3
pop ax ;[INF] 1, 1
movw _@RTARG6,ax ;[INF] 2, 1
ret ;[INF] 1, 6
es_S0096:
; *** Sub-Routine Information ***
;
; $SUB bs_S0096
; CODE SIZE= 15 bytes
;
; $SUB bs_F0097
; CODE SIZE= 7 bytes
;
; $SUB bs_S0098
; CODE SIZE= 9 bytes
;
; $SUB bs_S0099
; CODE SIZE= 6 bytes
; End of Sub-Routines
; line 1 : /* ********************************************************
; line 2 :
; line 3 :
; line 4 :
; line 5 :
; line 6 : ********************************************************* */
; line 7 : #pragma MUL
; line 8 : #pragma BCD
; line 9 :
; line 10 : #include "incs.h"
; line 11 : #include <math.h>
; line 12 :
; line 13 : #include "accero.h"
; line 14 : #include "pedometer.h"
; line 15 :
; line 16 :
; line 17 : static void hosu_increment();
; line 18 : u16 get_long_hour();
; line 19 :
; line 20 :
; line 21 :
; line 22 : extern u16 pool[];
; line 23 :
; line 24 :
; line 25 :
; line 26 : /*=========================================================
; line 27 : <20>@<40><><EFBFBD><EFBFBD><EFBFBD>v
; line 28 : ========================================================*/
; line 29 : void pedometer()
; line 30 : {
ROM_CODE CSEG BASE
_pedometer:
$DGL 1,29
push hl ;[INF] 1, 1
subw sp,#024H ;[INF] 2, 1
movw hl,sp ;[INF] 3, 1
??bf_pedometer:
; line 31 : static s16 th_H = 15000; // 臒l<E88792>B<EFBFBD>b<EFBFBD><62><EFBFBD>B<EFBFBD><42><EFBFBD>I<EFBFBD>ύX<CF8D>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c
; <20>̂ŕϐ<C595>
; line 32 : static s16 th_L = 11000;
; line 33 : static u16 acc_norm[3]; // <20><><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD>̑傫<CC91><E582AB><EFBFBD>̃q<CC83>X<EFBFBD>g<EFBFBD><67><EFBFBD>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Â<EFBFBD>
; line 34 : static u16 acc_norm_temp;
; line 35 : static u8 interval_hh; // <20>R-<2D>R<EFBFBD>Ԃ̎<D482><CC8E>ԁB<D481>Z<EFBFBD>߂<EFBFBD><DF82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD>B
; line 36 : static u8 time_l; // <20>O<EFBFBD><4F><EFBFBD>̋ɏ<CC8B><C98F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̌o<CC8C>ߎ<EFBFBD><DF8E><EFBFBD>
; line 37 : static u16 peak_l; // <20>J<EFBFBD>̐[<5B><>
; line 38 : static u16 peak_h; // <20>R<EFBFBD>̍<EFBFBD><CC8D><EFBFBD>
; line 39 : static u16 norm_hist[TAP];
; line 40 :
; line 41 : static u8 hist_indx;
; line 42 : static u8 t_rise;
; line 43 :
; line 44 : signed long filterd;
; line 45 :
; line 46 : u8 i;
; line 47 :
; line 48 : signed long temp1,temp2,temp3;
; line 49 : signed long temp4,temp5,temp6;
; line 50 :
; line 51 : u16 sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ct
; r[VREG_C_ACC_XL] );
$DGL 0,22
mov a,!_vreg_ctr+70 ;[INF] 3, 1
clrb x ;[INF] 1, 1
mov c,!_vreg_ctr+69 ;[INF] 3, 1
call !bs_F0097 ;[INF] 3, 3
movw [hl+4],ax ; sx16 ;[INF] 2, 1
; line 52 : u16 sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ct
; r[VREG_C_ACC_YL] );
$DGL 0,23
mov a,!_vreg_ctr+72 ;[INF] 3, 1
clrb x ;[INF] 1, 1
mov c,!_vreg_ctr+71 ;[INF] 3, 1
call !bs_F0097 ;[INF] 3, 3
movw [hl+2],ax ; sy16 ;[INF] 2, 1
; line 53 : u16 sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ct
; r[VREG_C_ACC_ZL] );
$DGL 0,24
mov a,!_vreg_ctr+74 ;[INF] 3, 1
clrb x ;[INF] 1, 1
mov c,!_vreg_ctr+73 ;[INF] 3, 1
call !bs_F0097 ;[INF] 3, 3
movw [hl],ax ; sz16 ;[INF] 1, 1
; line 54 :
; line 55 : // <20>x<EFBFBD>N<EFBFBD>g<EFBFBD><67><EFBFBD>̃m<CC83><6D><EFBFBD><EFBFBD>
; line 56 : #ifdef _mcu_
; line 57 : norm_hist[ hist_indx & TAP-1 ] = sqrt( (long)sx16 * ( sx16 /
; 2 ) +
; line 58 : (long)sy16 * ( sy16 /
; 2 ) +
; line 59 : (long)sz16 * ( sz16 /
; 2 )
; line 60 : );
$DGL 0,31
movw ax,[hl+4] ; sx16 ;[INF] 2, 1
call !bs_S0099 ;[INF] 3, 3
movw ax,[hl+4] ; sx16 ;[INF] 2, 1
shrw ax,1 ;[INF] 2, 1
movw _@RTARG4,ax ;[INF] 2, 1
clrw ax ;[INF] 1, 1
movw _@RTARG6,ax ;[INF] 2, 1
call !@@lsmul ;[INF] 3, 3
call !bs_S0098 ;[INF] 3, 3
movw ax,[hl+2] ; sy16 ;[INF] 2, 1
call !bs_S0099 ;[INF] 3, 3
movw ax,[hl+2] ; sy16 ;[INF] 2, 1
shrw ax,1 ;[INF] 2, 1
movw bc,_@RTARG4 ;[INF] 2, 1
push bc ;[INF] 1, 1
call !bs_S0096 ;[INF] 3, 3
pop ax ;[INF] 1, 1
movw _@RTARG4,ax ;[INF] 2, 1
movw ax,_@RTARG6 ;[INF] 2, 1
call !@@lsadd ;[INF] 3, 3
call !bs_S0098 ;[INF] 3, 3
movw ax,[hl] ; sz16 ;[INF] 1, 1
call !bs_S0099 ;[INF] 3, 3
movw ax,[hl] ; sz16 ;[INF] 1, 1
shrw ax,1 ;[INF] 2, 1
movw bc,_@RTARG4 ;[INF] 2, 1
push bc ;[INF] 1, 1
call !bs_S0096 ;[INF] 3, 3
pop ax ;[INF] 1, 1
movw _@RTARG4,ax ;[INF] 2, 1
movw ax,_@RTARG6 ;[INF] 2, 1
call !@@lsadd ;[INF] 3, 3
call !@@lstof ;[INF] 3, 3
movw bc,_@RTARG2 ;[INF] 2, 1
movw ax,_@RTARG0 ;[INF] 2, 1
call !!_sqrt ;[INF] 4, 3
push bc ;[INF] 1, 1
push de ;[INF] 1, 1
mov a,!?L0012 ; hist_indx ;[INF] 3, 1
and a,#03FH ; 63 ;[INF] 2, 1
clrb x ;[INF] 1, 1
shrw ax,7 ;[INF] 2, 1
addw ax,#loww (?L0011) ; norm_hist ;[INF] 3, 1
movw de,ax ;[INF] 1, 1
pop bc ;[INF] 1, 1
pop ax ;[INF] 1, 1
movw _@RTARG0,ax ;[INF] 2, 1
movw ax,bc ;[INF] 1, 1
movw _@RTARG2,ax ;[INF] 2, 1
bt _@RTARG3.7,$?L0014 ;[INF] 4, 5
call !@@ftolu ;[INF] 3, 3
br $?L0015 ;[INF] 2, 3
?L0014:
call !@@ftols ;[INF] 3, 3
?L0015:
movw ax,_@RTARG0 ;[INF] 2, 1
movw [de],ax ;[INF] 1, 1
; line 61 : #endif
; line 62 :
; line 63 : #ifdef _pc_
; line 64 : norm_hist[ hist_indx & TAP-1 ] = normh * 256 + norml;
; line 65 : #endif
; line 66 :
; line 67 : hist_indx += 1;
$DGL 0,38
inc !?L0012 ; hist_indx ;[INF] 3, 2
; line 68 :
; line 69 : // <20>q<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>Ƀt<C983>B<EFBFBD><42><EFBFBD>^<5E><><EFBFBD>|<7C><><EFBFBD>āA<C481><41><EFBFBD><EFBFBD><EFBFBD>̒l<CC92><6C><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD>
; line 70 : filterd = 0;
$DGL 0,41
clrw ax ;[INF] 1, 1
movw [hl+32],ax ; filterd ;[INF] 2, 1
movw [hl+34],ax ; filterd ;[INF] 2, 1
; line 71 : // for( i = 8; i != 55; i++ ) // <20>W<EFBFBD><57><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>΂<EFBFBD><CE82><EFBFBD><EFBFBD>̂<EFBFBD><CC82><EFBFBD>
; line 72 : for( i = 0; i != 46; i++ ) // <20>W<EFBFBD><57><EFBFBD>e<EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B<EFBFBD>p
; <20><><EFBFBD><EFBFBD><EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$DGL 0,43
mov [hl+31],a ; i ;[INF] 2, 1
?L0016:
mov a,[hl+31] ; i ;[INF] 2, 1
cmp a,#02EH ; 46 ;[INF] 2, 1
bz $?L0017 ;[INF] 2, 4
; line 73 : {
??bb00_pedometer:
; line 74 : filterd += (signed long)norm_hist[ ( hist_indx + i ) & T
; AP-1 ] * lpf_coeff[ i ];
$DGL 0,45
mov a,!?L0012 ; hist_indx ;[INF] 3, 1
add a,[hl+31] ; i ;[INF] 2, 1
mov x,a ;[INF] 1, 1
clrb a ;[INF] 1, 1
rolc a,1 ;[INF] 2, 1
mov a,x ;[INF] 1, 1
and a,#03FH ; 63 ;[INF] 2, 1
clrb x ;[INF] 1, 1
shrw ax,7 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
movw ax,?L0011[bc] ; norm_hist ;[INF] 3, 1
call !bs_S0099 ;[INF] 3, 3
mov a,[hl+31] ; i ;[INF] 2, 1
mov b,a ;[INF] 1, 1
mov a,_lpf_coeff[b] ;[INF] 3, 1
sarw ax,8 ;[INF] 2, 1
movw _@RTARG4,ax ;[INF] 2, 1
mov x,a ;[INF] 1, 1
movw _@RTARG6,ax ;[INF] 2, 1
call !@@lsmul ;[INF] 3, 3
movw ax,[hl+32] ; filterd ;[INF] 2, 1
movw _@RTARG4,ax ;[INF] 2, 1
movw ax,[hl+34] ; filterd ;[INF] 2, 1
call !@@lsadd ;[INF] 3, 3
movw ax,_@RTARG2 ;[INF] 2, 1
movw [hl+34],ax ; filterd ;[INF] 2, 1
movw ax,_@RTARG0 ;[INF] 2, 1
movw [hl+32],ax ; filterd ;[INF] 2, 1
??eb00_pedometer:
; line 75 : }
$DGL 0,46
inc [hl+31] ; i ;[INF] 3, 2
br $?L0016 ;[INF] 2, 3
?L0017:
; line 76 :
; line 77 : filterd += (4096)*512;
; line 78 : acc_norm_temp = (s16)( filterd /1024 & 0xFFFF ); // <20><>FIL_CO
; EFF_QUANT<4E><54><EFBFBD><EFBFBD>K<EFBFBD><4B>
$DGL 0,49
movw ax,[hl+32] ; filterd ;[INF] 2, 1
movw _@RTARG0,ax ;[INF] 2, 1
movw ax,[hl+34] ; filterd ;[INF] 2, 1
movw _@RTARG2,ax ;[INF] 2, 1
movw _@RTARG4,#0400H ; 1024 ;[INF] 4, 1
clrw ax ;[INF] 1, 1
call !@@lsdiv ;[INF] 3, 3
movw _@RTARG4,#0FFFFH ; -1 ;[INF] 4, 1
clrw ax ;[INF] 1, 1
call !@@lsband ;[INF] 3, 3
movw ax,_@RTARG0 ;[INF] 2, 1
movw !?L0006,ax ; acc_norm_temp ;[INF] 3, 1
; line 79 : /*
; line 80 : if( acc_norm[0] < acc_norm_temp )
; line 81 : {
; line 82 : t_rise += 1;
; line 83 : if( t_rise == 0 )
; line 84 : t_rise == 254;
; line 85 : }
; line 86 : else
; line 87 : {
; line 88 : t_rise = 0;
; line 89 : }
; line 90 : */
; line 91 : if( acc_norm[0] != acc_norm_temp )
$DGL 0,62
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0006 ; acc_norm_temp ;[INF] 3, 1
bz $?L0019 ;[INF] 2, 4
; line 92 : {
??bb01_pedometer:
; line 93 : acc_norm[2] = acc_norm[1]; // <20>q<EFBFBD>X<EFBFBD>g<EFBFBD><67>
$DGL 0,64
movw ax,!?L0005+2 ; acc_norm ;[INF] 3, 1
movw !?L0005+4,ax ; acc_norm ;[INF] 3, 1
; line 94 : acc_norm[1] = acc_norm[0];
$DGL 0,65
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
movw !?L0005+2,ax ; acc_norm ;[INF] 3, 1
; line 95 : acc_norm[0] = acc_norm_temp;
$DGL 0,66
movw ax,!?L0006 ; acc_norm_temp ;[INF] 3, 1
movw !?L0005,ax ; acc_norm ;[INF] 3, 1
??eb01_pedometer:
; line 96 : }
?L0019:
; line 97 :
; line 98 : if( acc_norm[2] <= acc_norm[1] && acc_norm[1] > acc_norm[0]
; line 99 : && acc_norm[0] > th_H )
$DGL 0,70
movw ax,!?L0005+2 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0005+4 ; acc_norm ;[INF] 3, 1
bc $?L0021 ;[INF] 2, 4
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0005+2 ; acc_norm ;[INF] 3, 1
bnc $?L0021 ;[INF] 2, 4
movw ax,!?L0003 ; th_H ;[INF] 3, 1
cmpw ax,!?L0005 ; acc_norm ;[INF] 3, 1
bnc $?L0021 ;[INF] 2, 4
; line 100 : // <20>ɑ<EFBFBD><C991>ŁA臒l<E88792>𒴂<EFBFBD><F092B482>Ă<EFBFBD><C482><EFBFBD>
; line 101 : {
??bb02_pedometer:
; line 102 : if( 21 < interval_hh )
$DGL 0,73
cmp !?L0007,#016H ; interval_hh,22 ;[INF] 4, 1
bc $?L0023 ;[INF] 2, 4
; line 103 : // <20>O<EFBFBD><4F><EFBFBD>̋ɑ<C991><E582A9><EFBFBD>̊Ԋu<D48A><75><EFBFBD>قǂ悢
; line 104 : {
??bb03_pedometer:
; line 105 : if(( interval_hh < 160 ) && ( time_l < interval_hh )
; )
$DGL 0,76
cmp !?L0007,#0A0H ; interval_hh,160 ;[INF] 4, 1
bnc $?L0027 ;[INF] 2, 4
mov a,!?L0008 ; time_l ;[INF] 3, 1
cmp a,!?L0007 ; interval_hh ;[INF] 3, 1
bnc $?L0027 ;[INF] 2, 4
; line 106 : // <20>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD>
; line 107 : {
??bb04_pedometer:
; line 108 : if( acc_norm[0] - peak_l > 4200 ){
$DGL 0,79
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
subw ax,!?L0009 ; peak_l ;[INF] 3, 1
cmpw ax,#01069H ; 4201 ;[INF] 3, 1
skc ;[INF] 2, 1
??bb05_pedometer:
; line 109 : // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD>
; line 110 : hosu_increment();
$DGL 0,81
call !_hosu_increment ;[INF] 3, 3
??eb05_pedometer:
; line 111 : }
?L0027:
; line 112 : }
??eb04_pedometer:
; line 113 : interval_hh = 0;
$DGL 0,84
clrb !?L0007 ; interval_hh ;[INF] 3, 1
??eb03_pedometer:
; line 114 : }
?L0023:
; line 115 : if( acc_norm[0] > 18000 )
$DGL 0,86
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
cmpw ax,#04651H ; 18001 ;[INF] 3, 1
bc $?L0029 ;[INF] 2, 4
; line 116 : {
??bb06_pedometer:
; line 117 : th_L = acc_norm[0] - 10000;
$DGL 0,88
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
subw ax,#02710H ; 10000 ;[INF] 3, 1
movw !?L0004,ax ; th_L ;[INF] 3, 1
??eb06_pedometer:
; line 118 : }
$DGL 0,89
br $?L0022 ;[INF] 2, 3
?L0029:
; line 119 : else
; line 120 : {
??bb07_pedometer:
; line 121 : th_L = 11000;
$DGL 0,92
movw ax,#02AF8H ; 11000 ;[INF] 3, 1
movw !?L0004,ax ; th_L ;[INF] 3, 1
??eb07_pedometer:
; line 122 : }
; line 123 : }
$DGL 0,94
??eb02_pedometer:
br $?L0022 ;[INF] 2, 3
?L0021:
; line 124 : else
; line 125 : {
??bb08_pedometer:
; line 126 : interval_hh += ( interval_hh != 255 ) ? 1: 0; // <20>O<EFBFBD>a<EFBFBD><61><EFBFBD>Z
; <20><><EFBFBD>Ċy<C48A>ɏ<EFBFBD><C98F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E782A2><EFBFBD>̂<EFBFBD>
$DGL 0,97
cmp !?L0007,#0FFH ; interval_hh,255 ;[INF] 4, 1
bz $?L0031 ;[INF] 2, 4
onew ax ;[INF] 1, 1
br $?L0032 ;[INF] 2, 3
?L0031:
clrw ax ;[INF] 1, 1
?L0032:
movw de,#loww (?L0007) ; interval_hh ;[INF] 3, 1
mov a,[de] ;[INF] 1, 1
add a,x ;[INF] 2, 1
mov [de],a ;[INF] 1, 1
??eb08_pedometer:
; line 127 : }
?L0022:
; line 128 :
; line 129 : // (2) <20><><EFBFBD>߂̋ɏ<CC8B><C98F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̎<EFBFBD><CC8E><EFBFBD>
; line 130 : if( acc_norm[2] >= acc_norm[1] && acc_norm[1] < acc_norm[0]
; line 131 : && acc_norm[0] < th_L )
$DGL 0,102
movw ax,!?L0005+4 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0005+2 ; acc_norm ;[INF] 3, 1
bc $?L0033 ;[INF] 2, 4
movw ax,!?L0005+2 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0005 ; acc_norm ;[INF] 3, 1
bnc $?L0033 ;[INF] 2, 4
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
cmpw ax,!?L0004 ; th_L ;[INF] 3, 1
bnc $?L0033 ;[INF] 2, 4
; line 132 : {
??bb09_pedometer:
; line 133 : // <20>ɏ<EFBFBD><C98F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o
; line 134 : time_l = 0;
$DGL 0,105
clrb !?L0008 ; time_l ;[INF] 3, 1
; line 135 : peak_l = acc_norm[0];
$DGL 0,106
movw ax,!?L0005 ; acc_norm ;[INF] 3, 1
movw !?L0009,ax ; peak_l ;[INF] 3, 1
??eb09_pedometer:
; line 136 : }
$DGL 0,107
br $?L0034 ;[INF] 2, 3
?L0033:
; line 137 : else
; line 138 : {
??bb0A_pedometer:
; line 139 : time_l += ( time_l != 255 ) ? 1: 0;
$DGL 0,110
cmp !?L0008,#0FFH ; time_l,255 ;[INF] 4, 1
bz $?L0035 ;[INF] 2, 4
onew ax ;[INF] 1, 1
br $?L0036 ;[INF] 2, 3
?L0035:
clrw ax ;[INF] 1, 1
?L0036:
movw de,#loww (?L0008) ; time_l ;[INF] 3, 1
mov a,[de] ;[INF] 1, 1
add a,x ;[INF] 2, 1
mov [de],a ;[INF] 1, 1
??eb0A_pedometer:
; line 140 : }
?L0034:
; line 141 :
; line 142 : {
??bb0B_pedometer:
??eb0B_pedometer:
; line 143 : /*
; line 144 : static u8 i = 0;
; line 145 :
; line 146 : vreg_ctr[VREG_C_FREE_0] = i++;
; line 147 :
; line 148 : vreg_ctr[VREG_C_FREE_1] = (u8)( acc_norm[0] / 256 & 0x00
; FF );
; line 149 : vreg_ctr[VREG_C_FREE_2] = (u8)( acc_norm[0] & 0x00FF );
; line 150 :
; line 151 : vreg_ctr[VREG_C_FREE_3] = (u8)( norm_hist[ hist_indx -1
; & TAP-1 ] / 256 & 0xFF );
; line 152 : vreg_ctr[VREG_C_FREE_4] = (u8)( norm_hist[ hist_indx -1
; & TAP-1 ] & 0xFF );
; line 153 :
; line 154 : vreg_ctr[VREG_C_FREE_5] = interval_hh;
; line 155 : vreg_ctr[VREG_C_FREE_6] = time_l;
; line 156 :
; line 157 : vreg_ctr[VREG_C_FREE_7] = vreg_ctr[ VREG_C_ACC_HOSU_L ];
; line 158 : vreg_ctr[VREG_C_FREE_8] = (u8)( peak_l / 256 & 0x00FF );
; line 159 : vreg_ctr[VREG_C_FREE_9] = (u8)( peak_l & 0x00FF );
; line 160 : // vreg_ctr[VREG_C_FREE_A] = (u8)( norm_avg[0] / 256 & 0x
; 00FF );
; line 161 : // vreg_ctr[VREG_C_FREE_B] = (u8)( norm_avg[0] &
; 0x00FF );
; line 162 : */
; line 163 : }
; line 164 : }
$DGL 0,135
??ef_pedometer:
addw sp,#024H ;[INF] 2, 1
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_pedometer:
; line 165 :
; line 166 :
; line 167 :
; line 168 : /*=========================================================
; line 169 : <20>@<40><><EFBFBD><EFBFBD><EFBFBD>{<7B>P
; line 170 : <20>@<40>@<40>ݐς<DD90><CF82>C<EFBFBD><43><EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g
; line 171 : <20>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<EFBFBD>V
; line 172 : ========================================================*/
; line 173 : u8 p_record;
; line 174 : u8 last_hour = 0x23; // <20><><EFBFBD><EFBFBD><EFBFBD>̍ŐV<C590>͉<EFBFBD><CD89><EFBFBD><EFBFBD>H
; line 175 : u8 last_day = 0x30;
; line 176 : u8 last_month = 0x12;
; line 177 : u8 last_year = 0x99;
; line 178 :
; line 179 : #define HOSU_NODATA 0xFFFF
; line 180 : #define HOSU_MAX 0xFFFE
; line 181 :
; line 182 : static void hosu_increment()
; line 183 : {
_hosu_increment:
$DGL 1,107
push hl ;[INF] 1, 1
subw sp,#06H ;[INF] 2, 1
movw hl,sp ;[INF] 3, 1
??bf_hosu_increment:
; line 184 : static u16 last_hour_fny;
; line 185 :
; line 186 : // <20>ݐς̍X<CC8D>V //
; line 187 : // <20><><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD><73><EFBFBD><EFBFBD>...
; line 188 : if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 )
$DGL 0,6
inc !_vreg_ctr+75 ;[INF] 3, 2
cmp0 !_vreg_ctr+75 ;[INF] 3, 1
bnz $?L0044 ;[INF] 2, 4
; line 189 : {
??bb00_hosu_increment:
; line 190 : if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 )
$DGL 0,8
inc !_vreg_ctr+76 ;[INF] 3, 2
cmp0 !_vreg_ctr+76 ;[INF] 3, 1
bnz $?L0044 ;[INF] 2, 4
; line 191 : {
??bb01_hosu_increment:
; line 192 : if( ++vreg_ctr[ VREG_C_ACC_HOSU_H ] == 0 ){
$DGL 0,10
inc !_vreg_ctr+77 ;[INF] 3, 2
cmp0 !_vreg_ctr+77 ;[INF] 3, 1
bnz $?L0044 ;[INF] 2, 4
??bb02_hosu_increment:
; line 193 : vreg_ctr[ VREG_C_ACC_HOSU_L ] = 255; // <20>J<EFBFBD><4A><EFBFBD>X<EFBFBD>g
; orz
$DGL 0,11
mov !_vreg_ctr+75,#0FFH ; 255 ;[INF] 4, 1
; line 194 : vreg_ctr[ VREG_C_ACC_HOSU_M ] = 255;
$DGL 0,12
mov !_vreg_ctr+76,#0FFH ; 255 ;[INF] 4, 1
; line 195 : vreg_ctr[ VREG_C_ACC_HOSU_H ] = 255;
$DGL 0,13
mov !_vreg_ctr+77,#0FFH ; 255 ;[INF] 4, 1
??eb02_hosu_increment:
; line 196 : }
?L0044:
??eb01_hosu_increment:
; line 197 : }
??eb00_hosu_increment:
; line 198 : }
; line 199 :
; line 200 : {
??bb03_hosu_increment:
; line 201 : // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̍X<CC8D>V /////////////////////////////
; line 202 : // <20>󔒂̎<F3949282><CC8E>Ԃ<EFBFBD><D482>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>P<EFBFBD><50><EFBFBD>Ԉȏ<D488><C88F><EFBFBD><EFBFBD>u<EFBFBD><75><EFBFBD><EFBFBD>ȂǁB
; line 203 : u16 now_hour;
; line 204 : u8 now_year;
; line 205 :
; line 206 : // <20><><EFBFBD>v<EFBFBD><76><EFBFBD>~<7E>߂<EFBFBD><DF82>K<EFBFBD>v<EFBFBD><76><EFBFBD>L<EFBFBD><4C><EFBFBD>̂Ł<CC82><C581>͈<EFBFBD><CD88>C<EFBFBD>ɍs<C98D><73><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD>
; line 207 : DI();
$DGL 0,25
di ;[INF] 3, 4
; line 208 : RWAIT = 1;
$DGL 0,26
set1 RTCC1.0 ;[INF] 3, 2
; line 209 : while( !RWST ){;}
$DGL 0,27
?L0046:
bt RTCC1.1,$?L0047 ;[INF] 4, 5
??bb04_hosu_increment:
??eb04_hosu_increment:
br $?L0046 ;[INF] 2, 3
?L0047:
; line 210 : now_year = bcdtob( YEAR );
$DGL 0,28
mov a,YEAR ;[INF] 2, 1
call !@@bcdtob ;[INF] 3, 3
mov [hl+3],a ; now_year ;[INF] 2, 1
; line 211 : last_hour = HOUR; // <20><><EFBFBD><EFBFBD><EFBFBD>ǂݏo<DD8F><6F><EFBFBD><EFBFBD><EFBFBD>Ɏg<C98E>p<EFBFBD>BBCD<43>̂܂<CC82>
; <20>ł悢
$DGL 0,29
mov a,HOUR ;[INF] 2, 1
mov !_last_hour,a ;[INF] 3, 1
; line 212 : last_day = DAY;
$DGL 0,30
mov a,DAY ;[INF] 2, 1
mov !_last_day,a ;[INF] 3, 1
; line 213 : last_month = MONTH;
$DGL 0,31
mov a,MONTH ;[INF] 2, 1
mov !_last_month,a ;[INF] 3, 1
; line 214 : now_hour = get_long_hour();
$DGL 0,32
call !_get_long_hour ;[INF] 3, 3
movw ax,bc ;[INF] 1, 1
movw [hl+4],ax ; now_hour ;[INF] 2, 1
; line 215 : // RWAIT = 0; <20><><EFBFBD>ōs<C58D><73><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD>
; line 216 : // EI(); <20>V
; line 217 :
; line 218 : // <20><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD><76><EFBFBD>~<7E>܂<EFBFBD><DC82>Ă<EFBFBD><C482><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><D482>l<EFBFBD><6C><EFBFBD><EFBFBD><EFBFBD>ĕK<C495>v<EFBFBD>Ȃ<EFBFBD><C882>i<EFBFBD>߂<EFBFBD> //
; line 219 : if( last_year == now_year )
$DGL 0,37
mov a,!_last_year ;[INF] 3, 1
cmp a,[hl+3] ; now_year ;[INF] 2, 1
bnz $?L0048 ;[INF] 2, 4
; line 220 : {
??bb05_hosu_increment:
; line 221 : if( now_hour > last_hour_fny )
$DGL 0,39
movw ax,!?L0039 ; last_hour_fny ;[INF] 3, 1
cmpw ax,[hl+4] ; now_hour ;[INF] 3, 1
bnc $?L0056 ;[INF] 2, 4
; line 222 : {
??bb06_hosu_increment:
; line 223 : fill_hosu_hist_hours( now_hour - last_hour_fny )
; ;
$DGL 0,41
movw ax,[hl+4] ; now_hour ;[INF] 2, 1
subw ax,!?L0039 ; last_hour_fny ;[INF] 3, 1
call !_fill_hosu_hist_hours ;[INF] 3, 3
??eb06_hosu_increment:
; line 224 : }
; line 225 : }
$DGL 0,43
??eb05_hosu_increment:
br $?L0056 ;[INF] 2, 3
?L0048:
; line 226 : else if( last_year == ( now_year -1 ) )
$DGL 0,44
mov a,[hl+3] ; now_year ;[INF] 2, 1
shrw ax,8 ;[INF] 2, 1
decw ax ;[INF] 1, 1
movw bc,ax ;[INF] 1, 1
mov x,!_last_year ;[INF] 3, 1
clrb a ;[INF] 1, 1
cmpw ax,bc ;[INF] 1, 1
bnz $?L0052 ;[INF] 2, 4
; line 227 : {
??bb07_hosu_increment:
; line 228 : // <20>N<EFBFBD><4E><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>Ƃ<EFBFBD>
; line 229 : u16 temp_hours = ( ( 365 + (( now_year & 0x03 ) ==
; 1 ? 1: 0 )) * 24 ) - last_hour_fny + now_hour;
$DGL 0,47
mov a,[hl+3] ; now_year ;[INF] 2, 1
and a,#03H ; 3 ;[INF] 2, 1
dec a ;[INF] 1, 1
bnz $?L0054 ;[INF] 2, 4
onew ax ;[INF] 1, 1
br $?L0055 ;[INF] 2, 3
?L0054:
clrw ax ;[INF] 1, 1
?L0055:
addw ax,#016DH ; 365 ;[INF] 3, 1
shlw ax,3 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
addw ax,ax ;[INF] 1, 1
addw ax,bc ;[INF] 1, 1
subw ax,!?L0039 ; last_hour_fny ;[INF] 3, 1
addw ax,[hl+4] ; now_hour ;[INF] 3, 1
movw [hl],ax ; temp_hours ;[INF] 1, 1
; line 230 : fill_hosu_hist_hours( temp_hours );
$DGL 0,48
call !_fill_hosu_hist_hours ;[INF] 3, 3
??eb07_hosu_increment:
; line 231 : }
$DGL 0,49
br $?L0056 ;[INF] 2, 3
?L0052:
; line 232 : else if( last_year < now_year )
$DGL 0,50
mov a,!_last_year ;[INF] 3, 1
cmp a,[hl+3] ; now_year ;[INF] 2, 1
bnc $?L0056 ;[INF] 2, 4
; line 233 : {
??bb08_hosu_increment:
; line 234 : // <20><><EFBFBD>N<EFBFBD><4E><EFBFBD>u
; line 235 : fill_hosu_hist_hours( 0 );
$DGL 0,53
clrw ax ;[INF] 1, 1
call !_fill_hosu_hist_hours ;[INF] 3, 3
??eb08_hosu_increment:
; line 236 : }
?L0056:
; line 237 : else
; line 238 : {
??bb09_hosu_increment:
??eb09_hosu_increment:
; line 239 : // <20>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD>_<EFBFBD>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߂<EFBFBD><DF82>Ȃ<EFBFBD>
; line 240 : // <20>m<EFBFBD>[<5B>P<EFBFBD>A<EFBFBD>ł悢
; line 241 : }
; line 242 : last_year = now_year;
$DGL 0,60
mov a,[hl+3] ; now_year ;[INF] 2, 1
mov !_last_year,a ;[INF] 3, 1
; line 243 : last_hour_fny = now_hour;
$DGL 0,61
movw ax,[hl+4] ; now_hour ;[INF] 2, 1
movw !?L0039,ax ; last_hour_fny ;[INF] 3, 1
; line 244 :
; line 245 : // <20><><EFBFBD>ۂɃC<C983><43><EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g
; line 246 : if( pool[ p_record ] == HOSU_NODATA )
$DGL 0,64
mov x,!_p_record ;[INF] 3, 1
clrb a ;[INF] 1, 1
addw ax,ax ;[INF] 1, 1
addw ax,#loww (_pool) ;[INF] 3, 1
movw de,ax ;[INF] 1, 1
movw ax,[de] ;[INF] 1, 1
cmpw ax,#0FFFFH ; -1 ;[INF] 3, 1
bnz $?L0058 ;[INF] 2, 4
; line 247 : {
??bb0A_hosu_increment:
; line 248 : pool[ p_record ] = 1;
$DGL 0,66
onew ax ;[INF] 1, 1
movw [de],ax ;[INF] 1, 1
??eb0A_hosu_increment:
; line 249 : }
$DGL 0,67
br $?L0060 ;[INF] 2, 3
?L0058:
; line 250 : else if( pool[ p_record ] != HOSU_MAX )
$DGL 0,68
mov x,!_p_record ;[INF] 3, 1
clrb a ;[INF] 1, 1
addw ax,ax ;[INF] 1, 1
addw ax,#loww (_pool) ;[INF] 3, 1
movw de,ax ;[INF] 1, 1
movw ax,[de] ;[INF] 1, 1
cmpw ax,#0FFFEH ; -2 ;[INF] 3, 1
bz $?L0060 ;[INF] 2, 4
; line 251 : {
??bb0B_hosu_increment:
; line 252 : pool[ p_record ] += 1;
$DGL 0,70
movw ax,[de] ;[INF] 1, 1
incw ax ;[INF] 1, 1
movw [de],ax ;[INF] 1, 1
??eb0B_hosu_increment:
; line 253 : }
?L0060:
??eb03_hosu_increment:
; line 254 : }
; line 255 : }
$DGL 0,73
??ef_hosu_increment:
addw sp,#06H ;[INF] 2, 1
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_hosu_increment:
; line 256 :
; line 257 :
; line 258 :
; line 259 : /* ========================================================
; line 260 : <20>󔒂̎<F3949282><CC8E>Ԃ<EFBFBD><D482>K<EFBFBD>؂<EFBFBD>0<EFBFBD>ɂ<EFBFBD><C982>āA
; line 261 : <20><><EFBFBD><EFBFBD><EFBFBD>܂ނP<DE82><50><EFBFBD>Ԃ̃f<CC83>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʒu<CA92>Ƀ|<7C>C<EFBFBD><43><EFBFBD>^<5E>H<EFBFBD><48><EFBFBD>i<EFBFBD>߂<EFBFBD>
; line 262 : ======================================================== */
; line 263 : void fill_hosu_hist_hours( u16 hours )
; line 264 : {
_fill_hosu_hist_hours:
$DGL 1,168
push hl ;[INF] 1, 1
movw hl,ax ;[INF] 1, 1
??bf_fill_hosu_hist_hours:
; line 265 : if( hours > 255 )
$DGL 0,2
movw ax,hl ;[INF] 1, 1
cmpw ax,#0100H ; 256 ;[INF] 3, 1
bc $?L0064 ;[INF] 2, 4
; line 266 : {
??bb00_fill_hosu_hist_hours:
; line 267 : hours = 0;
$DGL 0,4
clrw ax ;[INF] 1, 1
movw hl,ax ;[INF] 1, 1
??eb00_fill_hosu_hist_hours:
; line 268 : }
?L0064:
; line 269 :
; line 270 : // <20>󔒂̐<F3949282><CC90><EFBFBD><EFBFBD>Ԃ̐ݒ<CC90>
; line 271 : do
; line 272 : {
??bb01_fill_hosu_hist_hours:
; line 273 : p_record += 1;
$DGL 0,10
inc !_p_record ;[INF] 3, 2
; line 274 : pool[ p_record ] = 0;
$DGL 0,11
mov c,!_p_record ;[INF] 3, 1
clrb b ;[INF] 1, 1
shlw bc,1 ;[INF] 2, 1
clrw ax ;[INF] 1, 1
movw _pool[bc],ax ;[INF] 3, 1
; line 275 : hours -= 1;
$DGL 0,12
decw hl ;[INF] 1, 1
??eb01_fill_hosu_hist_hours:
; line 276 : }
; line 277 : while( hours != 0 );
$DGL 0,14
clrw ax ;[INF] 1, 1
cmpw ax,hl ;[INF] 1, 1
bnz $?L0064 ;[INF] 2, 4
; line 278 : }
$DGL 0,15
??ef_fill_hosu_hist_hours:
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_fill_hosu_hist_hours:
; line 279 :
; line 280 :
; line 281 :
; line 282 : /* ========================================================
; line 283 : <20>󔒂̎<F3949282><CC8E>Ԃ<EFBFBD><D482>K<EFBFBD>؂<EFBFBD>0<EFBFBD>ɂ<EFBFBD><C982>āA
; line 284 : <20><><EFBFBD><EFBFBD><EFBFBD>܂ނP<DE82><50><EFBFBD>Ԃ̃f<CC83>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʒu<CA92>Ƀ|<7C>C<EFBFBD><43><EFBFBD>^<5E>H<EFBFBD><48><EFBFBD>i<EFBFBD>߂<EFBFBD>
; line 285 : ======================================================== */
; line 286 : void clear_hosu_hist()
; line 287 : {
_clear_hosu_hist:
$DGL 1,183
push hl ;[INF] 1, 1
??bf_clear_hosu_hist:
; line 288 : u8 hours = 0;
$DGL 0,2
mov l,#00H ; 0 ;[INF] 2, 1
; line 289 : // <20>󔒂̐<F3949282><CC90><EFBFBD><EFBFBD>Ԃ̐ݒ<CC90>
; line 290 : do
?L0071:
; line 291 : {
??bb00_clear_hosu_hist:
; line 292 : pool[ hours ] = 0xFFFF;
$DGL 0,6
mov a,l ;[INF] 1, 1
clrb x ;[INF] 1, 1
shrw ax,7 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
clrw ax ;[INF] 1, 1
decw ax ;[INF] 1, 1
movw _pool[bc],ax ;[INF] 3, 1
; line 293 : hours -= 1;
$DGL 0,7
dec l ;[INF] 1, 1
??eb00_clear_hosu_hist:
; line 294 : }
; line 295 : while( hours != 0 );
$DGL 0,9
mov a,l ;[INF] 1, 1
cmp0 a ;[INF] 1, 1
bnz $?L0071 ;[INF] 2, 4
; line 296 : vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0;
$DGL 0,10
clrb !_vreg_ctr+75 ;[INF] 3, 1
; line 297 : vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0;
$DGL 0,11
clrb !_vreg_ctr+76 ;[INF] 3, 1
; line 298 : vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0;
$DGL 0,12
clrb !_vreg_ctr+77 ;[INF] 3, 1
; line 299 : }
$DGL 0,13
??ef_clear_hosu_hist:
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_clear_hosu_hist:
; line 300 :
; line 301 :
; line 302 : extern u8 iic_burst_state;
; line 303 : bit record_read_msb_lsb;
; line 304 :
; line 305 : /* ========================================================
; line 306 : <20><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>q<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>ǂݏo<DD8F><6F><EFBFBD>̌㏈<CC8C><E38F88>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
; line 307 : <20>ǂݏo<DD8F><6F><EFBFBD>|<7C>C<EFBFBD><43><EFBFBD>^<5E>̃N<CC83><4E><EFBFBD>A
; line 308 : ======================================================== */
; line 309 : void hosu_read_end( )
; line 310 : {
_hosu_read_end:
$DGL 1,194
??bf_hosu_read_end:
; line 311 : record_read_msb_lsb = 0;
$DGL 0,2
clr1 _record_read_msb_lsb ;[INF] 3, 2
; line 312 : }
$DGL 0,3
??ef_hosu_read_end:
ret ;[INF] 1, 6
??ee_hosu_read_end:
; line 313 :
; line 314 :
; line 315 : /* ========================================================
; line 316 : <20><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>̃q<CC83>X<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>Ԃ<EFBFBD><D482>B
; line 317 : <20>P<EFBFBD><50><EFBFBD>Ăԓx<D493>ɁA<C981>q<EFBFBD>X<EFBFBD>g<EFBFBD><67><EFBFBD>̉<EFBFBD><CC89>ʁA<CA81><41><EFBFBD>ʁA<CA81><EFBFBD>ԑk<D491><6B><EFBFBD>ĉ<EFBFBD><C489>ʏ<EFBFBD><CA8F><EFBFBD>...
; line 318 : ======================================================== */
; line 319 : u8 hosu_read( )
; line 320 : {
_hosu_read:
$DGL 1,200
push hl ;[INF] 1, 1
subw sp,#04H ;[INF] 2, 1
movw hl,sp ;[INF] 3, 1
??bf_hosu_read:
; line 321 : u8 dat;
; line 322 : u16 temp;
; line 323 : static u8 p_record_buffer;
; line 324 :
; line 325 : switch( iic_burst_state ){
$DGL 0,6
mov x,!_iic_burst_state ;[INF] 3, 1
clrb a ;[INF] 1, 1
onew bc ;[INF] 1, 1
subw ax,#00H ; 0 ;[INF] 3, 1
bz $?L0080 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0081 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0082 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0083 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0084 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0085 ;[INF] 2, 4
br $?L0086 ;[INF] 2, 3
??bb00_hosu_read:
; line 326 : case( 0 ):
?L0080:
; line 327 : p_record_buffer = p_record;
$DGL 0,8
mov a,!_p_record ;[INF] 3, 1
mov !?L0078,a ; p_record_buffer ;[INF] 3, 1
; line 328 : iic_burst_state += 1;
$DGL 0,9
inc !_iic_burst_state ;[INF] 3, 2
; line 329 : return( last_hour );
$DGL 0,10
mov x,!_last_hour ;[INF] 3, 1
clrb a ;[INF] 1, 1
movw bc,ax ;[INF] 1, 1
br $?L0079 ;[INF] 2, 3
; line 330 :
; line 331 : case( 1 ):
?L0081:
; line 332 : iic_burst_state += 1;
$DGL 0,13
inc !_iic_burst_state ;[INF] 3, 2
; line 333 : return( last_day );
$DGL 0,14
mov x,!_last_day ;[INF] 3, 1
clrb a ;[INF] 1, 1
movw bc,ax ;[INF] 1, 1
br $?L0079 ;[INF] 2, 3
; line 334 :
; line 335 : case( 2 ):
?L0082:
; line 336 : iic_burst_state += 1;
$DGL 0,17
inc !_iic_burst_state ;[INF] 3, 2
; line 337 : return( last_month );
$DGL 0,18
mov x,!_last_month ;[INF] 3, 1
clrb a ;[INF] 1, 1
movw bc,ax ;[INF] 1, 1
br $?L0079 ;[INF] 2, 3
; line 338 :
; line 339 : case( 3 ):
?L0083:
; line 340 : iic_burst_state += 1;
$DGL 0,21
inc !_iic_burst_state ;[INF] 3, 2
; line 341 : return( btobcd(last_year) );
$DGL 0,22
mov a,!_last_year ;[INF] 3, 1
call !@@bbcd ;[INF] 3, 3
shrw ax,8 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
br $?L0079 ;[INF] 2, 3
; line 342 :
; line 343 : case( 4 ):
?L0084:
; line 344 : iic_burst_state += 1;
$DGL 0,25
inc !_iic_burst_state ;[INF] 3, 2
; line 345 : return( 0x55 ); // reserved dummy
$DGL 0,26
movw bc,#055H ; 85 ;[INF] 3, 1
br $?L0079 ;[INF] 2, 3
; line 346 :
; line 347 : case( 5 ):
?L0085:
; line 348 : iic_burst_state += 1;
$DGL 0,29
inc !_iic_burst_state ;[INF] 3, 2
; line 349 : return( 0xAA ); // reserved. dummy
$DGL 0,30
movw bc,#0AAH ; 170 ;[INF] 3, 1
br $?L0079 ;[INF] 2, 3
; line 350 :
; line 351 : default:
?L0086:
; line 352 : temp = pool[ p_record_buffer ];
$DGL 0,33
mov c,!?L0078 ; p_record_buffer ;[INF] 3, 1
clrb b ;[INF] 1, 1
shlw bc,1 ;[INF] 2, 1
movw ax,_pool[bc] ;[INF] 3, 1
movw [hl],ax ; temp ;[INF] 1, 1
; line 353 : if( record_read_msb_lsb == 0 )
$DGL 0,34
bt _record_read_msb_lsb,$?L0089 ;[INF] 4, 5
; line 354 : {
??bb01_hosu_read:
; line 355 : dat = (u8)( temp & 0x00FF );
$DGL 0,36
mov a,[hl] ; temp ;[INF] 1, 1
mov [hl+3],a ; dat ;[INF] 2, 1
??eb01_hosu_read:
; line 356 : }
$DGL 0,37
br $?L0090 ;[INF] 2, 3
?L0089:
; line 357 : else
; line 358 : {
??bb02_hosu_read:
; line 359 : dat = (u8)(( temp >> 8 ) & 0x00FF );
$DGL 0,40
mov a,[hl+1] ; temp ;[INF] 2, 1
mov [hl+3],a ; dat ;[INF] 2, 1
; line 360 : p_record_buffer -= 1;
$DGL 0,41
dec !?L0078 ; p_record_buffer ;[INF] 3, 2
??eb02_hosu_read:
; line 361 : }
?L0090:
; line 362 : record_read_msb_lsb += 1;
$DGL 0,43
set1 CY ;[INF] 2, 1
xor1 CY,_record_read_msb_lsb ;[INF] 3, 1
rolc a,1 ;[INF] 2, 1
rorc a,1 ;[INF] 2, 1
mov1 _record_read_msb_lsb,CY ;[INF] 3, 2
; line 363 : return( dat );
$DGL 0,44
mov a,[hl+3] ; dat ;[INF] 2, 1
shrw ax,8 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
??eb00_hosu_read:
; line 364 : }
?L0079:
; line 365 : }
$DGL 0,46
??ef_hosu_read:
addw sp,#04H ;[INF] 2, 1
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_hosu_read:
; line 366 :
; line 367 :
; line 368 :
; line 369 : /* ========================================================
; line 370 : <20><><EFBFBD>N<EFBFBD>̌<EFBFBD><CC8C>U<EFBFBD><55><EFBFBD><EFBFBD><EFBFBD>̌o<CC8C>ߎ<EFBFBD><DF8E><EFBFBD>(hour)<29><><EFBFBD>Ԃ<EFBFBD><D482>B
; line 371 : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
; line 372 : <20>Ԓl u16 long_hour
; line 373 : ======================================================== */
; line 374 : static const u16 DAYS_FROM_HNY[] = {
; line 375 : 0,
; line 376 : 0, 31, 31+28, 59+31, 90+30,
; line 377 : 120+31, 151+30, 181+31, 212+31, 243+30,
; line 378 : 273+31, 304+30 };
; line 379 :
; line 380 : u16 get_long_hour()
; line 381 : {
_get_long_hour:
$DGL 1,223
push hl ;[INF] 1, 1
subw sp,#06H ;[INF] 2, 1
movw hl,sp ;[INF] 3, 1
??bf_get_long_hour:
; line 382 : u16 long_hour;
; line 383 : u8 year_hex;
; line 384 : u8 month_hex;
; line 385 : u8 day_hex;
; line 386 : u8 hour_hex;
; line 387 :
; line 388 : year_hex = bcdtob( YEAR );
$DGL 0,8
mov a,YEAR ;[INF] 2, 1
call !@@bcdtob ;[INF] 3, 3
mov [hl+3],a ; year_hex ;[INF] 2, 1
; line 389 : month_hex = bcdtob( MONTH );
$DGL 0,9
mov a,MONTH ;[INF] 2, 1
call !@@bcdtob ;[INF] 3, 3
mov [hl+2],a ; month_hex ;[INF] 2, 1
; line 390 : day_hex = bcdtob( DAY );
$DGL 0,10
mov a,DAY ;[INF] 2, 1
call !@@bcdtob ;[INF] 3, 3
mov [hl+1],a ; day_hex ;[INF] 2, 1
; line 391 : hour_hex = bcdtob( HOUR );
$DGL 0,11
mov a,HOUR ;[INF] 2, 1
call !@@bcdtob ;[INF] 3, 3
mov [hl],a ; hour_hex ;[INF] 1, 1
; line 392 :
; line 393 : RWAIT = 0;
$DGL 0,13
clr1 RTCC1.0 ;[INF] 3, 2
; line 394 : EI();
$DGL 0,14
ei ;[INF] 3, 4
; line 395 :
; line 396 : // <20>܂<EFBFBD><DC82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̕<EFBFBD><CC95><EFBFBD>
; line 397 : long_hour = DAYS_FROM_HNY[ month_hex ];
$DGL 0,17
mov a,[hl+2] ; month_hex ;[INF] 2, 1
clrb x ;[INF] 1, 1
shrw ax,7 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
movw ax,_DAYS_FROM_HNY[bc] ;[INF] 3, 1
movw [hl+4],ax ; long_hour ;[INF] 2, 1
; line 398 : if(( ( year_hex & 0x03 ) == 0 ) && ( ( 3 <= month_hex )
$DGL 0,18
mov a,[hl+3] ; year_hex ;[INF] 2, 1
and a,#03H ; 3 ;[INF] 2, 1
cmp0 a ;[INF] 1, 1
bnz $?L0093 ;[INF] 2, 4
mov a,[hl+2] ; month_hex ;[INF] 2, 1
cmp a,#03H ; 3 ;[INF] 2, 1
bnc $?L0095 ;[INF] 2, 4
; line 399 : || (( 2 == month_hex )
; && ( day_hex == 29 )) ))
$DGL 0,19
mov a,[hl+2] ; month_hex ;[INF] 2, 1
cmp a,#02H ; 2 ;[INF] 2, 1
bnz $?L0093 ;[INF] 2, 4
mov a,[hl+1] ; day_hex ;[INF] 2, 1
cmp a,#01DH ; 29 ;[INF] 2, 1
sknz ;[INF] 2, 1
?L0095:
; line 400 : {
??bb00_get_long_hour:
; line 401 : // <20>[<5B>N<EFBFBD>ŁA<C581>[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; line 402 : long_hour += 1;
$DGL 0,22
incw [hl+4] ; long_hour ;[INF] 3, 2
??eb00_get_long_hour:
; line 403 : }
?L0093:
; line 404 : long_hour += day_hex - 1;
$DGL 0,24
mov a,[hl+1] ; day_hex ;[INF] 2, 1
shrw ax,8 ;[INF] 2, 1
decw ax ;[INF] 1, 1
addw ax,[hl+4] ; long_hour ;[INF] 3, 1
movw [hl+4],ax ; long_hour ;[INF] 2, 1
; line 405 : long_hour *= 24; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$DGL 0,25
shlw ax,3 ;[INF] 2, 1
movw bc,ax ;[INF] 1, 1
addw ax,ax ;[INF] 1, 1
addw ax,bc ;[INF] 1, 1
movw [hl+4],ax ; long_hour ;[INF] 2, 1
; line 406 :
; line 407 : long_hour += hour_hex;
$DGL 0,27
mov a,[hl+4] ; long_hour ;[INF] 2, 1
add a,[hl] ; hour_hex ;[INF] 1, 1
mov x,a ;[INF] 1, 1
mov a,[hl+5] ; long_hour ;[INF] 2, 1
addc a,#00H ; 0 ;[INF] 2, 1
movw [hl+4],ax ; long_hour ;[INF] 2, 1
; line 408 :
; line 409 : return( long_hour );
$DGL 0,29
movw bc,ax ;[INF] 1, 1
; line 410 : }
$DGL 0,30
??ef_get_long_hour:
addw sp,#06H ;[INF] 2, 1
pop hl ;[INF] 1, 1
ret ;[INF] 1, 6
??ee_get_long_hour:
@@CODEL CSEG
@@BASE CSEG BASE
END
; *** Code Information ***
;
; $FILE C:\78k_data\yav-mcu-basara\branches\0.10(fix)\pedo_alg_thre_det2.c
;
; $FUNC pedometer(30)
; void=(void)
; CODE SIZE= 447 bytes, CLOCK_SIZE= 435 clocks, STACK_SIZE= 50 bytes
;
; $CALL abs(51)
; bc=(int:ax)
;
; $CALL abs(52)
; bc=(int:ax)
;
; $CALL abs(53)
; bc=(int:ax)
;
; $CALL sqrt(60)
; bc,de=(double:ax,bc)
;
; $CALL hosu_increment(110)
; void=(void)
;
; $FUNC hosu_increment(183)
; void=(void)
; CODE SIZE= 213 bytes, CLOCK_SIZE= 166 clocks, STACK_SIZE= 12 bytes
;
; $CALL get_long_hour(214)
; bc=(void)
;
; $CALL fill_hosu_hist_hours(223)
; void=(unsigned short:ax)
;
; $CALL fill_hosu_hist_hours(230)
; void=(unsigned short:ax)
;
; $CALL fill_hosu_hist_hours(235)
; void=(unsigned short:ax)
;
; $FUNC fill_hosu_hist_hours(264)
; void=(unsigned short hours:ax)
; CODE SIZE= 30 bytes, CLOCK_SIZE= 31 clocks, STACK_SIZE= 2 bytes
;
; $FUNC clear_hosu_hist(287)
; void=(void)
; CODE SIZE= 29 bytes, CLOCK_SIZE= 26 clocks, STACK_SIZE= 2 bytes
;
; $FUNC hosu_read_end(310)
; void=(void)
; CODE SIZE= 4 bytes, CLOCK_SIZE= 8 clocks, STACK_SIZE= 0 bytes
;
; $FUNC hosu_read(320)
; bc=(void)
; CODE SIZE= 146 bytes, CLOCK_SIZE= 124 clocks, STACK_SIZE= 10 bytes
;
; $FUNC get_long_hour(381)
; bc=(void)
; CODE SIZE= 110 bytes, CLOCK_SIZE= 84 clocks, STACK_SIZE= 12 bytes
; Target chip : uPD79F0104
; Device file : E1.00b