mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
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
2173 lines
64 KiB
NASM
2173 lines
64 KiB
NASM
; 78K0R C Compiler V2.10 Assembler Source Date:13 Jun 2010 Time:19:31:23
|
||
|
||
; 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 i2c_mcu.c
|
||
; In-file : i2c_mcu.c
|
||
; Asm-file : inter_asm\i2c_mcu.asm
|
||
; Para-file :
|
||
|
||
$PROCESSOR(9F0104)
|
||
$DEBUG
|
||
$NODEBUGA
|
||
$KANJICODE SJIS
|
||
$TOL_INF 03FH, 0210H, 02H, 00H, 00H, 00H, 00H
|
||
|
||
$DGS FIL_NAM, .file, 0100H, 0FFFEH, 03FH, 067H, 01H, 00H
|
||
$DGS AUX_FIL, i2c_mcu.c
|
||
$DGS MOD_NAM, i2c_mcu, 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_F0085, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, es_F0085, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, bs_S0086, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, es_S0086, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, bs_S0087, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, es_S0087, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, bs_F0084, U, U, 00H, 06H, 00H, 00H
|
||
$DGS LAB_SYM, es_F0084, 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, _nop8, U, U, 01H, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 023H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_nop8, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 04CH, 00H, 023H
|
||
$DGS END_FUN, ??ef_nop8, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 02H
|
||
$DGS GLV_SYM, _iic_mcu_read_a_byte, U, U, 0CH, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 03CH, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_read_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 057H, 04H, 02AH
|
||
$DGS FUN_ARG, _SLA, 02H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _adrs, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS AUT_VAR, _dat, 01H, 0FFFFH, 0CH, 01H, 00H, 00H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 05H, 00H, 02EH
|
||
$DGS END_BLK, ??eb00_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0DH
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 010H, 00H, 032H
|
||
$DGS END_BLK, ??eb01_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 012H
|
||
$DGS BEG_BLK, ??bb02_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 019H, 00H, 036H
|
||
$DGS END_BLK, ??eb02_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 01DH
|
||
$DGS BEG_BLK, ??bb03_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 030H, 00H, 00H
|
||
$DGS END_BLK, ??eb03_iic_mcu_read_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 032H
|
||
$DGS END_FUN, ??ef_iic_mcu_read_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 039H
|
||
$DGS GLV_SYM, _iic_mcu_read, U, U, 0CH, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 05FH, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_read, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 09EH, 02H, 045H
|
||
$DGS FUN_ARG, _slave, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _len, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _dest, 0CH, 0FFFFH, 0CH, 09H, 01H, 01H
|
||
$DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 06H, 00H, 049H
|
||
$DGS END_BLK, ??eb00_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0EH
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 010H, 00H, 04DH
|
||
$DGS END_BLK, ??eb01_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 012H
|
||
$DGS BEG_BLK, ??bb02_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 020H, 00H, 051H
|
||
$DGS END_BLK, ??eb02_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 023H
|
||
$DGS BEG_BLK, ??bb03_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 033H, 00H, 053H
|
||
$DGS BEG_BLK, ??bb04_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 035H, 00H, 057H
|
||
$DGS END_BLK, ??eb04_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 037H
|
||
$DGS BEG_BLK, ??bb05_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 03BH, 00H, 00H
|
||
$DGS END_BLK, ??eb05_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 03DH
|
||
$DGS END_BLK, ??eb03_iic_mcu_read, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 041H
|
||
$DGS END_FUN, ??ef_iic_mcu_read, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 049H
|
||
$DGS GLV_SYM, _iic_mcu_write_a_byte, U, U, 0CH, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 074H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_write_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0F2H, 02H, 066H
|
||
$DGS FUN_ARG, _SLA, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _dat, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 04H, 00H, 06AH
|
||
$DGS END_BLK, ??eb00_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0CH
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 0EH, 00H, 06EH
|
||
$DGS END_BLK, ??eb01_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 010H
|
||
$DGS BEG_BLK, ??bb02_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 01AH, 00H, 00H
|
||
$DGS END_BLK, ??eb02_iic_mcu_write_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 01DH
|
||
$DGS END_FUN, ??ef_iic_mcu_write_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 024H
|
||
$DGS GLV_SYM, _iic_mcu_write, U, U, 0CH, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 097H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_write, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0129H, 02H, 07DH
|
||
$DGS FUN_ARG, _slave, 00H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _adrs, 08H, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _len, 0AH, 0FFFFH, 0CH, 09H, 00H, 00H
|
||
$DGS FUN_ARG, _src, 0CH, 0FFFFH, 01H, 09H, 01H, 01H
|
||
$DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 05H, 00H, 081H
|
||
$DGS END_BLK, ??eb00_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0DH
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 0FH, 00H, 085H
|
||
$DGS END_BLK, ??eb01_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 011H
|
||
$DGS BEG_BLK, ??bb02_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 020H, 00H, 089H
|
||
$DGS END_BLK, ??eb02_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 024H
|
||
$DGS BEG_BLK, ??bb03_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 028H, 00H, 08BH
|
||
$DGS BEG_BLK, ??bb04_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 02FH, 00H, 091H
|
||
$DGS END_BLK, ??eb04_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 030H
|
||
$DGS END_BLK, ??eb03_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 03EH
|
||
$DGS BEG_BLK, ??bb05_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 040H, 00H, 00H
|
||
$DGS END_BLK, ??eb05_iic_mcu_write, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 04AH
|
||
$DGS END_FUN, ??ef_iic_mcu_write, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 04CH
|
||
$DGS GLV_SYM, _int_dma1, U, U, 0E001H, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0AAH, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_int_dma1, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0184H, 016H, 09CH
|
||
$DGS REG_VAR, _i, 0103H, 0FFFFH, 010DH, 04H, 00H, 00H
|
||
$DGS BEG_BLK, ??bb00_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 09H, 00H, 09EH
|
||
$DGS BEG_BLK, ??bb01_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 0BH, 00H, 0A4H
|
||
$DGS END_BLK, ??eb01_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0DH
|
||
$DGS END_BLK, ??eb00_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0EH
|
||
$DGS BEG_BLK, ??bb02_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 011H, 00H, 00H
|
||
$DGS END_BLK, ??eb02_int_dma1, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 033H
|
||
$DGS END_FUN, ??ef_int_dma1, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 036H
|
||
$DGS GLV_SYM, _int_iic10, U, U, 0E001H, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0B8H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_int_iic10, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 01C4H, 016H, 0AEH
|
||
$DGS BEG_BLK, ??bb00_int_iic10, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 04H, 00H, 0B2H
|
||
$DGS END_BLK, ??eb00_int_iic10, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 09H
|
||
$DGS BEG_BLK, ??bb01_int_iic10, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 0EH, 00H, 00H
|
||
$DGS END_BLK, ??eb01_int_iic10, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 030H
|
||
$DGS END_FUN, ??ef_int_iic10, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 033H
|
||
$DGS STA_SYM, _iic_mcu_call_slave, U, U, 0CH, 03H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0C3H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_call_slave, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0201H, 02H, 0BDH
|
||
$DGS REG_PAR, _slave, 06H, 0FFFFH, 010CH, 011H, 00H, 00H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_call_slave, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 06H, 00H, 00H
|
||
$DGS END_BLK, ??eb00_iic_mcu_call_slave, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 09H
|
||
$DGS END_FUN, ??ef_iic_mcu_call_slave, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 0CH
|
||
$DGS STA_SYM, _iic_mcu_send_a_byte, U, U, 0CH, 03H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0D2H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_send_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0215H, 02H, 0C8H
|
||
$DGS REG_PAR, _dat, 06H, 0FFFFH, 010CH, 011H, 00H, 00H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 06H, 00H, 0CCH
|
||
$DGS END_BLK, ??eb00_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 08H
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 0AH, 00H, 00H
|
||
$DGS END_BLK, ??eb01_iic_mcu_send_a_byte, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 0DH
|
||
$DGS END_FUN, ??ef_iic_mcu_send_a_byte, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 0FH
|
||
$DGS STA_SYM, _iic_mcu_send_st, U, U, 01H, 03H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0D8H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_send_st, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 022CH, 00H, 0D8H
|
||
$DGS END_FUN, ??ef_iic_mcu_send_st, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 016H
|
||
$DGS STA_SYM, _iic_mcu_send_re_st, U, U, 01H, 03H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0DEH, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_send_re_st, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0249H, 00H, 0DEH
|
||
$DGS END_FUN, ??ef_iic_mcu_send_re_st, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 022H
|
||
$DGS STA_SYM, _iic_mcu_send_sp, U, U, 01H, 03H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0E4H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_send_sp, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 0273H, 00H, 0E4H
|
||
$DGS END_FUN, ??ef_iic_mcu_send_sp, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 023H
|
||
$DGS GLV_SYM, _iic_mcu_start, U, U, 01H, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0F2H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_start, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 029EH, 00H, 0E8H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 06H, 00H, 0ECH
|
||
$DGS END_BLK, ??eb00_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 06H
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 02AH, 00H, 00H
|
||
$DGS END_BLK, ??eb01_iic_mcu_start, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 02AH
|
||
$DGS END_FUN, ??ef_iic_mcu_start, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 030H
|
||
$DGS GLV_SYM, _iic_mcu_stop, U, U, 01H, 026H, 01H, 02H
|
||
$DGS AUX_FUN, 00H, U, U, 0100H, 00H, 00H
|
||
$DGS BEG_FUN, ??bf_iic_mcu_stop, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_BEG, 02D6H, 00H, 0F6H
|
||
$DGS BEG_BLK, ??bb00_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 03H, 00H, 0FAH
|
||
$DGS END_BLK, ??eb00_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 04H
|
||
$DGS BEG_BLK, ??bb01_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_BEG, 06H, 00H, 00H
|
||
$DGS END_BLK, ??eb01_iic_mcu_stop, U, U, 00H, 064H, 01H, 00H
|
||
$DGS AUX_END, 06H
|
||
$DGS END_FUN, ??ef_iic_mcu_stop, U, U, 00H, 065H, 01H, 00H
|
||
$DGS AUX_END, 09H
|
||
$DGS GLV_SYM, _iic_mcu_wo_dma, U, U, 034CH, 027H, 00H, 00H
|
||
$DGS GLV_SYM, _iic_mcu_busy, U, U, 0134CH, 027H, 00H, 00H
|
||
$DGS GLV_SYM, _iic_mcu_initialized, U, U, 0134CH, 027H, 00H, 00H
|
||
$DGS GLV_SYM, _iic_send_work, U, U, 0CH, 026H, 01H, 03H
|
||
$DGS AUX_STR, 00H, 00H, 04H, 04H, 00H, 00H, 00H, 00H
|
||
$DGS GLV_SYM, _p_iic_send_wo_dma_dat, U, U, 0CH, 026H, 01H, 01H
|
||
$DGS AUX_STR, 00H, 00H, 02H, 00H, 00H, 00H, 00H, 01H
|
||
$DGS GLV_SYM, _iic_send_wo_dma_len, U, U, 0CH, 026H, 00H, 00H
|
||
$DGS GLV_SYM, _iic_mcu_bus_status, U, U, 0CH, 026H, 00H, 00H
|
||
$DGS GLV_SYM, _@SEGAX, U, U, 00H, 02H, 00H, 00H
|
||
$DGS GLV_SYM, _@SEGDE, U, U, 00H, 02H, 00H, 00H
|
||
$DGS GLV_SYM, _@RTARG0, U, U, 00H, 02H, 00H, 00H
|
||
|
||
EXTRN _@SEGAX
|
||
EXTRN _@SEGDE
|
||
EXTRN _@RTARG0
|
||
PUBLIC _iic_mcu_wo_dma
|
||
PUBLIC _iic_mcu_busy
|
||
PUBLIC _iic_mcu_initialized
|
||
PUBLIC _iic_send_work
|
||
PUBLIC _p_iic_send_wo_dma_dat
|
||
PUBLIC _iic_send_wo_dma_len
|
||
PUBLIC _iic_mcu_bus_status
|
||
PUBLIC _nop8
|
||
PUBLIC _iic_mcu_read_a_byte
|
||
PUBLIC _iic_mcu_read
|
||
PUBLIC _iic_mcu_write_a_byte
|
||
PUBLIC _iic_mcu_write
|
||
PUBLIC _int_dma1
|
||
PUBLIC _int_iic10
|
||
PUBLIC _iic_mcu_start
|
||
PUBLIC _iic_mcu_stop
|
||
|
||
@@BITS BSEG
|
||
_iic_mcu_wo_dma DBIT
|
||
_iic_mcu_busy DBIT
|
||
_iic_mcu_initialized 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)
|
||
|
||
@@R_INIT CSEG UNIT64KP
|
||
|
||
@@INIT DSEG BASEP
|
||
|
||
@@DATA DSEG BASEP
|
||
_iic_send_work: DS (4)
|
||
_p_iic_send_wo_dma_dat: DS (2)
|
||
_iic_send_wo_dma_len: DS (1)
|
||
_iic_mcu_bus_status: 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_F0085:
|
||
shrw ax,8 ;[INF] 2, 1
|
||
br !_iic_mcu_send_a_byte ;[INF] 3, 3
|
||
es_F0085:
|
||
|
||
ROM_CODE CSEG BASE
|
||
bs_S0086:
|
||
movw ax,#04H ; 4 ;[INF] 3, 1
|
||
movw !ST0,ax ;[INF] 3, 1
|
||
ret ;[INF] 1, 6
|
||
es_S0086:
|
||
|
||
ROM_CODE CSEG BASE
|
||
bs_S0087:
|
||
movw ax,#04H ; 4 ;[INF] 3, 1
|
||
movw !SS0,ax ;[INF] 3, 1
|
||
ret ;[INF] 1, 6
|
||
es_S0087:
|
||
|
||
ROM_CODE CSEG BASE
|
||
bs_F0084:
|
||
mov a,[hl] ;[INF] 1, 1
|
||
shrw ax,8 ;[INF] 2, 1
|
||
call !_iic_mcu_call_slave ;[INF] 3, 3
|
||
cmp0 c ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
es_F0084:
|
||
|
||
; *** Sub-Routine Information ***
|
||
;
|
||
; $SUB bs_F0084
|
||
; CODE SIZE= 8 bytes
|
||
;
|
||
; $SUB bs_F0085
|
||
; CODE SIZE= 5 bytes
|
||
;
|
||
; $SUB bs_S0086
|
||
; CODE SIZE= 7 bytes
|
||
;
|
||
; $SUB bs_S0087
|
||
; CODE SIZE= 7 bytes
|
||
|
||
; End of Sub-Routines
|
||
|
||
; line 1 : /* ========================================================
|
||
; line 2 : <20>Ȉ<EFBFBD>I2C<32>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD>t<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD>g<EFBFBD>p<EFBFBD>j<EFBFBD>ʐM
|
||
; line 3 : de JHL <20><><EFBFBD>c<EFBFBD><63><EFBFBD>J<EFBFBD>Z
|
||
; line 4 : '09 Feb -
|
||
; line 5 : ======================================================== */
|
||
; line 6 : #pragma sfr
|
||
; line 7 : #pragma di
|
||
; line 8 : #pragma ei
|
||
; line 9 : #pragma nop
|
||
; line 10 : #pragma inline // memcpy()<29><><EFBFBD>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD>W<EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD>
|
||
; line 11 :
|
||
; line 12 : #include "incs.h"
|
||
; line 13 : #include "i2c_mcu.h"
|
||
; line 14 :
|
||
; line 15 :
|
||
; line 16 :
|
||
; line 17 : // ========================================================
|
||
; line 18 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>̃r<CC83>b<EFBFBD>g<EFBFBD><67>
|
||
; line 19 : // <20>v<EFBFBD><76><EFBFBD>t<EFBFBD>B<EFBFBD>b<EFBFBD>N<EFBFBD>Xb<58><62><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ꕔ<EFBFBD>̃r<CC83>b<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E><><EFBFBD>ɂ<EFBFBD><C982>Ԃ邽<D482><E982BD>..
|
||
; .
|
||
; line 20 : // SMR0n
|
||
; line 21 : #define bCKS0 ( 1 << 15 )
|
||
; line 22 : #define bCCS0 ( 1 << 14 )
|
||
; line 23 : #define bSTS0 ( 1 << 8 )
|
||
; line 24 : #define bSIS0 ( 1 << 6 )
|
||
; line 25 : #define bMD0n2 ( 1 << 2 )
|
||
; line 26 : #define bMD0n1 ( 1 << 1 )
|
||
; line 27 : #define bMD0n0 ( 1 << 0 )
|
||
; line 28 : #define bSMR0n_FIXEDBIT ( 1 << 5 )
|
||
; line 29 :
|
||
; line 30 : // SSR0n
|
||
; line 31 : #define bit_TSF0 6
|
||
; line 32 : #define PEF0 ( 1 << 1 )
|
||
; line 33 :
|
||
; line 34 : // SIR0n
|
||
; line 35 : #define PECT0 ( 1 << 1 )
|
||
; line 36 :
|
||
; line 37 : // SCR0n
|
||
; line 38 : #define TXE0 ( 1 << 15 )
|
||
; line 39 : #define RXE0 ( 1 << 14 )
|
||
; line 40 : #define SLC02 4
|
||
; line 41 : #define DLS02 0
|
||
; line 42 : #define TSF0 ( 1 << 6 )
|
||
; line 43 :
|
||
; line 44 : // SOn
|
||
; line 45 : #define TAUS_MASK 0b0000101100001011;
|
||
; line 46 :
|
||
; line 47 : // DMCn
|
||
; line 48 : #define DRS ( 1 << 6 )
|
||
; line 49 :
|
||
; line 50 :
|
||
; line 51 :
|
||
; line 52 :
|
||
; line 53 : // ========================================================
|
||
; line 54 : static void iic_mcu_send_st( );
|
||
; line 55 : static void iic_mcu_send_re_st( );
|
||
; line 56 : static void iic_mcu_send_sp( );
|
||
; line 57 : static err iic_mcu_send_a_byte( u8 );
|
||
; line 58 : static err iic_mcu_call_slave( u8 slave );
|
||
; line 59 :
|
||
; line 60 :
|
||
; line 61 :
|
||
; line 62 : // ========================================================
|
||
; line 63 : bit iic_mcu_wo_dma;
|
||
; line 64 : volatile bit iic_mcu_busy;
|
||
; line 65 : volatile bit iic_mcu_initialized;
|
||
; line 66 :
|
||
; line 67 :
|
||
; line 68 : u8 iic_send_work[4];
|
||
; line 69 : u8 *p_iic_send_wo_dma_dat;
|
||
; line 70 : u8 iic_send_wo_dma_len;
|
||
; line 71 :
|
||
; line 72 : u8 iic_mcu_bus_status; // <20>ꕶ<EFBFBD><EA95B6><EFBFBD><EFBFBD><EFBFBD>[<5B>h<EFBFBD>̎<EFBFBD><CC8E>̓f<CD83>[<5B>^<5E><><EFBFBD>Ԃ<EFBFBD>
|
||
; <20>B
|
||
; line 73 : // <20>X<EFBFBD>e<EFBFBD>[<5B>^<5E>X<EFBFBD><58><EFBFBD>K<EFBFBD>v<EFBFBD>Ȃ炱<C882><E782B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; <20><><EFBFBD><EFBFBD>
|
||
; line 74 :
|
||
; line 75 : void nop8()
|
||
; line 76 : {
|
||
|
||
ROM_CODE CSEG BASE
|
||
_nop8:
|
||
$DGL 1,29
|
||
??bf_nop8:
|
||
; line 77 : }
|
||
$DGL 0,2
|
||
??ef_nop8:
|
||
ret ;[INF] 1, 6
|
||
??ee_nop8:
|
||
; line 78 :
|
||
; line 79 :
|
||
; line 80 :
|
||
; line 81 : /* ========================================================
|
||
; line 82 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>w1<77><31><EFBFBD><EFBFBD><EFBFBD>x <20><><EFBFBD>[<5B>h
|
||
; line 83 : <20>Ԓl<D492><6C><EFBFBD>f<EFBFBD>[<5B>^<5E><><EFBFBD>̂<EFBFBD><CC82>̂ł<CC82><C582>B
|
||
; line 84 : <20>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD>肪<EFBFBD>ł<EFBFBD><C582>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||
; line 85 : ======================================================== */
|
||
; line 86 : u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
|
||
; line 87 : {
|
||
_iic_mcu_read_a_byte:
|
||
$DGL 1,35
|
||
push hl ;[INF] 1, 1
|
||
push ax ;[INF] 1, 1
|
||
push ax ;[INF] 1, 1
|
||
movw hl,sp ;[INF] 3, 1
|
||
??bf_iic_mcu_read_a_byte:
|
||
; line 88 : u8 dat;
|
||
; line 89 :
|
||
; line 90 : if( iic_mcu_initialized == 0 )
|
||
$DGL 0,4
|
||
bt _iic_mcu_initialized,$?L0005 ;[INF] 4, 5
|
||
; line 91 : {
|
||
??bb00_iic_mcu_read_a_byte:
|
||
; line 92 : #ifdef _debug_
|
||
; line 93 : iic_mcu_start( );
|
||
$DGL 0,7
|
||
call !_iic_mcu_start ;[INF] 3, 3
|
||
??eb00_iic_mcu_read_a_byte:
|
||
; line 94 : #else
|
||
; line 95 : while( 1 )
|
||
; line 96 : {
|
||
; line 97 : }
|
||
; line 98 : #endif
|
||
; line 99 : }
|
||
?L0005:
|
||
; line 100 :
|
||
; line 101 : while( iic_mcu_busy )
|
||
$DGL 0,15
|
||
bf _iic_mcu_busy,$?L0008 ;[INF] 4, 5
|
||
; line 102 : {
|
||
??bb01_iic_mcu_read_a_byte:
|
||
; line 103 : NOP( );
|
||
$DGL 0,17
|
||
nop ;[INF] 1, 1
|
||
??eb01_iic_mcu_read_a_byte:
|
||
; line 104 : }
|
||
$DGL 0,18
|
||
br $?L0005 ;[INF] 2, 3
|
||
?L0008:
|
||
; line 105 : iic_mcu_busy = 1;
|
||
$DGL 0,19
|
||
set1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 106 :
|
||
; line 107 : iic_mcu_bus_status = ERR_OK;
|
||
$DGL 0,21
|
||
clrb !_iic_mcu_bus_status ;[INF] 3, 1
|
||
; line 108 :
|
||
; line 109 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F><EFBFBD>A<EFBFBD><41><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68>
|
||
; <20>X<EFBFBD>̑<EFBFBD><CC91>M
|
||
; line 110 : if( iic_mcu_call_slave( SLA ) != 0 )
|
||
$DGL 0,24
|
||
mov a,[hl+2] ; SLA ;[INF] 2, 1
|
||
shrw ax,8 ;[INF] 2, 1
|
||
call !_iic_mcu_call_slave ;[INF] 3, 3
|
||
cmp0 c ;[INF] 1, 1
|
||
bz $?L0009 ;[INF] 2, 4
|
||
; line 111 : {
|
||
??bb02_iic_mcu_read_a_byte:
|
||
; line 112 : iic_mcu_bus_status = ERR_NOSLAVE;
|
||
$DGL 0,26
|
||
mov !_iic_mcu_bus_status,#02H ; 2 ;[INF] 4, 1
|
||
; line 113 : iic_mcu_busy = 0;
|
||
$DGL 0,27
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 114 : return ( 0 );
|
||
$DGL 0,28
|
||
clrw bc ;[INF] 1, 1
|
||
br $?L0004 ;[INF] 2, 3
|
||
??eb02_iic_mcu_read_a_byte:
|
||
; line 115 : }
|
||
?L0009:
|
||
; line 116 :
|
||
; line 117 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
|
||
; line 118 : iic_mcu_send_a_byte( adrs ); // <20>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>Ă<EFBFBD><C482>Ȃ<EFBFBD>
|
||
$DGL 0,32
|
||
mov a,[hl+10] ; adrs ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 119 : // if( err != ERR_SUCCESS )<29>`
|
||
; line 120 :
|
||
; line 121 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M //
|
||
; line 122 : iic_mcu_send_re_st( ); // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>
|
||
$DGL 0,36
|
||
call !_iic_mcu_send_re_st ;[INF] 3, 3
|
||
; line 123 : iic_mcu_send_a_byte( SLA | 0x01 ); // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>܂Ŗ߂<C596><DF82>Ă<EFBFBD><C482><EFBFBD>
|
||
; <20><><EFBFBD><EFBFBD><EFBFBD>B
|
||
$DGL 0,37
|
||
mov a,[hl+2] ; SLA ;[INF] 2, 1
|
||
or a,#01H ; 1 ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 124 :
|
||
; line 125 : ST0 = 0x0004; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>[<5B>h<EFBFBD>ɐݒ<C990><DD92><EFBFBD><EFBFBD>ς<EFBFBD><CF82><EFBFBD><EFBFBD>̂Ń<CC82>
|
||
; <20>W<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>~
|
||
$DGL 0,39
|
||
call !bs_S0086 ;[INF] 3, 3
|
||
; line 126 : SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD>ݒ<EFBFBD>
|
||
$DGL 0,40
|
||
movw ax,#04017H ; 16407 ;[INF] 3, 1
|
||
movw !SCR02,ax ;[INF] 3, 1
|
||
; line 127 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
|
||
$DGL 0,41
|
||
call !bs_S0087 ;[INF] 3, 3
|
||
; line 128 :
|
||
; line 129 : SOE0 = 0x0000; // 1<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD>M<EFBFBD>Ȃ̂ŁA<C581>Ō<EFBFBD><C58C><EFBFBD>NAK<41><4B>
|
||
; <20><><EFBFBD><EFBFBD>
|
||
$DGL 0,43
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 130 : IICIF10 = 0;
|
||
$DGL 0,44
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 131 : SIO10 = 0xFF; // <20>_<EFBFBD>~<7E>[<5B>f<EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǝ<EFBFBD><C68E>M<EFBFBD>J<EFBFBD>n
|
||
$DGL 0,45
|
||
mov SIO10,#0FFH ; 255 ;[INF] 3, 1
|
||
; line 132 :
|
||
; line 133 : while( IICIF10 == 0 )
|
||
$DGL 0,47
|
||
?L0011:
|
||
bt IF1L.0,$?L0012 ;[INF] 4, 5
|
||
; line 134 : { // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
|
||
??bb03_iic_mcu_read_a_byte:
|
||
; line 135 : ;
|
||
??eb03_iic_mcu_read_a_byte:
|
||
; line 136 : }
|
||
$DGL 0,50
|
||
br $?L0011 ;[INF] 2, 3
|
||
?L0012:
|
||
; line 137 : dat = SIO10;
|
||
$DGL 0,51
|
||
mov a,SIO10 ;[INF] 2, 1
|
||
mov [hl+1],a ; dat ;[INF] 2, 1
|
||
; line 138 :
|
||
; line 139 : iic_mcu_send_sp( );
|
||
$DGL 0,53
|
||
call !_iic_mcu_send_sp ;[INF] 3, 3
|
||
; line 140 : IICIF10 = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>
|
||
$DGL 0,54
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 141 : iic_mcu_busy = 0;
|
||
$DGL 0,55
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 142 : return ( dat );
|
||
$DGL 0,56
|
||
mov a,[hl+1] ; dat ;[INF] 2, 1
|
||
shrw ax,8 ;[INF] 2, 1
|
||
movw bc,ax ;[INF] 1, 1
|
||
; line 143 : }
|
||
?L0004:
|
||
$DGL 0,57
|
||
??ef_iic_mcu_read_a_byte:
|
||
addw sp,#04H ;[INF] 2, 1
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_read_a_byte:
|
||
; line 144 :
|
||
; line 145 :
|
||
; line 146 :
|
||
; line 147 : /* ========================================================
|
||
; line 148 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>̃<EFBFBD><CC83>[<5B>h
|
||
; line 149 : 0 <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>
|
||
; line 150 : 1 <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
|
||
; line 151 : 2 <20>o<EFBFBD>X<EFBFBD><58><EFBFBD>N<EFBFBD><4E><EFBFBD>ɐ<EFBFBD><C990>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>ă^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g
|
||
; line 152 : 3 <20>Ӗ<EFBFBD><D396>s<EFBFBD><73><EFBFBD>G<EFBFBD><47><EFBFBD>[
|
||
; line 153 : <20>y<EFBFBD><79><EFBFBD>z
|
||
; line 154 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>Ƃ͋֎~<7E>ł<EFBFBD><C582>B
|
||
; line 155 : <20><><EFBFBD>̏ꍇ<CC8F>ł<EFBFBD><C582>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD>o<EFBFBD>Ȃǂł<C782><C582>܂<EFBFBD><DC82><EFBFBD>
|
||
; line 156 : ======================================================== */
|
||
; line 157 : err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
|
||
; line 158 : {
|
||
_iic_mcu_read:
|
||
$DGL 1,60
|
||
push hl ;[INF] 1, 1
|
||
push ax ;[INF] 1, 1
|
||
movw hl,sp ;[INF] 3, 1
|
||
??bf_iic_mcu_read:
|
||
; line 159 :
|
||
; line 160 : //*
|
||
; line 161 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>҂<EFBFBD>
|
||
; line 162 : if( iic_mcu_initialized == 0 )
|
||
$DGL 0,5
|
||
bt _iic_mcu_initialized,$?L0015 ;[INF] 4, 5
|
||
; line 163 : {
|
||
??bb00_iic_mcu_read:
|
||
; line 164 : #ifdef _debug_
|
||
; line 165 : iic_mcu_start( );
|
||
$DGL 0,8
|
||
call !_iic_mcu_start ;[INF] 3, 3
|
||
??eb00_iic_mcu_read:
|
||
; line 166 : #else
|
||
; line 167 : while( 1 )
|
||
; line 168 : {
|
||
; line 169 : }
|
||
; line 170 : #endif
|
||
; line 171 : }
|
||
?L0015:
|
||
; line 172 : while( iic_mcu_busy )
|
||
$DGL 0,15
|
||
bf _iic_mcu_busy,$?L0018 ;[INF] 4, 5
|
||
; line 173 : {
|
||
??bb01_iic_mcu_read:
|
||
; line 174 : NOP( );
|
||
$DGL 0,17
|
||
nop ;[INF] 1, 1
|
||
??eb01_iic_mcu_read:
|
||
; line 175 : }
|
||
$DGL 0,18
|
||
br $?L0015 ;[INF] 2, 3
|
||
?L0018:
|
||
; line 176 : /*/
|
||
; line 177 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>A<EFBFBD><41>
|
||
; line 178 : if( iic_mcu_initialized == 0 ){
|
||
; line 179 : return(0x80);
|
||
; line 180 : }
|
||
; line 181 : if( iic_mcu_busy != 0 ){
|
||
; line 182 : return( 3 );
|
||
; line 183 : }
|
||
; line 184 : //*/
|
||
; line 185 :
|
||
; line 186 : iic_mcu_busy = 1;
|
||
$DGL 0,29
|
||
set1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 187 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F><EFBFBD>A<EFBFBD><41><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68>
|
||
; <20>X<EFBFBD>̑<EFBFBD><CC91>M
|
||
; line 188 : if( iic_mcu_call_slave( slave ) != 0 )
|
||
$DGL 0,31
|
||
call !bs_F0084 ;[INF] 3, 3
|
||
bz $?L0019 ;[INF] 2, 4
|
||
; line 189 : {
|
||
??bb02_iic_mcu_read:
|
||
; line 190 : iic_mcu_busy = 0;
|
||
$DGL 0,33
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 191 : return ( ERR_NOSLAVE );
|
||
$DGL 0,34
|
||
onew bc ;[INF] 1, 1
|
||
incw bc ;[INF] 1, 1
|
||
br $?L0014 ;[INF] 2, 3
|
||
??eb02_iic_mcu_read:
|
||
; line 192 : }
|
||
?L0019:
|
||
; line 193 :
|
||
; line 194 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
|
||
; line 195 : iic_mcu_send_a_byte( adrs ); // <20>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>Ă<EFBFBD><C482>Ȃ<EFBFBD>
|
||
$DGL 0,38
|
||
mov a,[hl+8] ; adrs ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 196 : // if( err != ERR_SUCCESS )<29>`
|
||
; line 197 :
|
||
; line 198 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M //
|
||
; line 199 : iic_mcu_send_re_st( ); // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD>
|
||
$DGL 0,42
|
||
call !_iic_mcu_send_re_st ;[INF] 3, 3
|
||
; line 200 : iic_mcu_send_a_byte( slave | 0x01 ); // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>܂Ŗ<DC82>
|
||
; <20><><EFBFBD>Ă<EFBFBD><C482>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||
$DGL 0,43
|
||
mov a,[hl] ; slave ;[INF] 1, 1
|
||
or a,#01H ; 1 ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 201 :
|
||
; line 202 : // <20>f<EFBFBD>[<5B>^<5E><><EFBFBD>M
|
||
; line 203 : ST0 = 0x0004; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>[<5B>h<EFBFBD>ɐݒ<C990><DD92><EFBFBD><EFBFBD>ς<EFBFBD><CF82><EFBFBD><EFBFBD>̂Ń<CC82>
|
||
; <20>W<EFBFBD>b<EFBFBD>N<EFBFBD><4E><EFBFBD>~
|
||
$DGL 0,46
|
||
call !bs_S0086 ;[INF] 3, 3
|
||
; line 204 : SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD>ݒ<EFBFBD>
|
||
$DGL 0,47
|
||
movw ax,#04017H ; 16407 ;[INF] 3, 1
|
||
movw !SCR02,ax ;[INF] 3, 1
|
||
; line 205 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
|
||
$DGL 0,48
|
||
call !bs_S0087 ;[INF] 3, 3
|
||
; line 206 :
|
||
; line 207 : do
|
||
?L0021:
|
||
; line 208 : {
|
||
??bb03_iic_mcu_read:
|
||
; line 209 : if( len == 1 )
|
||
$DGL 0,52
|
||
mov a,[hl+10] ; len ;[INF] 2, 1
|
||
dec a ;[INF] 1, 1
|
||
bnz $?L0024 ;[INF] 2, 4
|
||
; line 210 : {
|
||
??bb04_iic_mcu_read:
|
||
; line 211 : SOE0 = 0x0000; // <20>Ō<EFBFBD><C58C><EFBFBD>NAK
|
||
$DGL 0,54
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
??eb04_iic_mcu_read:
|
||
; line 212 : }
|
||
?L0024:
|
||
; line 213 : IICIF10 = 0;
|
||
$DGL 0,56
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 214 : SIO10 = 0xFF; // <20>_<EFBFBD>~<7E>[<5B>f<EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǝ<EFBFBD><C68E>M<EFBFBD>J<EFBFBD>n
|
||
$DGL 0,57
|
||
mov SIO10,#0FFH ; 255 ;[INF] 3, 1
|
||
; line 215 : while( IICIF10 == 0 )
|
||
$DGL 0,58
|
||
?L0026:
|
||
bt IF1L.0,$?L0027 ;[INF] 4, 5
|
||
; line 216 : { // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
|
||
??bb05_iic_mcu_read:
|
||
; line 217 : ;
|
||
??eb05_iic_mcu_read:
|
||
; line 218 : }
|
||
$DGL 0,61
|
||
br $?L0026 ;[INF] 2, 3
|
||
?L0027:
|
||
; line 219 : *dest = SIO10;
|
||
$DGL 0,62
|
||
movw ax,[hl+12] ; dest ;[INF] 2, 1
|
||
movw de,ax ;[INF] 1, 1
|
||
mov a,SIO10 ;[INF] 2, 1
|
||
mov [de],a ;[INF] 1, 1
|
||
; line 220 : dest++;
|
||
$DGL 0,63
|
||
incw [hl+12] ; dest ;[INF] 3, 2
|
||
; line 221 : len--;
|
||
$DGL 0,64
|
||
dec [hl+10] ; len ;[INF] 3, 2
|
||
??eb03_iic_mcu_read:
|
||
; line 222 : }
|
||
; line 223 : while( len != 0 );
|
||
$DGL 0,66
|
||
mov a,[hl+10] ; len ;[INF] 2, 1
|
||
cmp0 a ;[INF] 1, 1
|
||
bnz $?L0021 ;[INF] 2, 4
|
||
; line 224 :
|
||
; line 225 : iic_mcu_send_sp( );
|
||
$DGL 0,68
|
||
call !_iic_mcu_send_sp ;[INF] 3, 3
|
||
; line 226 :
|
||
; line 227 : IICIF10 = 0;
|
||
$DGL 0,70
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 228 : iic_mcu_busy = 0;
|
||
$DGL 0,71
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 229 : return ( ERR_SUCCESS );
|
||
$DGL 0,72
|
||
clrw bc ;[INF] 1, 1
|
||
; line 230 : }
|
||
?L0014:
|
||
$DGL 0,73
|
||
??ef_iic_mcu_read:
|
||
pop ax ;[INF] 1, 1
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_read:
|
||
; line 231 :
|
||
; line 232 :
|
||
; line 233 :
|
||
; line 234 :
|
||
; line 235 : /* ========================================================
|
||
; line 236 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75> <20>w<EFBFBD>P<EFBFBD>o<EFBFBD>C<EFBFBD>g<EFBFBD>x <20><><EFBFBD>C<EFBFBD>g
|
||
; line 237 : <20>O<EFBFBD>̓]<5D><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD><CC82>҂<EFBFBD><D282>āA<C481><41><EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD>܂<EFBFBD><DC82>B
|
||
; line 238 : <20>Ԓl<D492>@iic_mcu_write<74>@<40>ɓ<EFBFBD><C993><EFBFBD>
|
||
; line 239 :
|
||
; line 240 : ======================================================== */
|
||
; line 241 : err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
|
||
; line 242 : {
|
||
_iic_mcu_write_a_byte:
|
||
$DGL 1,95
|
||
push hl ;[INF] 1, 1
|
||
push ax ;[INF] 1, 1
|
||
movw hl,sp ;[INF] 3, 1
|
||
??bf_iic_mcu_write_a_byte:
|
||
; line 243 :
|
||
; line 244 : if( iic_mcu_initialized == 0 )
|
||
$DGL 0,3
|
||
bt _iic_mcu_initialized,$?L0030 ;[INF] 4, 5
|
||
; line 245 : {
|
||
??bb00_iic_mcu_write_a_byte:
|
||
; line 246 : #ifdef _debug_
|
||
; line 247 : iic_mcu_start( );
|
||
$DGL 0,6
|
||
call !_iic_mcu_start ;[INF] 3, 3
|
||
??eb00_iic_mcu_write_a_byte:
|
||
; line 248 : #else
|
||
; line 249 : while( 1 )
|
||
; line 250 : {
|
||
; line 251 : }
|
||
; line 252 : #endif
|
||
; line 253 : }
|
||
?L0030:
|
||
; line 254 : while( iic_mcu_busy )
|
||
$DGL 0,13
|
||
bf _iic_mcu_busy,$?L0033 ;[INF] 4, 5
|
||
; line 255 : {
|
||
??bb01_iic_mcu_write_a_byte:
|
||
; line 256 : NOP( );
|
||
$DGL 0,15
|
||
nop ;[INF] 1, 1
|
||
??eb01_iic_mcu_write_a_byte:
|
||
; line 257 : }
|
||
$DGL 0,16
|
||
br $?L0030 ;[INF] 2, 3
|
||
?L0033:
|
||
; line 258 : iic_mcu_busy = 1;
|
||
$DGL 0,17
|
||
set1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 259 : #if 0
|
||
; line 260 : temp = dat;
|
||
; line 261 : return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
|
||
; line 262 : }
|
||
; line 263 : #else
|
||
; line 264 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>...
|
||
; line 265 : IICMK10 = 1;
|
||
$DGL 0,24
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 266 : if( iic_mcu_call_slave( SLA ) != 0 )
|
||
$DGL 0,25
|
||
call !bs_F0084 ;[INF] 3, 3
|
||
bz $?L0034 ;[INF] 2, 4
|
||
; line 267 : {
|
||
??bb02_iic_mcu_write_a_byte:
|
||
; line 268 : iic_mcu_busy = 0;
|
||
$DGL 0,27
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 269 : return ( ERR_NAK );
|
||
$DGL 0,28
|
||
onew bc ;[INF] 1, 1
|
||
br $?L0029 ;[INF] 2, 3
|
||
??eb02_iic_mcu_write_a_byte:
|
||
; line 270 : }
|
||
?L0034:
|
||
; line 271 : iic_mcu_send_a_byte( adrs );
|
||
$DGL 0,30
|
||
mov a,[hl+8] ; adrs ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 272 : iic_mcu_send_a_byte( dat );
|
||
$DGL 0,31
|
||
mov a,[hl+10] ; dat ;[INF] 2, 1
|
||
call !bs_F0085 ;[INF] 3, 3
|
||
; line 273 : iic_mcu_send_sp( );
|
||
$DGL 0,32
|
||
call !_iic_mcu_send_sp ;[INF] 3, 3
|
||
; line 274 : iic_mcu_busy = 0;
|
||
$DGL 0,33
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 275 : return ( ERR_SUCCESS );
|
||
$DGL 0,34
|
||
clrw bc ;[INF] 1, 1
|
||
; line 276 : #endif
|
||
; line 277 : }
|
||
?L0029:
|
||
$DGL 0,36
|
||
??ef_iic_mcu_write_a_byte:
|
||
pop ax ;[INF] 1, 1
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_write_a_byte:
|
||
; line 278 :
|
||
; line 279 :
|
||
; line 280 :
|
||
; line 281 : /* ========================================================
|
||
; line 282 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>փ<EFBFBD><D683>C<EFBFBD>g
|
||
; line 283 : <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^ adrs <20><><EFBFBD>擪<EFBFBD>ɁA
|
||
; line 284 : *str<74><72><EFBFBD><EFBFBD>
|
||
; line 285 : len<65><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||
; line 286 :
|
||
; line 287 : 0 <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49>
|
||
; line 288 : 1 <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
|
||
; line 289 : 2 <20>o<EFBFBD>X<EFBFBD><58><EFBFBD>N<EFBFBD><4E><EFBFBD>ɐ<EFBFBD><C990>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD>Ă<EFBFBD><C482>ă^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g
|
||
; line 290 : 3 <20>O<EFBFBD>Ɏw<C98E><77><EFBFBD><EFBFBD><EFBFBD>ꂽ<EFBFBD>ʐM<CA90><4D><EFBFBD>܂<EFBFBD><DC82>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>ĂȂ<C482>
|
||
; line 291 : <20>y<EFBFBD><79><EFBFBD>z
|
||
; line 292 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>Ƃ͋֎~<7E>ł<EFBFBD><C582>B
|
||
; line 293 : <20><><EFBFBD>̏ꍇ<CC8F>ł<EFBFBD><C582>G<EFBFBD><47><EFBFBD>[<5B><><EFBFBD>o<EFBFBD>Ȃǂł<C782><C582>܂<EFBFBD><DC82><EFBFBD>
|
||
; line 294 : DMA1<41><31><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>܂<EFBFBD><DC82>B
|
||
; line 295 : ***************************************************************
|
||
; ***************/
|
||
; line 296 : err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
|
||
; line 297 : {
|
||
_iic_mcu_write:
|
||
$DGL 1,116
|
||
push hl ;[INF] 1, 1
|
||
push ax ;[INF] 1, 1
|
||
movw hl,sp ;[INF] 3, 1
|
||
??bf_iic_mcu_write:
|
||
; line 298 : //*
|
||
; line 299 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>҂<EFBFBD>
|
||
; line 300 : if( iic_mcu_initialized == 0 )
|
||
$DGL 0,4
|
||
bt _iic_mcu_initialized,$?L0038 ;[INF] 4, 5
|
||
; line 301 : {
|
||
??bb00_iic_mcu_write:
|
||
; line 302 : #ifdef _debug_
|
||
; line 303 : iic_mcu_start( );
|
||
$DGL 0,7
|
||
call !_iic_mcu_start ;[INF] 3, 3
|
||
??eb00_iic_mcu_write:
|
||
; line 304 : #else
|
||
; line 305 : while( 1 )
|
||
; line 306 : {
|
||
; line 307 : }
|
||
; line 308 : #endif
|
||
; line 309 : }
|
||
?L0038:
|
||
; line 310 : while( iic_mcu_busy )
|
||
$DGL 0,14
|
||
bf _iic_mcu_busy,$?L0041 ;[INF] 4, 5
|
||
; line 311 : {
|
||
??bb01_iic_mcu_write:
|
||
; line 312 : NOP( );
|
||
$DGL 0,16
|
||
nop ;[INF] 1, 1
|
||
??eb01_iic_mcu_write:
|
||
; line 313 : }
|
||
$DGL 0,17
|
||
br $?L0038 ;[INF] 2, 3
|
||
?L0041:
|
||
; line 314 : /*/
|
||
; line 315 : // <20>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD><C882>A<EFBFBD><41>
|
||
; line 316 : if( iic_mcu_initialized == 0 ){
|
||
; line 317 : return(0x80);
|
||
; line 318 : }
|
||
; line 319 : if( iic_mcu_busy != 0 ){
|
||
; line 320 : return( 3 );
|
||
; line 321 : }
|
||
; line 322 : //*/
|
||
; line 323 : iic_mcu_busy = 1;
|
||
$DGL 0,27
|
||
set1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 324 : // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ƃX<C683><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>...
|
||
; line 325 : IICMK10 = 1;
|
||
$DGL 0,29
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 326 : IICIF10 = 0;
|
||
$DGL 0,30
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 327 : if( iic_mcu_call_slave( slave ) != 0 )
|
||
$DGL 0,31
|
||
call !bs_F0084 ;[INF] 3, 3
|
||
bz $?L0042 ;[INF] 2, 4
|
||
; line 328 : {
|
||
??bb02_iic_mcu_write:
|
||
; line 329 : iic_mcu_busy = 0;
|
||
$DGL 0,33
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 330 : EI( );
|
||
$DGL 0,34
|
||
ei ;[INF] 3, 4
|
||
; line 331 : return ( ERR_NAK );
|
||
$DGL 0,35
|
||
onew bc ;[INF] 1, 1
|
||
br $?L0037 ;[INF] 2, 3
|
||
??eb02_iic_mcu_write:
|
||
; line 332 : }
|
||
?L0042:
|
||
; line 333 :
|
||
; line 334 : IICIF10 = 0;
|
||
$DGL 0,38
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 335 : if( !iic_mcu_wo_dma )
|
||
$DGL 0,39
|
||
bt _iic_mcu_wo_dma,$?L0044 ;[INF] 4, 5
|
||
; line 336 : {
|
||
??bb03_iic_mcu_write:
|
||
; line 337 : // DMA<4D><41><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD>ʏ<EFBFBD><CA8F>j
|
||
; line 338 :
|
||
; line 339 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>𑗂<EFBFBD><F0919782>A<EFBFBD>f<EFBFBD>[<5B>^<5E>̏<EFBFBD><CC8F><EFBFBD>
|
||
; line 340 : memcpy( iic_send_work, src, 4 ); //<2F>o<EFBFBD>b<EFBFBD>t<EFBFBD>@<40>Ƃ<EFBFBD><C682><EFBFBD>
|
||
; 4<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ӂ<EFBFBD><D382>Ė<EFBFBD><C496><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߁B
|
||
$DGL 0,44
|
||
push hl ;[INF] 1, 1
|
||
movw de,#loww (_iic_send_work) ;[INF] 3, 1
|
||
movw ax,[hl+12] ; src ;[INF] 2, 1
|
||
movw hl,ax ;[INF] 1, 1
|
||
mov c,#04H ; 4 ;[INF] 2, 1
|
||
?L0046:
|
||
mov a,[hl] ;[INF] 1, 1
|
||
mov [de],a ;[INF] 1, 1
|
||
incw de ;[INF] 1, 1
|
||
incw hl ;[INF] 1, 1
|
||
dec c ;[INF] 1, 1
|
||
bnz $?L0046 ;[INF] 2, 4
|
||
pop hl ;[INF] 1, 1
|
||
; line 341 : // DMA<4D>Z<EFBFBD>b<EFBFBD>g
|
||
; line 342 : while( DST1 )
|
||
$DGL 0,46
|
||
?L0048:
|
||
bf DRC1.0,$?L0049 ;[INF] 4, 5
|
||
; line 343 : {;
|
||
??bb04_iic_mcu_write:
|
||
??eb04_iic_mcu_write:
|
||
; line 344 : }
|
||
$DGL 0,48
|
||
br $?L0048 ;[INF] 2, 3
|
||
?L0049:
|
||
; line 345 :
|
||
; line 346 : DEN1 = 1;
|
||
$DGL 0,50
|
||
set1 DRC1.7 ;[INF] 3, 2
|
||
; line 347 : DSA1 = ( u8 ) ( &SIO10 );
|
||
$DGL 0,51
|
||
mov DSA1,#044H ; 68 ;[INF] 3, 1
|
||
; line 348 : DRA1 = ( u16 ) iic_send_work;
|
||
$DGL 0,52
|
||
movw DRA1,#loww (_iic_send_work) ;[INF] 4, 1
|
||
; line 349 : DBC1 = len;
|
||
$DGL 0,53
|
||
mov a,[hl+10] ; len ;[INF] 2, 1
|
||
shrw ax,8 ;[INF] 2, 1
|
||
movw DBC1,ax ;[INF] 2, 1
|
||
; line 350 : DMC1 = DRS | 8; // RAM -> SFR, 8bit, IRQ, IIC10
|
||
$DGL 0,54
|
||
mov DMC1,#048H ; 72 ;[INF] 3, 1
|
||
; line 351 :
|
||
; line 352 : DMAIF1 = 0;
|
||
$DGL 0,56
|
||
clr1 IF0H.4 ;[INF] 3, 2
|
||
; line 353 : DMAMK1 = 0;
|
||
$DGL 0,57
|
||
clr1 MK0H.4 ;[INF] 3, 2
|
||
; line 354 : DST1 = 1;
|
||
$DGL 0,58
|
||
set1 DRC1.0 ;[INF] 3, 2
|
||
; line 355 :
|
||
; line 356 : SIO10 = adrs; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ςȂ<CF82><C882>I <20><><EFBFBD>荞<EFBFBD>݂<EFBFBD><DD82><EFBFBD><EFBFBD><EFBFBD>
|
||
; <20><><EFBFBD><EFBFBD>DMA<4D>X<EFBFBD>^<5E>[<5B>g
|
||
$DGL 0,60
|
||
mov a,[hl+8] ; adrs ;[INF] 2, 1
|
||
mov SIO10,a ;[INF] 2, 1
|
||
??eb03_iic_mcu_write:
|
||
; line 357 : // <20>c<EFBFBD><63><EFBFBD>͊<EFBFBD><CD8A>荞<EFBFBD>݃<EFBFBD><DD83>[<5B>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; line 358 : }
|
||
$DGL 0,62
|
||
br $?L0045 ;[INF] 2, 3
|
||
?L0044:
|
||
; line 359 : else
|
||
; line 360 : {
|
||
??bb05_iic_mcu_write:
|
||
; line 361 : // DMA<4D><41><EFBFBD>g<EFBFBD>p<EFBFBD><70><EFBFBD>Ȃ<EFBFBD> //
|
||
; line 362 :
|
||
; line 363 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>̑<EFBFBD><CC91>M
|
||
; line 364 : SIO10 = adrs;
|
||
$DGL 0,68
|
||
mov a,[hl+8] ; adrs ;[INF] 2, 1
|
||
mov SIO10,a ;[INF] 2, 1
|
||
; line 365 :
|
||
; line 366 : IICMK10 = 0;
|
||
$DGL 0,70
|
||
clr1 MK1L.0 ;[INF] 3, 2
|
||
; line 367 : iic_send_wo_dma_len = len;
|
||
$DGL 0,71
|
||
mov a,[hl+10] ; len ;[INF] 2, 1
|
||
mov !_iic_send_wo_dma_len,a ;[INF] 3, 1
|
||
; line 368 : p_iic_send_wo_dma_dat = src;
|
||
$DGL 0,72
|
||
movw ax,[hl+12] ; src ;[INF] 2, 1
|
||
movw !_p_iic_send_wo_dma_dat,ax ;[INF] 3, 1
|
||
??eb05_iic_mcu_write:
|
||
; line 369 : // <20>c<EFBFBD><63><EFBFBD>͊<EFBFBD><CD8A>荞<EFBFBD>݃<EFBFBD><DD83>[<5B>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; line 370 : }
|
||
?L0045:
|
||
; line 371 : return ( ERR_SUCCESS );
|
||
$DGL 0,75
|
||
clrw bc ;[INF] 1, 1
|
||
; line 372 : }
|
||
?L0037:
|
||
$DGL 0,76
|
||
??ef_iic_mcu_write:
|
||
pop ax ;[INF] 1, 1
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_write:
|
||
; line 373 :
|
||
; line 374 :
|
||
; line 375 :
|
||
; line 376 :
|
||
; line 377 : /* ========================================================
|
||
; line 378 : DMA<4D>P<EFBFBD>]<5D><><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>荞<EFBFBD><E88D9E>
|
||
; line 379 : IIC_mcu <20>̑<EFBFBD><CC91>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>[<5B><><EFBFBD>o<EFBFBD>b<EFBFBD>N<EFBFBD><EFBFBD><D690>̂悤<CC82>Ȃ<EFBFBD><C882><EFBFBD>
|
||
; line 380 : <20><><EFBFBD>FDMA<4D>]<5D><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŁAI2C<32>̓]<5D><><EFBFBD>͏I<CD8F><49><EFBFBD><EFBFBD><EFBFBD>Ă܂<C482><DC82><EFBFBD>
|
||
; line 381 : <20>@ <20><><EFBFBD>荞<EFBFBD>ݒ<EFBFBD><DD92>ȂǂŁADMA1<41>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꍇ<EFBFBD>A
|
||
; line 382 : IIC10<31>̊<EFBFBD><CC8A>荞<EFBFBD>݂̏<DD82><CC8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD><C582><EFBFBD><EFBFBD>ɁA<C981><41><EFBFBD>荞<EFBFBD>݂<DD82><F094AD90><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ȃ<EFBFBD>
|
||
; line 383 : <20><><EFBFBD>ꂪ<EFBFBD><EA82AA><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B<EFBFBD>܂<EFBFBD><DC82>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD>ɂ<EFBFBD><C982><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||
; line 384 : <20>@<40><><EFBFBD>̂<EFBFBD><CC82>߁ADMA<4D>d<EFBFBD>l<EFBFBD>̍<EFBFBD><CC8D>ق́A<CD81>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD>͑<EFBFBD><CD91>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; line 385 : <20>t<EFBFBD><74><EFBFBD>O<EFBFBD>̃|<7C>[<5B><><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD>Ŋm<C58A>F<EFBFBD><46><EFBFBD>܂<EFBFBD><DC82>B
|
||
; line 386 : ======================================================== */
|
||
; line 387 : __interrupt void int_dma1( )
|
||
; line 388 : {
|
||
|
||
@@BASE CSEG BASE
|
||
_int_dma1:
|
||
$DGL 1,151
|
||
push ax ;[INF] 1, 1
|
||
push bc ;[INF] 1, 1
|
||
push de ;[INF] 1, 1
|
||
push hl ;[INF] 1, 1
|
||
mov c,#0CH ;[INF] 2, 1
|
||
dec c ;[INF] 1, 1
|
||
dec c ;[INF] 1, 1
|
||
movw ax,_@SEGAX[c] ;[INF] 3, 1
|
||
push ax ;[INF] 1, 1
|
||
bnz $$-6 ;[INF] 2, 4
|
||
mov a,ES ;[INF] 2, 1
|
||
mov x,a ;[INF] 1, 1
|
||
mov a,CS ;[INF] 2, 1
|
||
push ax ;[INF] 1, 1
|
||
??bf_int_dma1:
|
||
; line 389 : u16 i = 0;
|
||
$DGL 0,2
|
||
clrw ax ;[INF] 1, 1
|
||
movw hl,ax ;[INF] 1, 1
|
||
; line 390 :
|
||
; line 391 : EI();
|
||
$DGL 0,4
|
||
ei ;[INF] 3, 4
|
||
; line 392 :
|
||
; line 393 : DMAMK1 = 1;
|
||
$DGL 0,6
|
||
set1 MK0H.4 ;[INF] 3, 2
|
||
; line 394 : DEN1 = 0;
|
||
$DGL 0,7
|
||
clr1 DRC1.7 ;[INF] 3, 2
|
||
; line 395 : while( ( SSR02L & TSF0 ) != 0 )
|
||
$DGL 0,8
|
||
?L0052:
|
||
mov a,#040H ; 64 ;[INF] 2, 1
|
||
and a,!SSR02L ;[INF] 3, 1
|
||
cmp0 a ;[INF] 1, 1
|
||
bz $?L0053 ;[INF] 2, 4
|
||
; line 396 : {
|
||
??bb00_int_dma1:
|
||
; line 397 : if( ++i == 0 ) // <20>^<5E>C<EFBFBD><43><EFBFBD>A<EFBFBD>E<EFBFBD>g<EFBFBD>H
|
||
$DGL 0,10
|
||
incw hl ;[INF] 1, 1
|
||
clrw ax ;[INF] 1, 1
|
||
cmpw ax,hl ;[INF] 1, 1
|
||
bnz $?L0052 ;[INF] 2, 4
|
||
; line 398 : {
|
||
??bb01_int_dma1:
|
||
; line 399 : break;
|
||
??eb01_int_dma1:
|
||
; line 400 : }
|
||
??eb00_int_dma1:
|
||
; line 401 : }
|
||
?L0053:
|
||
; line 402 :
|
||
; line 403 : // iic_mcu_send_sp(); // ISR<53><52><EFBFBD>ŊO<C58A>̊<CC8A><D690><EFBFBD><EFBFBD>ĂԂ͓̂s<CD93><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; <20>œW<C593>J
|
||
; line 404 : {
|
||
??bb02_int_dma1:
|
||
; line 405 : ST0 = 0x0004;
|
||
$DGL 0,18
|
||
movw ax,#04H ; 4 ;[INF] 3, 1
|
||
movw !ST0,ax ;[INF] 3, 1
|
||
; line 406 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
|
||
; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
|
||
$DGL 0,19
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 407 : SO0 = 0x0000 | TAUS_MASK; // SCL
|
||
$DGL 0,20
|
||
movw ax,#0B0BH ; 2827 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 408 : nop8();
|
||
$DGL 0,21
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 409 : /*
|
||
; line 410 : NOP( );
|
||
; line 411 : NOP( );
|
||
; line 412 : NOP( );
|
||
; line 413 : NOP( );
|
||
; line 414 : #ifdef _OVERCLOCK_
|
||
; line 415 : NOP( );
|
||
; line 416 : NOP( );
|
||
; line 417 : NOP( );
|
||
; line 418 : NOP( );
|
||
; line 419 : NOP( );
|
||
; line 420 : #endif
|
||
; line 421 : */
|
||
; line 422 : SO0 = 0x0400 | TAUS_MASK; // SCL
|
||
$DGL 0,35
|
||
movw ax,#0F0BH ; 3851 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 423 : nop8();
|
||
$DGL 0,36
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 424 : /*
|
||
; line 425 : NOP( );
|
||
; line 426 : NOP( );
|
||
; line 427 : NOP( );
|
||
; line 428 : NOP( );
|
||
; line 429 : #ifdef _OVERCLOCK_
|
||
; line 430 : NOP( );
|
||
; line 431 : NOP( );
|
||
; line 432 : NOP( );
|
||
; line 433 : NOP( );
|
||
; line 434 : NOP( );
|
||
; line 435 : #endif
|
||
; line 436 : */
|
||
; line 437 : SO0 = 0x0404 | TAUS_MASK;
|
||
$DGL 0,50
|
||
movw ax,#0F0FH ; 3855 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
??eb02_int_dma1:
|
||
; line 438 : }
|
||
; line 439 : IICMK10 = 1;
|
||
$DGL 0,52
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 440 : iic_mcu_busy = 0;
|
||
$DGL 0,53
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 441 : }
|
||
$DGL 0,54
|
||
??ef_int_dma1:
|
||
pop ax ;[INF] 1, 1
|
||
mov CS,a ;[INF] 2, 1
|
||
mov a,x ;[INF] 1, 1
|
||
mov ES,a ;[INF] 2, 1
|
||
movw de,#_@SEGAX ;[INF] 3, 1
|
||
mov c,#06H ;[INF] 2, 1
|
||
pop ax ;[INF] 1, 1
|
||
movw [de],ax ;[INF] 1, 1
|
||
incw de ;[INF] 1, 1
|
||
incw de ;[INF] 1, 1
|
||
dec c ;[INF] 1, 1
|
||
bnz $$-5 ;[INF] 2, 4
|
||
pop hl ;[INF] 1, 1
|
||
pop de ;[INF] 1, 1
|
||
pop bc ;[INF] 1, 1
|
||
pop ax ;[INF] 1, 1
|
||
reti ;[INF] 2, 6
|
||
??ee_int_dma1:
|
||
; line 442 :
|
||
; line 443 :
|
||
; line 444 :
|
||
; line 445 : /* ========================================================
|
||
; line 446 : IIC MCU<43>̃o<CC83>C<EFBFBD>g<EFBFBD><67><EFBFBD>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>荞<EFBFBD><E88D9E>
|
||
; line 447 : <20><>DMA<4D>g<EFBFBD>p<EFBFBD><70><EFBFBD>͎g<CD8E>p<EFBFBD><70><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82><EFBFBD><EFBFBD>B
|
||
; line 448 : <20>@<40><><EFBFBD>̊<EFBFBD><CC8A>荞<EFBFBD>ݏ<EFBFBD><DD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DMA<4D>̊<EFBFBD><CC8A>荞<EFBFBD>݂ɂ<DD82><C982><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<CE82><C882>ꍇ<EFBFBD>A
|
||
; line 449 : <20>@IIC<49><43><EFBFBD>荞<EFBFBD>݂̃Z<CC83>b<EFBFBD>g<EFBFBD><67><EFBFBD>Ԃɍ<D482><C98D>킸<EFBFBD><ED82B8><EFBFBD>邱<EFBFBD>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD><DC82>B
|
||
; line 450 : ======================================================== */
|
||
; line 451 : __interrupt void int_iic10( )
|
||
; line 452 : {
|
||
_int_iic10:
|
||
$DGL 1,170
|
||
push ax ;[INF] 1, 1
|
||
push bc ;[INF] 1, 1
|
||
push de ;[INF] 1, 1
|
||
push hl ;[INF] 1, 1
|
||
mov c,#0CH ;[INF] 2, 1
|
||
dec c ;[INF] 1, 1
|
||
dec c ;[INF] 1, 1
|
||
movw ax,_@SEGAX[c] ;[INF] 3, 1
|
||
push ax ;[INF] 1, 1
|
||
bnz $$-6 ;[INF] 2, 4
|
||
mov a,ES ;[INF] 2, 1
|
||
mov x,a ;[INF] 1, 1
|
||
mov a,CS ;[INF] 2, 1
|
||
push ax ;[INF] 1, 1
|
||
??bf_int_iic10:
|
||
; line 453 : EI();
|
||
$DGL 0,2
|
||
ei ;[INF] 3, 4
|
||
; line 454 : if( iic_send_wo_dma_len != 0 )
|
||
$DGL 0,3
|
||
cmp0 !_iic_send_wo_dma_len ;[INF] 3, 1
|
||
bz $?L0058 ;[INF] 2, 4
|
||
; line 455 : {
|
||
??bb00_int_iic10:
|
||
; line 456 : SIO10 = *p_iic_send_wo_dma_dat;
|
||
$DGL 0,5
|
||
movw de,!_p_iic_send_wo_dma_dat ;[INF] 3, 1
|
||
mov a,[de] ;[INF] 1, 1
|
||
mov SIO10,a ;[INF] 2, 1
|
||
; line 457 : p_iic_send_wo_dma_dat++;
|
||
$DGL 0,6
|
||
incw !_p_iic_send_wo_dma_dat ;[INF] 3, 2
|
||
; line 458 : iic_send_wo_dma_len--;
|
||
$DGL 0,7
|
||
dec !_iic_send_wo_dma_len ;[INF] 3, 2
|
||
; line 459 : return;
|
||
$DGL 0,8
|
||
br $?L0057 ;[INF] 2, 3
|
||
??eb00_int_iic10:
|
||
; line 460 : }
|
||
?L0058:
|
||
; line 461 :
|
||
; line 462 : // <20>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD><67><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD>
|
||
; line 463 : IICMK10 = 1;
|
||
$DGL 0,12
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 464 : // iic_mcu_send_sp(); // ISR<53><52><EFBFBD>ŊO<C58A>̊<CC8A><D690><EFBFBD><EFBFBD>ĂԂ͓̂s<CD93><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
; <20>̂œW<C593>J
|
||
; line 465 : {
|
||
??bb01_int_iic10:
|
||
; line 466 : ST0 = 0x0004;
|
||
$DGL 0,15
|
||
movw ax,#04H ; 4 ;[INF] 3, 1
|
||
movw !ST0,ax ;[INF] 3, 1
|
||
; line 467 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
|
||
; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
|
||
$DGL 0,16
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 468 : SO0 = 0x0000 | TAUS_MASK; // SCL
|
||
$DGL 0,17
|
||
movw ax,#0B0BH ; 2827 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 469 : nop8();
|
||
$DGL 0,18
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 470 : /*
|
||
; line 471 : NOP( );
|
||
; line 472 : NOP( );
|
||
; line 473 : NOP( );
|
||
; line 474 : NOP( );
|
||
; line 475 : #ifdef _OVERCLOCK_
|
||
; line 476 : NOP( );
|
||
; line 477 : NOP( );
|
||
; line 478 : NOP( );
|
||
; line 479 : NOP( );
|
||
; line 480 : NOP( );
|
||
; line 481 : #endif
|
||
; line 482 : */
|
||
; line 483 : SO0 = 0x0400 | TAUS_MASK; // SCL
|
||
$DGL 0,32
|
||
movw ax,#0F0BH ; 3851 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 484 : nop8();
|
||
$DGL 0,33
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 485 : /*
|
||
; line 486 : NOP( );
|
||
; line 487 : NOP( );
|
||
; line 488 : NOP( );
|
||
; line 489 : NOP( );
|
||
; line 490 : #ifdef _OVERCLOCK_
|
||
; line 491 : NOP( );
|
||
; line 492 : NOP( );
|
||
; line 493 : NOP( );
|
||
; line 494 : NOP( );
|
||
; line 495 : NOP( );
|
||
; line 496 : #endif
|
||
; line 497 : */
|
||
; line 498 : SO0 = 0x0404 | TAUS_MASK;
|
||
$DGL 0,47
|
||
movw ax,#0F0FH ; 3855 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
??eb01_int_iic10:
|
||
; line 499 : }
|
||
; line 500 : iic_mcu_wo_dma = 0;
|
||
$DGL 0,49
|
||
clr1 _iic_mcu_wo_dma ;[INF] 3, 2
|
||
; line 501 : iic_mcu_busy = 0;
|
||
$DGL 0,50
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 502 : }
|
||
?L0057:
|
||
$DGL 0,51
|
||
??ef_int_iic10:
|
||
pop ax ;[INF] 1, 1
|
||
mov CS,a ;[INF] 2, 1
|
||
mov a,x ;[INF] 1, 1
|
||
mov ES,a ;[INF] 2, 1
|
||
movw de,#_@SEGAX ;[INF] 3, 1
|
||
mov c,#06H ;[INF] 2, 1
|
||
pop ax ;[INF] 1, 1
|
||
movw [de],ax ;[INF] 1, 1
|
||
incw de ;[INF] 1, 1
|
||
incw de ;[INF] 1, 1
|
||
dec c ;[INF] 1, 1
|
||
bnz $$-5 ;[INF] 2, 4
|
||
pop hl ;[INF] 1, 1
|
||
pop de ;[INF] 1, 1
|
||
pop bc ;[INF] 1, 1
|
||
pop ax ;[INF] 1, 1
|
||
reti ;[INF] 2, 6
|
||
??ee_int_iic10:
|
||
; line 503 :
|
||
; line 504 :
|
||
; line 505 :
|
||
; line 506 : /* ========================================================
|
||
; line 507 : <20>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>̌Ăяo<D18F><6F>
|
||
; line 508 : <20>@<40>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD><58><EFBFBD>Ă<EFBFBD><C482>ŁAACK<43>̊m<CC8A>F<EFBFBD>B
|
||
; line 509 : ACK<43>@<40><><EFBFBD>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>@<40>ԁF0
|
||
; line 510 : <20>@NACK <20><><EFBFBD>@<40>X<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD>B<EFBFBD>@<40>ԁF1
|
||
; line 511 : ======================================================== */
|
||
; line 512 : static err iic_mcu_call_slave( u8 slave )
|
||
; line 513 : {
|
||
|
||
ROM_CODE CSEG BASE
|
||
_iic_mcu_call_slave:
|
||
$DGL 1,184
|
||
push hl ;[INF] 1, 1
|
||
movw hl,ax ;[INF] 1, 1
|
||
??bf_iic_mcu_call_slave:
|
||
; line 514 : iic_mcu_send_st( );
|
||
$DGL 0,2
|
||
call !_iic_mcu_send_st ;[INF] 3, 3
|
||
; line 515 :
|
||
; line 516 : // SIR02 = SSR02; // NAK<41>G<EFBFBD><47><EFBFBD>[<5B>̃t<CC83><74><EFBFBD>O<EFBFBD>N<EFBFBD><4E><EFBFBD>A
|
||
; line 517 : if( iic_mcu_send_a_byte( slave ) != ERR_SUCCESS )
|
||
$DGL 0,5
|
||
movw ax,hl ;[INF] 1, 1
|
||
clrb a ;[INF] 1, 1
|
||
call !_iic_mcu_send_a_byte ;[INF] 3, 3
|
||
cmp0 c ;[INF] 1, 1
|
||
bz $?L0062 ;[INF] 2, 4
|
||
; line 518 : {
|
||
??bb00_iic_mcu_call_slave:
|
||
; line 519 : iic_mcu_send_sp( );
|
||
$DGL 0,7
|
||
call !_iic_mcu_send_sp ;[INF] 3, 3
|
||
; line 520 : return ( ERR_NAK ); // <20>w<EFBFBD><77><EFBFBD>̃X<CC83><58><EFBFBD>[<5B>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD> / busy
|
||
$DGL 0,8
|
||
onew bc ;[INF] 1, 1
|
||
br $?L0061 ;[INF] 2, 3
|
||
??eb00_iic_mcu_call_slave:
|
||
; line 521 : }
|
||
?L0062:
|
||
; line 522 :
|
||
; line 523 : return ( ERR_SUCCESS );
|
||
$DGL 0,11
|
||
clrw bc ;[INF] 1, 1
|
||
; line 524 : }
|
||
?L0061:
|
||
$DGL 0,12
|
||
??ef_iic_mcu_call_slave:
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_call_slave:
|
||
; line 525 :
|
||
; line 526 :
|
||
; line 527 :
|
||
; line 528 : /* ========================================================
|
||
; line 529 : <20>ق<EFBFBD><D982>ƂɂP<C982>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>̂<EFBFBD>
|
||
; line 530 : <20><><EFBFBD><EFBFBD><EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>܂ŋA<C58B><41><EFBFBD>܂<EFBFBD><DC82><EFBFBD>
|
||
; line 531 : ======================================================== */
|
||
; line 532 : static err iic_mcu_send_a_byte( u8 dat )
|
||
; line 533 : {
|
||
_iic_mcu_send_a_byte:
|
||
$DGL 1,195
|
||
push hl ;[INF] 1, 1
|
||
movw hl,ax ;[INF] 1, 1
|
||
??bf_iic_mcu_send_a_byte:
|
||
; line 534 : IICMK10 = 1;
|
||
$DGL 0,2
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 535 : IICIF10 = 0;
|
||
$DGL 0,3
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 536 : SIO10 = dat;
|
||
$DGL 0,4
|
||
mov a,l ;[INF] 1, 1
|
||
mov SIO10,a ;[INF] 2, 1
|
||
; line 537 : while( IICIF10 == 0 )
|
||
$DGL 0,5
|
||
?L0066:
|
||
bt IF1L.0,$?L0067 ;[INF] 4, 5
|
||
; line 538 : {
|
||
??bb00_iic_mcu_send_a_byte:
|
||
; line 539 : NOP( );
|
||
$DGL 0,7
|
||
nop ;[INF] 1, 1
|
||
??eb00_iic_mcu_send_a_byte:
|
||
; line 540 : } // <20>ʐM<CA90><4D>
|
||
$DGL 0,8
|
||
br $?L0066 ;[INF] 2, 3
|
||
?L0067:
|
||
; line 541 : if( SSR02 != 0 )
|
||
$DGL 0,9
|
||
clrw ax ;[INF] 1, 1
|
||
cmpw ax,!SSR02 ;[INF] 3, 1
|
||
bz $?L0068 ;[INF] 2, 4
|
||
; line 542 : {
|
||
??bb01_iic_mcu_send_a_byte:
|
||
; line 543 : SIR02 = SSR02;
|
||
$DGL 0,11
|
||
movw ax,!SSR02 ;[INF] 3, 1
|
||
movw !SIR02,ax ;[INF] 3, 1
|
||
; line 544 : return ( ERR_NAK );
|
||
$DGL 0,12
|
||
onew bc ;[INF] 1, 1
|
||
br $?L0065 ;[INF] 2, 3
|
||
??eb01_iic_mcu_send_a_byte:
|
||
; line 545 : }
|
||
?L0068:
|
||
; line 546 : return ( ERR_SUCCESS );
|
||
$DGL 0,14
|
||
clrw bc ;[INF] 1, 1
|
||
; line 547 : }
|
||
?L0065:
|
||
$DGL 0,15
|
||
??ef_iic_mcu_send_a_byte:
|
||
pop hl ;[INF] 1, 1
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_send_a_byte:
|
||
; line 548 :
|
||
; line 549 :
|
||
; line 550 :
|
||
; line 551 : /* ========================================================
|
||
; line 552 : <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>s
|
||
; line 553 : <20>\<5C>t<EFBFBD>g<EFBFBD>E<EFBFBD>F<EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>
|
||
; line 554 : ======================================================== */
|
||
; line 555 : static void iic_mcu_send_st( )
|
||
; line 556 : {
|
||
_iic_mcu_send_st:
|
||
$DGL 1,210
|
||
??bf_iic_mcu_send_st:
|
||
; line 557 : SO0 &= ~0x0004; // SDA
|
||
$DGL 0,2
|
||
movw ax,!SO0 ;[INF] 3, 1
|
||
xch a,x ;[INF] 1, 1
|
||
and a,#0FBH ; 251 ;[INF] 2, 1
|
||
xch a,x ;[INF] 1, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 558 : nop8();
|
||
$DGL 0,3
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 559 : /*
|
||
; line 560 : NOP( );
|
||
; line 561 : NOP( );
|
||
; line 562 : NOP( );
|
||
; line 563 : NOP( );
|
||
; line 564 : #ifdef _OVERCLOCK_
|
||
; line 565 : NOP( );
|
||
; line 566 : NOP( );
|
||
; line 567 : NOP( );
|
||
; line 568 : NOP( );
|
||
; line 569 : NOP( );
|
||
; line 570 : #endif
|
||
; line 571 : */
|
||
; line 572 : SO0 &= ~0x0400; // SCL
|
||
$DGL 0,17
|
||
movw ax,!SO0 ;[INF] 3, 1
|
||
and a,#0FBH ; 251 ;[INF] 2, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 573 : SOE0 = 0x0004; // <20>n<EFBFBD>[<5B>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
$DGL 0,18
|
||
movw ax,#04H ; 4 ;[INF] 3, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 574 :
|
||
; line 575 : SCR02 = TXE0 | 1 << SLC02 | 7 << DLS02; // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>A<C281>f<EFBFBD>[
|
||
; <20>^<5E>͂W<CD82>r<EFBFBD>b<EFBFBD>g<EFBFBD>P<EFBFBD><50>
|
||
$DGL 0,20
|
||
movw ax,#08017H ; -32745 ;[INF] 3, 1
|
||
movw !SCR02,ax ;[INF] 3, 1
|
||
; line 576 : SS0 = 0x0004; // <20>ʐM<CA90>ҋ@
|
||
$DGL 0,21
|
||
call !bs_S0087 ;[INF] 3, 3
|
||
; line 577 : }
|
||
$DGL 0,22
|
||
??ef_iic_mcu_send_st:
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_send_st:
|
||
; line 578 :
|
||
; line 579 :
|
||
; line 580 :
|
||
; line 581 : /* ========================================================
|
||
; line 582 : <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD><67><EFBFBD>s
|
||
; line 583 : ======================================================== */
|
||
; line 584 : static void iic_mcu_send_re_st( )
|
||
; line 585 : {
|
||
_iic_mcu_send_re_st:
|
||
$DGL 1,216
|
||
??bf_iic_mcu_send_re_st:
|
||
; line 586 : ST0 |= 0x0004;
|
||
$DGL 0,2
|
||
movw ax,!ST0 ;[INF] 3, 1
|
||
xch a,x ;[INF] 1, 1
|
||
or a,#04H ; 4 ;[INF] 2, 1
|
||
xch a,x ;[INF] 1, 1
|
||
movw !ST0,ax ;[INF] 3, 1
|
||
; line 587 : SO0 |= 0x0400 | TAUS_MASK; // ( SDA = H ), SCL -> H
|
||
$DGL 0,3
|
||
movw ax,!SO0 ;[INF] 3, 1
|
||
or a,#0FH ; 15 ;[INF] 2, 1
|
||
xch a,x ;[INF] 1, 1
|
||
or a,#0BH ; 11 ;[INF] 2, 1
|
||
xch a,x ;[INF] 1, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 588 : nop8();
|
||
$DGL 0,4
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 589 : /*
|
||
; line 590 : NOP( );
|
||
; line 591 : NOP( );
|
||
; line 592 : NOP( );
|
||
; line 593 : NOP( );
|
||
; line 594 : #ifdef _OVERCLOCK_
|
||
; line 595 : NOP( );
|
||
; line 596 : NOP( );
|
||
; line 597 : NOP( );
|
||
; line 598 : NOP( );
|
||
; line 599 : NOP( );
|
||
; line 600 : #endif
|
||
; line 601 : */
|
||
; line 602 : SOE0 &= ~0x0004; // ( SCL = H ), SDA -> L
|
||
$DGL 0,18
|
||
movw ax,!SOE0 ;[INF] 3, 1
|
||
xch a,x ;[INF] 1, 1
|
||
and a,#0FBH ; 251 ;[INF] 2, 1
|
||
xch a,x ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 603 : nop8();
|
||
$DGL 0,19
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 604 : /*
|
||
; line 605 : NOP( );
|
||
; line 606 : NOP( );
|
||
; line 607 : NOP( );
|
||
; line 608 : NOP( );
|
||
; line 609 : #ifdef _OVERCLOCK_
|
||
; line 610 : NOP( );
|
||
; line 611 : NOP( );
|
||
; line 612 : NOP( );
|
||
; line 613 : NOP( );
|
||
; line 614 : NOP( );
|
||
; line 615 : #endif
|
||
; line 616 : */
|
||
; line 617 : iic_mcu_send_st( );
|
||
$DGL 0,33
|
||
br !_iic_mcu_send_st ;[INF] 3, 3
|
||
??ef_iic_mcu_send_re_st:
|
||
??ee_iic_mcu_send_re_st:
|
||
; line 618 : }
|
||
; line 619 :
|
||
; line 620 :
|
||
; line 621 :
|
||
; line 622 : /* ========================================================
|
||
; line 623 : <20>X<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>s
|
||
; line 624 : <20><><EFBFBD>̑O<CC91>ɁA<C981>u<EFBFBD>Ō<EFBFBD><C58C>̃o<CC83>C<EFBFBD>g<EFBFBD>̑<EFBFBD><CC91><EFBFBD><EFBFBD>M<EFBFBD>v<EFBFBD>̎<EFBFBD><CC8E>ɑO<C991><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>v<EFBFBD>ł<EFBFBD><C582>B
|
||
; line 625 : ======================================================== */
|
||
; line 626 : static void iic_mcu_send_sp( )
|
||
; line 627 : {
|
||
_iic_mcu_send_sp:
|
||
$DGL 1,222
|
||
??bf_iic_mcu_send_sp:
|
||
; line 628 : ST0 = 0x0004;
|
||
$DGL 0,2
|
||
call !bs_S0086 ;[INF] 3, 3
|
||
; line 629 : SOE0 = 0; // <20><><EFBFBD>M<EFBFBD>̎<EFBFBD><CC8E>͂<EFBFBD><CD82><EFBFBD><EFBFBD>ƑO<C691>Ɂu<C981><75><EFBFBD>v<EFBFBD>ݒ<EFBFBD>
|
||
; <20><><EFBFBD>Ă<EFBFBD><C482>B(NACK<43>o<EFBFBD><6F>)
|
||
$DGL 0,3
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SOE0,ax ;[INF] 3, 1
|
||
; line 630 : SO0 = 0x0000 | TAUS_MASK; // SCL
|
||
$DGL 0,4
|
||
movw ax,#0B0BH ; 2827 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 631 : nop8();
|
||
$DGL 0,5
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 632 : /*
|
||
; line 633 : NOP( );
|
||
; line 634 : NOP( );
|
||
; line 635 : NOP( );
|
||
; line 636 : NOP( );
|
||
; line 637 : #ifdef _OVERCLOCK_
|
||
; line 638 : NOP( );
|
||
; line 639 : NOP( );
|
||
; line 640 : NOP( );
|
||
; line 641 : NOP( );
|
||
; line 642 : NOP( );
|
||
; line 643 : #endif
|
||
; line 644 : */
|
||
; line 645 : SO0 = 0x0400 | TAUS_MASK; // SCL
|
||
$DGL 0,19
|
||
movw ax,#0F0BH ; 3851 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 646 : nop8();
|
||
$DGL 0,20
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 647 : /*
|
||
; line 648 : NOP( );
|
||
; line 649 : NOP( );
|
||
; line 650 : NOP( );
|
||
; line 651 : NOP( );
|
||
; line 652 : #ifdef _OVERCLOCK_
|
||
; line 653 : NOP( );
|
||
; line 654 : NOP( );
|
||
; line 655 : NOP( );
|
||
; line 656 : NOP( );
|
||
; line 657 : NOP( );
|
||
; line 658 : #endif
|
||
; line 659 : */
|
||
; line 660 : SO0 = 0x0404 | TAUS_MASK;
|
||
$DGL 0,34
|
||
movw ax,#0F0FH ; 3855 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 661 : }
|
||
$DGL 0,35
|
||
??ef_iic_mcu_send_sp:
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_send_sp:
|
||
; line 662 :
|
||
; line 663 :
|
||
; line 664 :
|
||
; line 665 :
|
||
; line 666 : /* ========================================================
|
||
; line 667 : <20>y<EFBFBD><79><EFBFBD>t<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD>
|
||
; line 668 : ======================================================== */
|
||
; line 669 : void iic_mcu_start( )
|
||
; line 670 : {
|
||
_iic_mcu_start:
|
||
$DGL 1,228
|
||
??bf_iic_mcu_start:
|
||
; line 671 : DST1 = 0;
|
||
$DGL 0,2
|
||
clr1 DRC1.0 ;[INF] 3, 2
|
||
; line 672 : NOP( ); // 2clk<6C><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>́ADSTn==0<><30><EFBFBD>|<7C>[<5B><>
|
||
; <20><><EFBFBD>O
|
||
$DGL 0,3
|
||
nop ;[INF] 1, 1
|
||
; line 673 : NOP( );
|
||
$DGL 0,4
|
||
nop ;[INF] 1, 1
|
||
; line 674 : DEN1 = 0;
|
||
$DGL 0,5
|
||
clr1 DRC1.7 ;[INF] 3, 2
|
||
; line 675 : I2C_PU_on();
|
||
$DGL 0,6
|
||
??bb00_iic_mcu_start:
|
||
set1 PM5.3 ;[INF] 3, 2
|
||
set1 PM3.3 ;[INF] 3, 2
|
||
or P14,#03H ; 3 ;[INF] 3, 2
|
||
set1 P5.3 ;[INF] 3, 2
|
||
clr1 PM5.3 ;[INF] 3, 2
|
||
set1 P3.3 ;[INF] 3, 2
|
||
clr1 PM3.3 ;[INF] 3, 2
|
||
??eb00_iic_mcu_start:
|
||
; line 676 : SAU0EN = 1;
|
||
$DGL 0,7
|
||
set1 !PER0.2 ;[INF] 4, 2
|
||
; line 677 : nop8();
|
||
$DGL 0,8
|
||
call !_nop8 ;[INF] 3, 3
|
||
; line 678 : /*
|
||
; line 679 : NOP( );
|
||
; line 680 : NOP( );
|
||
; line 681 : NOP( );
|
||
; line 682 : NOP( );
|
||
; line 683 : #ifdef _OVERCLOCK_
|
||
; line 684 : NOP( );
|
||
; line 685 : NOP( );
|
||
; line 686 : NOP( );
|
||
; line 687 : NOP( );
|
||
; line 688 : NOP( );
|
||
; line 689 : #endif
|
||
; line 690 : */
|
||
; line 691 : SPS0 = 0x0000; // <20>V<EFBFBD><56><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD>b<EFBFBD>g<EFBFBD>̃N<CC83><4E><EFBFBD>b<EFBFBD>N<EFBFBD>O<EFBFBD>B
|
||
; (8M/2)/1
|
||
$DGL 0,22
|
||
clrw ax ;[INF] 1, 1
|
||
movw !SPS0,ax ;[INF] 3, 1
|
||
; line 692 : SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // <20>Ȉ<EFBFBD>I2C<32>ɐݒ<C990>
|
||
$DGL 0,23
|
||
mov x,#024H ; 36 ;[INF] 2, 1
|
||
movw !SMR02,ax ;[INF] 3, 1
|
||
; line 693 : #ifdef _OVERCLOCK_
|
||
; line 694 : SDR02 = 12 << 9; // <20>{<7B>[<5B><><EFBFBD>[<5B>g<EFBFBD>ݒ<EFBFBD> (8M/2)/1/(x+1
|
||
; )/2
|
||
$DGL 0,25
|
||
movw SDR02,#01800H ; 6144 ;[INF] 4, 1
|
||
; line 695 : #else
|
||
; line 696 : SDR02 = 5 << 9; // <20>{<7B>[<5B><><EFBFBD>[<5B>g<EFBFBD>ݒ<EFBFBD> (8M/2)/1/(x+1)
|
||
; /2
|
||
; line 697 : #endif
|
||
; line 698 :
|
||
; line 699 : SO0 = 0x0404 | TAUS_MASK; // <20>ŏ<EFBFBD><C58F><EFBFBD>HH
|
||
$DGL 0,30
|
||
movw ax,#0F0FH ; 3855 ;[INF] 3, 1
|
||
movw !SO0,ax ;[INF] 3, 1
|
||
; line 700 : iic_mcu_busy = 0;
|
||
$DGL 0,31
|
||
clr1 _iic_mcu_busy ;[INF] 3, 2
|
||
; line 701 : iic_mcu_wo_dma = 0;
|
||
$DGL 0,32
|
||
clr1 _iic_mcu_wo_dma ;[INF] 3, 2
|
||
; line 702 :
|
||
; line 703 :
|
||
; line 704 : // <20>o<EFBFBD>X<EFBFBD>̃<EFBFBD><CC83>Z<EFBFBD>b<EFBFBD>g
|
||
; line 705 : IICIF10 = 0;
|
||
$DGL 0,36
|
||
clr1 IF1L.0 ;[INF] 3, 2
|
||
; line 706 : IICMK10 = 1;
|
||
$DGL 0,37
|
||
set1 MK1L.0 ;[INF] 3, 2
|
||
; line 707 :
|
||
; line 708 : iic_mcu_send_st();
|
||
$DGL 0,39
|
||
call !_iic_mcu_send_st ;[INF] 3, 3
|
||
; line 709 :
|
||
; line 710 : SIO10 = 0xFF;
|
||
$DGL 0,41
|
||
mov SIO10,#0FFH ; 255 ;[INF] 3, 1
|
||
; line 711 : while( IICIF10 == 0 ){} // <20>ʐM<CA90><4D>
|
||
$DGL 0,42
|
||
?L0078:
|
||
bt IF1L.0,$?L0079 ;[INF] 4, 5
|
||
??bb01_iic_mcu_start:
|
||
??eb01_iic_mcu_start:
|
||
br $?L0078 ;[INF] 2, 3
|
||
?L0079:
|
||
; line 712 : iic_mcu_send_sp();
|
||
$DGL 0,43
|
||
call !_iic_mcu_send_sp ;[INF] 3, 3
|
||
; line 713 :
|
||
; line 714 : SIR02 = SSR02;
|
||
$DGL 0,45
|
||
movw ax,!SSR02 ;[INF] 3, 1
|
||
movw !SIR02,ax ;[INF] 3, 1
|
||
; line 715 :
|
||
; line 716 : iic_mcu_initialized = 1;
|
||
$DGL 0,47
|
||
set1 _iic_mcu_initialized ;[INF] 3, 2
|
||
; line 717 : }
|
||
$DGL 0,48
|
||
??ef_iic_mcu_start:
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_start:
|
||
; line 718 :
|
||
; line 719 :
|
||
; line 720 :
|
||
; line 721 : /* ========================================================
|
||
; line 722 : <20><><EFBFBD>W<EFBFBD><57><EFBFBD>[<5B><><EFBFBD>̒<EFBFBD><CC92>~
|
||
; line 723 : <20>ēx<C493>g<EFBFBD><67><EFBFBD>Ƃ<EFBFBD><C682>͏<EFBFBD><CD8F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD>v
|
||
; line 724 : ======================================================== */
|
||
; line 725 : void iic_mcu_stop( )
|
||
; line 726 : {
|
||
_iic_mcu_stop:
|
||
$DGL 1,242
|
||
??bf_iic_mcu_stop:
|
||
; line 727 : while( iic_mcu_busy )
|
||
$DGL 0,2
|
||
?L0082:
|
||
bf _iic_mcu_busy,$?L0083 ;[INF] 4, 5
|
||
; line 728 : {;
|
||
??bb00_iic_mcu_stop:
|
||
??eb00_iic_mcu_stop:
|
||
; line 729 : } // DMA<4D><41><EFBFBD>쒆<EFBFBD>͂<EFBFBD><CD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>҂<EFBFBD>
|
||
$DGL 0,4
|
||
br $?L0082 ;[INF] 2, 3
|
||
?L0083:
|
||
; line 730 : iic_mcu_send_re_st( ); // SCL,SDA<44><41>LL<4C>ɂ<EFBFBD><C982><EFBFBD>
|
||
$DGL 0,5
|
||
call !_iic_mcu_send_re_st ;[INF] 3, 3
|
||
; line 731 : I2C_PU_off();
|
||
$DGL 0,6
|
||
??bb01_iic_mcu_stop:
|
||
set1 PM5.3 ;[INF] 3, 2
|
||
set1 PM3.3 ;[INF] 3, 2
|
||
and P14,#0FCH ; 252 ;[INF] 3, 2
|
||
clr1 P5.3 ;[INF] 3, 2
|
||
clr1 PM5.3 ;[INF] 3, 2
|
||
clr1 P3.3 ;[INF] 3, 2
|
||
clr1 PM3.3 ;[INF] 3, 2
|
||
??eb01_iic_mcu_stop:
|
||
; line 732 : SAU0EN = 0;
|
||
$DGL 0,7
|
||
clr1 !PER0.2 ;[INF] 4, 2
|
||
; line 733 : iic_mcu_initialized = 0;
|
||
$DGL 0,8
|
||
clr1 _iic_mcu_initialized ;[INF] 3, 2
|
||
; line 734 : }
|
||
$DGL 0,9
|
||
??ef_iic_mcu_stop:
|
||
ret ;[INF] 1, 6
|
||
??ee_iic_mcu_stop:
|
||
|
||
@@CODEL CSEG
|
||
END
|
||
|
||
|
||
; *** Code Information ***
|
||
;
|
||
; $FILE C:\78k_data\yav-mcu-basara\branches\0.10(fix)\i2c_mcu.c
|
||
;
|
||
; $FUNC nop8(76)
|
||
; void=(void)
|
||
; CODE SIZE= 1 bytes, CLOCK_SIZE= 6 clocks, STACK_SIZE= 0 bytes
|
||
;
|
||
; $FUNC iic_mcu_read_a_byte(87)
|
||
; bc=(unsigned char SLA:x, unsigned char adrs:[sp+4])
|
||
; CODE SIZE= 111 bytes, CLOCK_SIZE= 118 clocks, STACK_SIZE= 10 bytes
|
||
;
|
||
; $CALL iic_mcu_start(93)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_call_slave(110)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(118)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_re_st(122)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(123)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_sp(139)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_read(158)
|
||
; bc=(unsigned char slave:x, unsigned char adrs:[sp+4],
|
||
; unsigned char len:[sp+6], pointer dest:[sp+8])
|
||
; CODE SIZE= 111 bytes, CLOCK_SIZE= 141 clocks, STACK_SIZE= 12 bytes
|
||
;
|
||
; $CALL iic_mcu_start(165)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_call_slave(188)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(195)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_re_st(199)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(200)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_sp(225)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_write_a_byte(242)
|
||
; bc=(unsigned char SLA:x, unsigned char adrs:[sp+4],
|
||
; unsigned char dat:[sp+6])
|
||
; CODE SIZE= 56 bytes, CLOCK_SIZE= 79 clocks, STACK_SIZE= 12 bytes
|
||
;
|
||
; $CALL iic_mcu_start(247)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_call_slave(266)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(271)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(272)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_sp(273)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_write(297)
|
||
; bc=(unsigned char slave:x, unsigned char adrs:[sp+4],
|
||
; unsigned char len:[sp+6], pointer src:[sp+8])
|
||
; CODE SIZE= 127 bytes, CLOCK_SIZE= 121 clocks, STACK_SIZE= 12 bytes
|
||
;
|
||
; $CALL iic_mcu_start(303)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_call_slave(327)
|
||
; bc=(int:ax)
|
||
;
|
||
; $FUNC int_dma1(388)
|
||
; void=(void)
|
||
; CODE SIZE= 108 bytes, CLOCK_SIZE= 86 clocks, STACK_SIZE= 26 bytes
|
||
;
|
||
; $CALL nop8(408)
|
||
; void=(void)
|
||
;
|
||
; $CALL nop8(423)
|
||
; void=(void)
|
||
;
|
||
; $FUNC int_iic10(452)
|
||
; void=(void)
|
||
; CODE SIZE= 109 bytes, CLOCK_SIZE= 83 clocks, STACK_SIZE= 26 bytes
|
||
;
|
||
; $CALL nop8(469)
|
||
; void=(void)
|
||
;
|
||
; $CALL nop8(484)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_call_slave(513)
|
||
; bc=(unsigned char slave:x)
|
||
; CODE SIZE= 22 bytes, CLOCK_SIZE= 30 clocks, STACK_SIZE= 6 bytes
|
||
;
|
||
; $CALL iic_mcu_send_st(514)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_a_byte(517)
|
||
; bc=(int:ax)
|
||
;
|
||
; $CALL iic_mcu_send_sp(519)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_send_a_byte(533)
|
||
; bc=(unsigned char dat:x)
|
||
; CODE SIZE= 36 bytes, CLOCK_SIZE= 37 clocks, STACK_SIZE= 2 bytes
|
||
;
|
||
; $FUNC iic_mcu_send_st(556)
|
||
; void=(void)
|
||
; CODE SIZE= 37 bytes, CLOCK_SIZE= 32 clocks, STACK_SIZE= 4 bytes
|
||
;
|
||
; $CALL nop8(558)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_send_re_st(585)
|
||
; void=(void)
|
||
; CODE SIZE= 41 bytes, CLOCK_SIZE= 25 clocks, STACK_SIZE= 4 bytes
|
||
;
|
||
; $CALL nop8(588)
|
||
; void=(void)
|
||
;
|
||
; $CALL nop8(603)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_st(617)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_send_sp(627)
|
||
; void=(void)
|
||
; CODE SIZE= 32 bytes, CLOCK_SIZE= 31 clocks, STACK_SIZE= 4 bytes
|
||
;
|
||
; $CALL nop8(631)
|
||
; void=(void)
|
||
;
|
||
; $CALL nop8(646)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_start(670)
|
||
; void=(void)
|
||
; CODE SIZE= 92 bytes, CLOCK_SIZE= 65 clocks, STACK_SIZE= 4 bytes
|
||
;
|
||
; $CALL nop8(677)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_st(708)
|
||
; void=(void)
|
||
;
|
||
; $CALL iic_mcu_send_sp(712)
|
||
; void=(void)
|
||
;
|
||
; $FUNC iic_mcu_stop(726)
|
||
; void=(void)
|
||
; CODE SIZE= 38 bytes, CLOCK_SIZE= 35 clocks, STACK_SIZE= 4 bytes
|
||
;
|
||
; $CALL iic_mcu_send_re_st(730)
|
||
; void=(void)
|
||
|
||
; Target chip : uPD79F0104
|
||
; Device file : E1.00b
|