ctr_mcu/branches/0.10(X3)/inter_asm/i2c_ctr.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

921 lines
28 KiB
NASM
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: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_ctr.c
; In-file : i2c_ctr.c
; Asm-file : inter_asm\i2c_ctr.asm
; Para-file :
$PROCESSOR(9F0104)
$DEBUG
$NODEBUGA
$KANJICODE SJIS
$TOL_INF 03FH, 0210H, 00H, 00H, 00H, 00H, 00H
$DGS FIL_NAM, .file, 07CH, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, i2c_ctr.c
$DGS MOD_NAM, i2c_ctr, 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 STA_SYM, _lpf_coeff, U, U, 05002H, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 02FH, 02FH, 00H, 00H, 00H, 00H
$DGS GLV_SYM, _int_iic_ctr, U, U, 0E001H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 070H, 00H, 00H
$DGS BEG_FUN, ??bf_int_iic_ctr, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 041H, 016H, 01EH
$DGS STA_SYM, _state, ?L0003, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _reg_adrs, ?L0004, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _reg_adrs_internal, ?L0005, U, 0CH, 03H, 00H, 00H
$DGS STA_SYM, _tx_buf, ?L0006, U, 0CH, 03H, 00H, 00H
$DGS REG_VAR, _rx_buf, 06H, 0FFFFH, 010CH, 04H, 00H, 00H
$DGS BEG_BLK, ??bb00_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 0CH, 00H, 020H
$DGS BEG_BLK, ??bb01_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 014H, 00H, 022H
$DGS BEG_BLK, ??bb02_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 015H, 00H, 026H
$DGS END_BLK, ??eb02_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 015H
$DGS BEG_BLK, ??bb03_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01BH, 00H, 028H
$DGS BEG_BLK, ??bb04_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01CH, 00H, 02CH
$DGS END_BLK, ??eb04_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01CH
$DGS BEG_BLK, ??bb05_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 01DH, 00H, 036H
$DGS END_BLK, ??eb05_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01DH
$DGS END_BLK, ??eb03_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01EH
$DGS END_BLK, ??eb01_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 01FH
$DGS END_BLK, ??eb00_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 026H
$DGS BEG_BLK, ??bb06_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 02AH, 00H, 03AH
$DGS END_BLK, ??eb06_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 030H
$DGS BEG_BLK, ??bb07_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 033H, 00H, 03CH
$DGS BEG_BLK, ??bb08_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 037H, 00H, 042H
$DGS END_BLK, ??eb08_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 03AH
$DGS END_BLK, ??eb07_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 03BH
$DGS BEG_BLK, ??bb09_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 03EH, 00H, 044H
$DGS BEG_BLK, ??bb0A_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04CH, 00H, 048H
$DGS END_BLK, ??eb0A_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 04EH
$DGS BEG_BLK, ??bb0B_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 050H, 00H, 04CH
$DGS END_BLK, ??eb0B_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 052H
$DGS BEG_BLK, ??bb0C_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 059H, 00H, 04EH
$DGS BEG_BLK, ??bb0D_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 05CH, 00H, 052H
$DGS END_BLK, ??eb0D_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 05FH
$DGS BEG_BLK, ??bb0E_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 061H, 00H, 058H
$DGS END_BLK, ??eb0E_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 067H
$DGS END_BLK, ??eb0C_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 068H
$DGS BEG_BLK, ??bb0F_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 06AH, 00H, 05CH
$DGS END_BLK, ??eb0F_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 06DH
$DGS BEG_BLK, ??bb10_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 071H, 00H, 060H
$DGS END_BLK, ??eb10_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 074H
$DGS BEG_BLK, ??bb11_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 076H, 00H, 064H
$DGS END_BLK, ??eb11_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 07AH
$DGS BEG_BLK, ??bb12_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 07EH, 00H, 068H
$DGS END_BLK, ??eb12_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 080H
$DGS BEG_BLK, ??bb13_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 083H, 00H, 00H
$DGS END_BLK, ??eb13_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 085H
$DGS END_BLK, ??eb09_int_iic_ctr, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 087H
$DGS END_FUN, ??ef_int_iic_ctr, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 088H
$DGS GLV_SYM, _IIC_ctr_Init, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 076H, 00H, 00H
$DGS BEG_FUN, ??bf_IIC_ctr_Init, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0CEH, 00H, 076H
$DGS END_FUN, ??ef_IIC_ctr_Init, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 02CH
$DGS GLV_SYM, _IIC_ctr_Stop, U, U, 01H, 026H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 07CH, 00H, 00H
$DGS BEG_FUN, ??bf_IIC_ctr_Stop, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 0FFH, 00H, 07CH
$DGS END_FUN, ??ef_IIC_ctr_Stop, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 04H
$DGS GLV_SYM, _iic_burst_state, U, U, 0CH, 026H, 00H, 00H
$DGS GLV_SYM, _@SEGAX, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _irq_readed, U, U, 034CH, 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, _hosu_read_end, U, U, 01H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 00H, 00H
$DGS GLV_SYM, _rtc_unlock, U, U, 01H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 00H, 00H
$DGS GLV_SYM, _vreg_ctr_read, U, U, 0CH, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 00H, 00H
$DGS GLV_SYM, _vreg_ctr_after_read, U, U, 01H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 00H, 00H
$DGS GLV_SYM, _vreg_ctr_write, U, U, 01H, 02H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 00H, 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
EXTRN _vreg_ctr
EXTRN _hosu_read_end
EXTRN _rtc_unlock
EXTRN _vreg_ctr_read
EXTRN _vreg_ctr_after_read
EXTRN _vreg_ctr_write
EXTBIT _irq_readed
PUBLIC _iic_burst_state
PUBLIC _int_iic_ctr
PUBLIC _IIC_ctr_Init
PUBLIC _IIC_ctr_Stop
@@BITS BSEG
@@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
DB 00H ; 0
DB (1)
@@INIT DSEG BASEP
?L0003: DS (1)
DS (1)
@@DATA DSEG BASEP
_iic_burst_state: DS (1)
?L0004: DS (1)
?L0005: DS (1)
?L0006: 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
; line 1 : /* ========================================================
; line 2 : <20><>SoC <20>V<EFBFBD>K<EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD><6C> I2C<32>ʐM
; line 3 : <20><><EFBFBD>c<EFBFBD><63><EFBFBD>J<EFBFBD>Z.nintendo
; line 4 : '09 Apr
; line 5 : ======================================================== */
; line 6 : #include "incs.h"
; line 7 : #include "accero.h"
; line 8 :
; line 9 : #ifdef _MCU_BSR_
; line 10 : // #ifdef _MODEL_TS0_ || _MODEL_WM0_
; line 11 :
; line 12 : // <20><><EFBFBD>[<5B>L<EFBFBD><4C><EFBFBD>O<EFBFBD><4F><EFBFBD>f<EFBFBD><66><EFBFBD><EFBFBD>I2C<32><43><EFBFBD>t
; line 13 : // TEG<45>͉<EFBFBD><CD89>H<EFBFBD>}<7D>Ńe<C583><65><EFBFBD>R
; line 14 : #define ACKD ACKD1
; line 15 : #define ACKE ACKE1
; line 16 : #define COI COI1
; line 17 : #define IICAEN IICA1EN
; line 18 : #define IICRSV IICRSV1
; line 19 : #define IICA IICA1
; line 20 : #define IICAIF IICAIF1
; line 21 : #define IICAMK IICAMK1
; line 22 : #define IICAPR0 IICAPR11
; line 23 : #define IICAPR1 IICAPR01
; line 24 : #define IICCTL0 IICCTL10
; line 25 : #define IICE IICE1
; line 26 : #define IICF IICF1
; line 27 : #define IICS IICS1
; line 28 : #define IICWH IICWH1
; line 29 : #define IICWL IICWL1
; line 30 : #define LREL LREL1
; line 31 : #define SPD SPD1
; line 32 : #define SPIE SPIE1
; line 33 : #define STCEN STCEN1
; line 34 : #define STD STD1
; line 35 : #define SVA SVA1
; line 36 : #define WREL WREL1
; line 37 : #define WTIM WTIM1
; line 38 : #define TRC TRC1
; line 39 : #define SMC SMC1
; line 40 : #define DFC DFC1
; line 41 :
; line 42 :
; line 43 : #endif
; line 44 :
; line 45 : // ==============================================
; line 46 : extern bit irq_readed; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EA82A9>IRQ<52><51><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E><>
; <20>ǂ܂
; line 47 :
; line 48 : u8 iic_burst_state;
; line 49 :
; line 50 :
; line 51 : /* ========================================================
; line 52 : ======================================================== */
; line 53 : enum
; line 54 : {
; line 55 : IIC_IDLE = 0,
; line 56 : IIC_RCV_REG_ADRS,
; line 57 : IIC_TX_OR_RX,
; line 58 : IIC_TX,
; line 59 : IIC_RX
; line 60 : };
; line 61 :
; line 62 :
; line 63 : // 1<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD><EFBFBD>̓x<CC93>Ɋ<EFBFBD><C98A><EFBFBD>݂<EFBFBD><DD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>[<5B>W<EFBFBD><57><EFBFBD><EFBFBD>
; line 64 : __interrupt void int_iic_ctr( )
; line 65 : {
@@BASE CSEG BASE
_int_iic_ctr:
$DGL 1,21
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_iic_ctr:
; line 66 : static u8 state = IIC_IDLE;
; line 67 : static u8 reg_adrs;
; line 68 : static u8 reg_adrs_internal;
; line 69 : static u8 tx_buf;
; line 70 : u8 rx_buf;
; line 71 :
; line 72 : EI();
$DGL 0,8
ei ;[INF] 3, 4
; line 73 :
; line 74 : // <20>ǂݏo<DD8F><6F><EFBFBD>I<EFBFBD><49>
; line 75 : if( !ACKD ) // <20><><EFBFBD><EFBFBD>ݗv<DD97><76><EFBFBD><EFBFBD>NAK<41>i<EFBFBD>f<EFBFBD>[<5B>^<5E><><EFBFBD>M
; <20>̍Ō<CC8D><C58C>j
$DGL 0,11
push hl ;[INF] 1, 1
movw hl,#0541H ; 1345 ;[INF] 3, 1
mov1 CY,[hl].2 ;[INF] 2, 1
pop hl ;[INF] 1, 1
bc $?L0007 ;[INF] 2, 4
; line 76 : {
??bb00_int_iic_ctr:
; line 77 : state = IIC_IDLE;
$DGL 0,13
clrb !?L0003 ; state ;[INF] 3, 1
; line 78 : SPIE = 0;
$DGL 0,14
clr1 !IICCTL01.4 ;[INF] 4, 2
; line 79 : LREL = 1;
$DGL 0,15
set1 !IICCTL01.6 ;[INF] 4, 2
; line 80 :
; line 81 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E><><EFBFBD>[<5B>h<EFBFBD>ŁA<C581><41><EFBFBD><EFBFBD>݃s<DD83><73><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>Q<EFBFBD>[<5B>g
; line 82 : // <20>܂<EFBFBD><DC82>ǂ܂<C782><DC82>ĂȂ<C482><C882><EFBFBD><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD><EFBFBD><EFBFBD><EFBFBD>΁A<CE81>ēx<C493>A<EFBFBD>T<EFBFBD>[<5B>g
; line 83 : if( irq_readed )
$DGL 0,19
bf _irq_readed,$?L0011 ;[INF] 4, 5
; line 84 : {
??bb01_int_iic_ctr:
; line 85 : IRQ0_neg;
$DGL 0,21
??bb02_int_iic_ctr:
set1 PM7.6 ;[INF] 3, 2
??eb02_int_iic_ctr:
; line 86 : irq_readed = 0;
$DGL 0,22
clr1 _irq_readed ;[INF] 3, 2
; line 87 : if( !( ( vreg_ctr[VREG_C_IRQ0] == 0 )
; line 88 : && ( vreg_ctr[VREG_C_IRQ1] == 0 )
; line 89 : && ( vreg_ctr[VREG_C_IRQ2] == 0 )
; line 90 : && ( vreg_ctr[VREG_C_IRQ3] == 0 ) ) )
$DGL 0,26
cmp0 !_vreg_ctr+16 ;[INF] 3, 1
bnz $?L0013 ;[INF] 2, 4
cmp0 !_vreg_ctr+17 ;[INF] 3, 1
bnz $?L0013 ;[INF] 2, 4
cmp0 !_vreg_ctr+18 ;[INF] 3, 1
bnz $?L0013 ;[INF] 2, 4
cmp0 !_vreg_ctr+19 ;[INF] 3, 1
bz $?L0011 ;[INF] 2, 4
?L0013:
; line 91 : {
??bb03_int_iic_ctr:
; line 92 : while( !IRQ0 ){;} // <20><><EFBFBD>ԉ҂<D489><D282>s<EFBFBD>v<EFBFBD><76><EFBFBD><EFBFBD>
$DGL 0,28
bt P7.6,$?L0015 ;[INF] 4, 5
??bb04_int_iic_ctr:
??eb04_int_iic_ctr:
br $?L0013 ;[INF] 2, 3
?L0015:
; line 93 : IRQ0_ast;
$DGL 0,29
??bb05_int_iic_ctr:
clr1 P7.6 ;[INF] 3, 2
clr1 PM7.6 ;[INF] 3, 2
??eb05_int_iic_ctr:
??eb03_int_iic_ctr:
; line 94 : }
?L0011:
??eb01_int_iic_ctr:
; line 95 : }
; line 96 :
; line 97 : // <20><><EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>ǂݏo<DD8F><6F><EFBFBD>I<EFBFBD><49>
; line 98 : hosu_read_end( );
$DGL 0,34
call !_hosu_read_end ;[INF] 3, 3
; line 99 : rtc_unlock( );
$DGL 0,35
call !_rtc_unlock ;[INF] 3, 3
; line 100 : iic_burst_state = 0;
$DGL 0,36
clrb !_iic_burst_state ;[INF] 3, 1
; line 101 : return;
$DGL 0,37
br !?L0023 ;[INF] 3, 3
??eb00_int_iic_ctr:
; line 102 : }
?L0007:
; line 103 :
; line 104 : if( SPD ) // <20><><EFBFBD><EFBFBD>ݗv<DD97><76><EFBFBD>̓X<CD83>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B
; <20>V<EFBFBD><56><EFBFBD><EFBFBD>
$DGL 0,40
push hl ;[INF] 1, 1
movw hl,#0541H ; 1345 ;[INF] 3, 1
mov1 CY,[hl].0 ;[INF] 2, 1
pop hl ;[INF] 1, 1
bnc $?L0016 ;[INF] 2, 4
; line 105 : // <20>ʐM<CA90>̍Ō<CC8D><C58C>B<EFBFBD><42><EFBFBD><EFBFBD> !ACKD <20>ɗ<EFBFBD><C997><EFBFBD>
; <20>Ƃ<EFBFBD><C682>͊<EFBFBD><CD8A><EFBFBD>ݗ<EFBFBD><DD97>Ȃ<EFBFBD> (SPIE = 0 <20>̂<EFBFBD><CC82><EFBFBD> )
; line 106 : {
??bb06_int_iic_ctr:
; line 107 : state = IIC_IDLE;
$DGL 0,43
clrb !?L0003 ; state ;[INF] 3, 1
; line 108 : SPIE = 0;
$DGL 0,44
clr1 !IICCTL01.4 ;[INF] 4, 2
; line 109 : // I2C<32>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD>ɉ<EFBFBD><C989><EFBFBD><EFBFBD><EFBFBD><EFBFBD>镨 //
; line 110 : rtc_unlock( );
$DGL 0,46
call !_rtc_unlock ;[INF] 3, 3
; line 111 : return;
$DGL 0,47
br !?L0023 ;[INF] 3, 3
??eb06_int_iic_ctr:
; line 112 : }
?L0016:
; line 113 :
; line 114 : if( STD ) // <20><><EFBFBD><EFBFBD>ݗv<DD97><76><EFBFBD>F<EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B
; <20>V<EFBFBD><56><EFBFBD><EFBFBD>
$DGL 0,50
push hl ;[INF] 1, 1
movw hl,#0541H ; 1345 ;[INF] 3, 1
mov1 CY,[hl].1 ;[INF] 2, 1
pop hl ;[INF] 1, 1
bnc $?L0020 ;[INF] 2, 4
; line 115 : {
??bb07_int_iic_ctr:
; line 116 : if( ( state == IIC_TX ) || ( state == IIC_RX )
; line 117 : || ( state == IIC_RCV_REG_ADRS )
$DGL 0,53
cmp !?L0003,#03H ; state,3 ;[INF] 4, 1
bz $?L0022 ;[INF] 2, 4
cmp !?L0003,#04H ; state,4 ;[INF] 4, 1
bz $?L0022 ;[INF] 2, 4
cmp !?L0003,#01H ; state,1 ;[INF] 4, 1
sknz ;[INF] 2, 1
?L0022:
; line 118 : )
; line 119 : {
??bb08_int_iic_ctr:
; line 120 : state = IIC_IDLE;
$DGL 0,56
clrb !?L0003 ; state ;[INF] 3, 1
??eb08_int_iic_ctr:
; line 121 : // no break //
; line 122 : }
?L0020:
??eb07_int_iic_ctr:
; line 123 : }
; line 124 :
; line 125 : switch ( state )
$DGL 0,61
mov x,!?L0003 ; state ;[INF] 3, 1
clrb a ;[INF] 1, 1
onew bc ;[INF] 1, 1
subw ax,#00H ; 0 ;[INF] 3, 1
bz $?L0024 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0025 ;[INF] 2, 4
subw ax,bc ;[INF] 1, 1
bz $?L0026 ;[INF] 2, 4
br $?L0033 ;[INF] 2, 3
; line 126 : {
??bb09_int_iic_ctr:
; line 127 : case ( IIC_IDLE ):
?L0024:
; line 128 : // <20><><EFBFBD>njĂяo<D18F><6F><EFBFBD>ɉ<EFBFBD><C989><EFBFBD><EFBFBD>B
; line 129 : // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
; line 130 : SPIE = 1;
$DGL 0,66
set1 !IICCTL01.4 ;[INF] 4, 2
; line 131 : state = IIC_RCV_REG_ADRS;
$DGL 0,67
oneb !?L0003 ; state ;[INF] 3, 1
; line 132 : WREL = 1; // <20>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>
$DGL 0,68
set1 !IICCTL01.5 ;[INF] 4, 2
; line 133 : break;
$DGL 0,69
br !?L0023 ;[INF] 3, 3
; line 134 :
; line 135 : case ( IIC_RCV_REG_ADRS ): // <20>Q<EFBFBD>o<EFBFBD>C<EFBFBD>g<EFBFBD>ځi<DA81><69><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD>j
; <20><><EFBFBD>M<EFBFBD><4D><EFBFBD>ɗ<EFBFBD><C997><EFBFBD>
?L0025:
; line 136 : // <20><><EFBFBD>W<EFBFBD>X<EFBFBD>^<5E>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD><58><EFBFBD>M
; line 137 : reg_adrs = IICA;
$DGL 0,73
mov a,!IICA1 ;[INF] 3, 1
mov !?L0004,a ; reg_adrs ;[INF] 3, 1
; line 138 : tx_buf = vreg_ctr_read( reg_adrs ); // <20>f<EFBFBD>[<5B>^<5E>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD>Ă<EFBFBD><C482><EFBFBD>
$DGL 0,74
mov x,!?L0004 ; reg_adrs ;[INF] 3, 1
clrb a ;[INF] 1, 1
call !_vreg_ctr_read ;[INF] 3, 3
mov a,c ;[INF] 1, 1
mov !?L0006,a ; tx_buf ;[INF] 3, 1
; line 139 : if( reg_adrs != VREG_C_INFO )
$DGL 0,75
cmp !?L0004,#07FH ; reg_adrs,127 ;[INF] 4, 1
bz $?L0030 ;[INF] 2, 4
; line 140 : {
??bb0A_int_iic_ctr:
; line 141 : state = IIC_TX_OR_RX;
$DGL 0,77
mov !?L0003,#02H ; state,2 ;[INF] 4, 1
??eb0A_int_iic_ctr:
; line 142 : }
$DGL 0,78
br $?L0031 ;[INF] 2, 3
?L0030:
; line 143 : else
; line 144 : {
??bb0B_int_iic_ctr:
; line 145 : state = IIC_IDLE;
$DGL 0,81
clrb !?L0003 ; state ;[INF] 3, 1
??eb0B_int_iic_ctr:
; line 146 : }
?L0031:
; line 147 : WREL = 1;
$DGL 0,83
set1 !IICCTL01.5 ;[INF] 4, 2
; line 148 : break;
$DGL 0,84
br $?L0023 ;[INF] 2, 3
; line 149 :
; line 150 : case ( IIC_TX_OR_RX ): // <20><><EFBFBD>̎<EFBFBD><CC8E>ɗ<EFBFBD><C997><EFBFBD><EFBFBD>݁BST<53>Ȃ瑗
; <20>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>f<EFBFBD>[<5B>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E78F91><EFBFBD><EFBFBD><EFBFBD>܂<EFBFBD>
?L0026:
; line 151 : // if( TRC ){ // <20><><EFBFBD>M<EFBFBD><4D><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74><EFBFBD>O <20>ŋ<EFBFBD><C58B>ʂ<EFBFBD><CA82><EFBFBD><EFBFBD>̂́A<CD81><41><EFBFBD><EFBFBD>
; <20><><EFBFBD>ݒx<DD92><78><EFBFBD><EFBFBD><EFBFBD>ɕs<C995><EFBFBD><EF8D87><EFBFBD>N<EFBFBD><4E><EFBFBD><EFBFBD><E882A6>
; line 152 : if( STD )
$DGL 0,88
push hl ;[INF] 1, 1
movw hl,#0541H ; 1345 ;[INF] 3, 1
mov1 CY,[hl].1 ;[INF] 2, 1
pop hl ;[INF] 1, 1
bnc $?L0032 ;[INF] 2, 4
; line 153 : { // <20>X<EFBFBD>^<5E>[<5B>g<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD>t<EFBFBD><74>
; <20>O
??bb0C_int_iic_ctr:
; line 154 : // <20><><EFBFBD>[<5B>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; line 155 : if( COI )
$DGL 0,91
push hl ;[INF] 1, 1
movw hl,#0541H ; 1345 ;[INF] 3, 1
mov1 CY,[hl].4 ;[INF] 2, 1
pop hl ;[INF] 1, 1
bnc $?L0034 ;[INF] 2, 4
; line 156 : { // <20>A<EFBFBD>h<EFBFBD><68><EFBFBD>X<EFBFBD><58><EFBFBD>v<EFBFBD>t<EFBFBD><74><EFBFBD>O
??bb0D_int_iic_ctr:
; line 157 : state = IIC_TX;
$DGL 0,93
mov !?L0003,#03H ; state,3 ;[INF] 4, 1
??eb0D_int_iic_ctr:
; line 158 : // no break, no return //
; line 159 : }
$DGL 0,95
br $?L0033 ;[INF] 2, 3
?L0034:
; line 160 : else
; line 161 : {
??bb0E_int_iic_ctr:
; line 162 : // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>ňႤ<C588>f<EFBFBD>o<EFBFBD>C<EFBFBD>X<EFBFBD><58><EFBFBD>Ă΂ꂽ<CE82>I
; line 163 : state = IIC_IDLE; // <20>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
$DGL 0,99
clrb !?L0003 ; state ;[INF] 3, 1
; line 164 : SPIE = 0;
$DGL 0,100
clr1 !IICCTL01.4 ;[INF] 4, 2
; line 165 : LREL = 1; // <20>E<EFBFBD>F<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD><EFBFBD>?
$DGL 0,101
set1 !IICCTL01.6 ;[INF] 4, 2
; line 166 : return;
$DGL 0,102
br $?L0023 ;[INF] 2, 3
??eb0E_int_iic_ctr:
; line 167 : }
; line 168 : }
??eb0C_int_iic_ctr:
?L0032:
; line 169 : else
; line 170 : {
??bb0F_int_iic_ctr:
; line 171 : state = IIC_RX; // <20>f<EFBFBD>[<5B>^1<>o<EFBFBD>C<EFBFBD>g<EFBFBD><67><EFBFBD>M<EFBFBD>̊<EFBFBD><CC8A><EFBFBD>݂<EFBFBD>
; <20><><EFBFBD><EFBFBD>
$DGL 0,107
mov !?L0003,#04H ; state,4 ;[INF] 4, 1
??eb0F_int_iic_ctr:
; line 172 : // no break, no return //
; line 173 : }
?L0033:
; line 174 :
; line 175 : default: // <20>o<EFBFBD>[<5B>X<EFBFBD>g R/W <20>ł<EFBFBD><C582><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
; <20>΂<EFBFBD><CE82><EFBFBD>ƂɂȂ<C982>
; line 176 : if( state == IIC_TX )
$DGL 0,112
cmp !?L0003,#03H ; state,3 ;[INF] 4, 1
bnz $?L0036 ;[INF] 2, 4
; line 177 : { // <20><><EFBFBD>M
??bb10_int_iic_ctr:
; line 178 : IICA = tx_buf;
$DGL 0,114
mov a,!?L0006 ; tx_buf ;[INF] 3, 1
mov !IICA1,a ;[INF] 3, 1
; line 179 : vreg_ctr_after_read( reg_adrs ); // <20>ǂ񂾂<C782><F182BE82>N<EFBFBD><4E><EFBFBD>A
; <20>Ȃǂ̏<C782><CC8F><EFBFBD>
$DGL 0,115
mov x,!?L0004 ; reg_adrs ;[INF] 3, 1
clrb a ;[INF] 1, 1
call !_vreg_ctr_after_read ;[INF] 3, 3
??eb10_int_iic_ctr:
; line 180 : }
$DGL 0,116
br $?L0037 ;[INF] 2, 3
?L0036:
; line 181 : else
; line 182 : { // <20><><EFBFBD>M
??bb11_int_iic_ctr:
; line 183 : rx_buf = IICA;
$DGL 0,119
mov a,!IICA1 ;[INF] 3, 1
mov l,a ;[INF] 1, 1
; line 184 : vreg_ctr_write( reg_adrs, rx_buf );
$DGL 0,120
movw ax,hl ;[INF] 1, 1
clrb a ;[INF] 1, 1
push ax ;[INF] 1, 1
mov x,!?L0004 ; reg_adrs ;[INF] 3, 1
call !_vreg_ctr_write ;[INF] 3, 3
pop ax ;[INF] 1, 1
; line 185 : WREL = 1;
$DGL 0,121
set1 !IICCTL01.5 ;[INF] 4, 2
??eb11_int_iic_ctr:
; line 186 : }
?L0037:
; line 187 : //
; line 188 : if( ( reg_adrs != VREG_C_ACC_HOSU_HIST )
; line 189 : && ( reg_adrs != VREG_C_INFO ) )
$DGL 0,125
cmp !?L0004,#04FH ; reg_adrs,79 ;[INF] 4, 1
bz $?L0038 ;[INF] 2, 4
cmp !?L0004,#07FH ; reg_adrs,127 ;[INF] 4, 1
skz ;[INF] 2, 1
; line 190 : { // <20><><EFBFBD>̓<EFBFBD><CC93>‚̃<C282><CC83>W<EFBFBD>X<EFBFBD>^<5E>͓<EFBFBD><CD93><EFBFBD><EFBFBD>ȃA<C883>N<EFBFBD>Z<EFBFBD>X<EFBFBD><58><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B<EFBFBD>A<EFBFBD>N
; <20>Z<EFBFBD>X<EFBFBD>|<7C>C<EFBFBD><43><EFBFBD>^<5E><><EFBFBD>i<EFBFBD>߂Ȃ<DF82><C882>B
??bb12_int_iic_ctr:
; line 191 : reg_adrs += 1;
$DGL 0,127
inc !?L0004 ; reg_adrs ;[INF] 3, 2
??eb12_int_iic_ctr:
; line 192 : }
?L0038:
; line 193 :
; line 194 : if( state == IIC_TX )
$DGL 0,130
cmp !?L0003,#03H ; state,3 ;[INF] 4, 1
bnz $?L0023 ;[INF] 2, 4
; line 195 : { // <20><><EFBFBD><EFBFBD><EFBFBD>ɂ‚<C982><C282>ɑ<EFBFBD><C991><EFBFBD><EFBFBD>f<EFBFBD>[<5B>^<5E>̏<EFBFBD><CC8F><EFBFBD><EFBFBD><EFBFBD>
; <20><><EFBFBD>V<EFBFBD>e<EFBFBD>I<EFBFBD>N<EFBFBD>BSP<53><50><EFBFBD><EFBFBD><EFBFBD>Ďg<C48E><67><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>
??bb13_int_iic_ctr:
; line 196 : tx_buf = vreg_ctr_read( reg_adrs );
$DGL 0,132
mov x,!?L0004 ; reg_adrs ;[INF] 3, 1
clrb a ;[INF] 1, 1
call !_vreg_ctr_read ;[INF] 3, 3
mov a,c ;[INF] 1, 1
mov !?L0006,a ; tx_buf ;[INF] 3, 1
??eb13_int_iic_ctr:
; line 197 : }
; line 198 : break;
??eb09_int_iic_ctr:
; line 199 : }
?L0023:
; line 200 : }
$DGL 0,136
??ef_int_iic_ctr:
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_iic_ctr:
; line 201 :
; line 202 :
; line 203 :
; line 204 : // ========================================================
; line 205 : void IIC_ctr_Init( void )
; line 206 : {
ROM_CODE CSEG BASE
_IIC_ctr_Init:
$DGL 1,112
??bf_IIC_ctr_Init:
; line 207 :
; line 208 : IICAEN = 1;
$DGL 0,3
set1 !PER3.0 ;[INF] 4, 2
; line 209 :
; line 210 : IICE = 0; /* IICA disable */
$DGL 0,5
clr1 !IICCTL01.7 ;[INF] 4, 2
; line 211 :
; line 212 : IICAMK = 1; /* INTIICA disable */
$DGL 0,7
set1 MK2H.3 ;[INF] 3, 2
; line 213 : IICAIF = 0; /* clear INTIICA interrupt flag
; */
$DGL 0,8
clr1 IF2H.3 ;[INF] 3, 2
; line 214 :
; line 215 : IICAPR0 = 1; /* set INTIICA high priority */
$DGL 0,10
set1 PR12H.3 ;[INF] 3, 2
; line 216 : IICAPR1 = 0; /* set INTIICA high priority */
$DGL 0,11
clr1 PR02H.3 ;[INF] 3, 2
; line 217 :
; line 218 : #ifdef _MODEL_TEG2_
; line 219 : P6 &= ~0x3;
; line 220 : #else
; line 221 : P20 &= ~0x3;
$DGL 0,16
mov a,!P20 ;[INF] 3, 1
and a,#0FCH ; 252 ;[INF] 2, 1
mov !P20,a ;[INF] 3, 1
; line 222 : #endif
; line 223 :
; line 224 : SVA = IIC_C_SLAVEADDRESS;
$DGL 0,19
mov !SVA1,#04AH ; 74 ;[INF] 4, 1
; line 225 : IICF = 0x01;
$DGL 0,20
oneb !IICF1 ;[INF] 3, 1
; line 226 :
; line 227 : STCEN = 1; // <20><><EFBFBD>X<EFBFBD>^<5E>[<5B>g<EFBFBD>̋<EFBFBD><CC8B><EFBFBD>
$DGL 0,22
set1 !IICF1.1 ;[INF] 4, 2
; line 228 : IICRSV = 1; // <20>ʐM<CA90>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD>:<3A>X<EFBFBD><58><EFBFBD>[<5B>u<EFBFBD><75>
; <20>O<EFBFBD><4F><EFBFBD><EFBFBD>
$DGL 0,23
set1 !IICF1.0 ;[INF] 4, 2
; line 229 :
; line 230 : SPIE = 0; // <20>X<EFBFBD>g<EFBFBD>b<EFBFBD>v<EFBFBD>R<EFBFBD><52><EFBFBD>f<EFBFBD>B<EFBFBD>V<EFBFBD><56><EFBFBD><EFBFBD><EFBFBD>ł̊<C582><CC8A><EFBFBD>
; <20><><EFBFBD>݂<EFBFBD><DD82>֎~
$DGL 0,25
clr1 !IICCTL01.4 ;[INF] 4, 2
; line 231 : WTIM = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ACK<43><4B><EFBFBD>Ԃ<EFBFBD><D482><EFBFBD><EFBFBD><EFBFBD>clk<6C><6B>L<EFBFBD>Ɍ<EFBFBD>
; <20><EFBFBD><E882B7>
$DGL 0,26
set1 !IICCTL01.3 ;[INF] 4, 2
; line 232 : ACKE = 1; // <20>_<EFBFBD><5F>CPU<50>͖<EFBFBD><CD96><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ď<EFBFBD><C48E>̒ʐM<CA90><4D><EFBFBD><EFBFBD>
; <20><><EFBFBD>߂邩<DF82><E982A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD>ő<EFBFBD><C591><EFBFBD>clk<6C><6B><EFBFBD>J<EFBFBD><4A><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882>Ƃ<EFBFBD><C682><EFBFBD><EFBFBD>Ȃ<EFBFBD>
$DGL 0,27
set1 !IICCTL01.2 ;[INF] 4, 2
; line 233 :
; line 234 : IICWH = 5;
$DGL 0,29
mov !IICWH1,#05H ; 5 ;[INF] 4, 1
; line 235 : IICWL = 10; // L<><4C><EFBFBD>Ԃ̒<D482><CC92><EFBFBD>
$DGL 0,30
mov !IICWL1,#0AH ; 10 ;[INF] 4, 1
; line 236 :
; line 237 : SMC = 1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B>h
$DGL 0,32
set1 !IICCTL11.3 ;[INF] 4, 2
; line 238 : DFC = 1; // <20>f<EFBFBD>W<EFBFBD>^<5E><><EFBFBD>t<EFBFBD>B<EFBFBD><42><EFBFBD>^on (@fast mod
; e)
$DGL 0,33
set1 !IICCTL11.2 ;[INF] 4, 2
; line 239 :
; line 240 : IICAMK = 0; // <20><><EFBFBD><EFBFBD>݂<EFBFBD><DD82><EFBFBD><EFBFBD><EFBFBD>
$DGL 0,35
clr1 MK2H.3 ;[INF] 3, 2
; line 241 :
; line 242 : IICE = 1;
$DGL 0,37
set1 !IICCTL01.7 ;[INF] 4, 2
; line 243 :
; line 244 : #ifdef _MODEL_TEG2_
; line 245 : PM6 &= ~0x3; /* set clock pin for IICA */
; line 246 : #else
; line 247 : PM20 &= ~0x3; /* set clock pin for IICA */
$DGL 0,42
mov a,!PM20 ;[INF] 3, 1
and a,#0FCH ; 252 ;[INF] 2, 1
mov !PM20,a ;[INF] 3, 1
; line 248 : #endif
; line 249 : }
$DGL 0,44
??ef_IIC_ctr_Init:
ret ;[INF] 1, 6
??ee_IIC_ctr_Init:
; line 250 :
; line 251 :
; line 252 :
; line 253 : // ========================================================
; line 254 : void IIC_ctr_Stop( void )
; line 255 : {
_IIC_ctr_Stop:
$DGL 1,118
??bf_IIC_ctr_Stop:
; line 256 : IICE = 0; /* IICA disable */
$DGL 0,2
clr1 !IICCTL01.7 ;[INF] 4, 2
; line 257 : IICAEN = 0;
$DGL 0,3
clr1 !PER3.0 ;[INF] 4, 2
; line 258 : }
$DGL 0,4
??ef_IIC_ctr_Stop:
ret ;[INF] 1, 6
??ee_IIC_ctr_Stop:
@@CODEL CSEG
END
; *** Code Information ***
;
; $FILE C:\78k_data\yav-mcu-basara\branches\0.10(fix)\i2c_ctr.c
;
; $FUNC int_iic_ctr(65)
; void=(void)
; CODE SIZE= 355 bytes, CLOCK_SIZE= 278 clocks, STACK_SIZE= 28 bytes
;
; $CALL hosu_read_end(98)
; void=(void)
;
; $CALL rtc_unlock(99)
; void=(void)
;
; $CALL rtc_unlock(110)
; void=(void)
;
; $CALL vreg_ctr_read(138)
; bc=(int:ax)
;
; $CALL vreg_ctr_after_read(179)
; void=(int:ax)
;
; $CALL vreg_ctr_write(184)
; void=(int:ax, int:[sp+4])
;
; $CALL vreg_ctr_read(196)
; bc=(int:ax)
;
; $FUNC IIC_ctr_Init(206)
; void=(void)
; CODE SIZE= 87 bytes, CLOCK_SIZE= 46 clocks, STACK_SIZE= 0 bytes
;
; $FUNC IIC_ctr_Stop(255)
; void=(void)
; CODE SIZE= 9 bytes, CLOCK_SIZE= 10 clocks, STACK_SIZE= 0 bytes
; Target chip : uPD79F0104
; Device file : E1.00b