📄 updown.asm
字号:
// FR Family SOFTUNE cpcom V65L04
.program "UpDown"
.library "lib911.lib"
._LANGUAGE C_FR20, N, U, F
._FILE "D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\UpDownCounter\UpDown.c", 0
._FILE "D:\kongou\MAE\soft\sample_soft\200803_Sample\MB91635\UpDownCounter\UpDown.h", 1
._FILE "..\IOH_MB91635_V01L02\mb91635.h", 2
._FILE "..\IOH_MB91635_V01L02\_fr.h", 3
._BTYPE 0x80000001, 1
._BTYPE 0x80000002, 1
._BTYPE 0x80000003, 2
._BTYPE 0x80000004, 2
._BTYPE 0x80000005, 4
._BTYPE 0x80000006, 4
._BTYPE 0x80000007, 4
._BTYPE 0x80000008, 4
._BTYPE 0x80000009, 1
._BTYPE 0x8000000a, 2
._BTYPE 0x8000000b, 4
._BTYPE 0x8000000c, 8
._BTYPE 0x8000000d, 8
._BTYPE 0x8000000e, 1
._BTYPE 0x8000000f, 0
._BTYPE 0x80000010, 8
._BTYPE 0x80000011, 8
.global _IO_PDR0
.global _IO_PDR1
.global _IO_PDR2
.global _IO_PDR3
.global _IO_PDR4
.global _IO_PDR5
.global _IO_PDR6
.global _IO_PDR7
.global _IO_PDR8
.global _IO_PDR9
.global _IO_PDRA
.global _IO_PDRB
.global _IO_PDRC
.global _IO_PDRG
.global _IO_PDRH
.global _IO_PDRI
.global _IO_PDRK
.global _IO_WDTCR0
.global _IO_WDTCPR0
.global _IO_EIRR0
.global _IO_ENIR0
.global _IO_ELVR0
.global _IO_DICR
.global _IO_TMRLRA0
.global _IO_TMR0
.global _IO_TMCSR0
.global _IO_TMRLRA1
.global _IO_TMR1
.global _IO_TMCSR1
.global _IO_TMRLRA2
.global _IO_TMR2
.global _IO_TMCSR2
.global _IO_UART0
.global _IO_UART1
.global _IO_UART2
.global _IO_UART3
.global _IO_UART4
.global _IO_UART5
.global _IO_UART6
.global _IO_UART7
.global _IO_UART0_I2C0
.global _IO_RDRM0123
.global _IO_RDRM4567
.global _IO_SSEL0123
.global _IO_SSEL4567
.global _IO_UART8
.global _IO_UART9
.global _IO_UART10
.global _IO_UART11
.global _IO_EIRR1
.global _IO_ENIR1
.global _IO_ELVR1
.global _IO_EIRR2
.global _IO_ENIR2
.global _IO_ELVR2
.global _IO_EIRR3
.global _IO_ENIR3
.global _IO_ELVR3
.global _IO_AD0
.global _IO_BT0
.global _IO_BT1
.global _IO_BT2
.global _IO_BT3
.global _IO_BTSEL0123
.global _IO_DAC
.global _IO_AD1
.global _IO_ADCHE
.global _IO_IRPR
.global _IO_UD0
.global _IO_UD1
.global _IO_UD2
.global _IO_UD3
.global _IO_CPCLR0
.global _IO_TCDT0
.global _IO_TCCSH0
.global _IO_TCCSL0
.global _IO_IPCP0
.global _IO_IPCP1
.global _IO_IPCP2
.global _IO_IPCP3
.global _IO_ICS01
.global _IO_ICS23
.global _IO_IPCP4
.global _IO_IPCP5
.global _IO_IPCP6
.global _IO_IPCP7
.global _IO_ICS45
.global _IO_ICS67
.global _IO_OCCP0
.global _IO_OCCP1
.global _IO_OCCP2
.global _IO_OCCP3
.global _IO_OCS01
.global _IO_OCS23
.global _IO_OCCP4
.global _IO_OCCP5
.global _IO_OCCP6
.global _IO_OCCP7
.global _IO_OCS45
.global _IO_OCS67
.global _IO_FRTSEL
.global _IO_CPCLR1
.global _IO_TCDT1
.global _IO_TCCSH1
.global _IO_TCCSL1
.global _IO_FCTLR
.global _IO_FSTR
.global _IO_WREN
.global _IO_WRAR00
.global _IO_WRDR00
.global _IO_WRAR01
.global _IO_WRDR01
.global _IO_WRAR02
.global _IO_WRDR02
.global _IO_WRAR03
.global _IO_WRDR03
.global _IO_WRAR04
.global _IO_WRDR04
.global _IO_WRAR05
.global _IO_WRDR05
.global _IO_WRAR06
.global _IO_WRDR06
.global _IO_WRAR07
.global _IO_WRDR07
.global _IO_WRAR08
.global _IO_WRDR08
.global _IO_WRAR09
.global _IO_WRDR09
.global _IO_WRAR10
.global _IO_WRDR10
.global _IO_WRAR11
.global _IO_WRDR11
.global _IO_WRAR12
.global _IO_WRDR12
.global _IO_WRAR13
.global _IO_WRDR13
.global _IO_WRAR14
.global _IO_WRDR14
.global _IO_WRAR15
.global _IO_WRDR15
.global _IO_PORT1
.global _IO_ICR
.global _IO_CLK
.global _IO_IORR
.global _IO_PORT2
.global _IO_PORT3
.global _IO_ICSEL
.global _IO_CLKG
.global _IO_WTC
.global _IO_EBUS
.global _IO_DMAC
.global _IO_DNMIR
.global _IO_DILVR
.global _IO_DMACR
.global _IO_BT4
.global _IO_BT5
.global _IO_BT6
.global _IO_BT7
.global _IO_BTSEL4567
.global _IO_BT8
.global _IO_BT9
.global _IO_BTA
.global _IO_BTB
.global _IO_BTSEL89AB
.global _IO_BTC
.global _IO_BTD
.global _IO_BTE
.global _IO_BTF
.global _IO_BTSELCDEF
.global _IO_BTSSSR
.section DATA, DATA, align=4
.global _U_D_CHECK
.align 4
_U_D_CHECK:
.res.b 4
.global _COUNT
_COUNT:
.res.b 4
.global _timer_ovf_cnt
_timer_ovf_cnt:
.res.b 4
.global _timer_cnt
_timer_cnt:
.res.b 4
.global _timer_mode
.align 1
_timer_mode:
.res.b 1
.section CODE, CODE, align=2
.global _UpDown_init
._SYMBOL "UpDown_init", F, 0x8000000f, E, "_UpDown_init", F
._FPARAM S, 1, F
._SYMBOL "mode", P, 0x80000002, A, 11
._FPARAM E
._CONFIG S, F, 1
._LINE 0, 28
_UpDown_init:
L_20:
ST R4,@-SP
ST RP,@-SP
ENTER #4
;-------end_of_no_optimize_block
._FUNCTION "fp", "fp", 40
._CONFIG S, B
L_21: // Pred: L_20
._LINE 0, 30
LDI:32 #_IO_ICR+24,R0
LDI #16,R1
STB R1,@R0
._LINE 0, 33
LDI:32 #_IO_PORT3+8,R1
LDI #0,R0
STB R0,@R1 ; _IO_PORT3
._LINE 0, 34
LDI:32 #_IO_PORT3+18,R1
STB R0,@R1 ; _IO_PORT3
._LINE 0, 35
LDI:32 #_IO_PORT3+22,R1
STB R0,@R1 ; _IO_PORT3
._LINE 0, 36
LDI:32 #_IO_PORT3+28,R1
STB R0,@R1 ; _IO_PORT3
._LINE 0, 40
LDI:32 #_IO_PORT2+1,R1
STB R0,@R1 ; _IO_PORT2
._LINE 0, 44
LDI:32 #_IO_PORT1+1,R1
STB R0,@R1 ; _IO_PORT1
._LINE 0, 50
LDUB @(FP,11),R0 ; _mode
CMP #4,R0
BNC32 L_28,R12
L_53: // Pred: L_21
._LINE 0, 50
LDI:32 #L_50055,R13
LSL #2,R0
LD @(R13,R0),R12
;-------table_branch
JMP @R12
.section CONST, CONST, align=4
.align 4
L_50055:
.word L_23
.word L_24
.word L_25
.word L_26
.section CODE, CODE, align=2
.align 2
L_23: // Pred: L_53
._LINE 0, 52
LDI:32 #_IO_UD0,R0
LDI #49152,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 54
LDI:32 #_IO_UD0+4,R0
LDI #32856,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 60
LDI:32 #_IO_UD0+7,R0
LDI #32,R1
STB R1,@R0 ; _IO_UD0
BRA32 L_28,R12
L_24: // Pred: L_53
._LINE 0, 65
LDI:32 #_IO_UD0,R0
LDI #256,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 67
LDI:32 #_IO_UD0+4,R0
LDI #34430,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 77
LDI:32 #_IO_UD0+7,R0
LDI #96,R1
STB R1,@R0 ; _IO_UD0
BRA32 L_28,R12
L_25: // Pred: L_53
._LINE 0, 83
LDI:32 #_IO_UD0,R0
LDI #256,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 85
LDI:32 #_IO_UD0+4,R0
LDI #34942,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 94
LDI:32 #_IO_UD0+7,R0
LDI #96,R1
STB R1,@R0 ; _IO_UD0
BRA32 L_28,R12
L_26: // Pred: L_53
._LINE 0, 100
LDI:32 #_IO_UD0,R0
LDI #256,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 102
LDI:32 #_IO_UD0+4,R0
LDI #35966,R1
STH R1,@R0 ; _IO_UD0
._LINE 0, 111
LDI:32 #_IO_UD0+7,R0
LDI #96,R1
;-------volatile_access
STB R1,@R0 ; _IO_UD0
L_28: // Pred: L_26 L_25 L_24 L_23
// L_53 L_21
._LINE 0, 118
._CONFIG E
._LINE 0, 119
LEAVE
LD @SP+,RP
ADDSP #4
RET
._CONFIG E
.global _UpDown_start
._SYMBOL "UpDown_start", F, 0x8000000f, E, "_UpDown_start", F
._FPARAM S, 0, F
._FPARAM E
._CONFIG S, F, 1
._LINE 0, 126
_UpDown_start:
L_29:
ST RP,@-SP
ENTER #4
;-------end_of_no_optimize_block
._FUNCTION "fp", "fp", 16
._CONFIG S, B
L_30: // Pred: L_29
._LINE 0, 128
LDI:32 #_IO_UD0+5,R12
BAND #0xF7,@R12
._LINE 0, 129
LDI:32 #_IO_UD0+7,R12
BOR #0x80,@R12
L_31: // Pred: L_30
._LINE 0, 129
._CONFIG E
._LINE 0, 130
LEAVE
LD @SP+,RP
RET
._CONFIG E
.global _UpDown_int0
._SYMBOL "UpDown_int0", F, 0x8000000f, E, "_UpDown_int0", I
._FPARAM S, 0, F
._FPARAM E
._CONFIG S, F, 1
._LINE 0, 137
_UpDown_int0:
L_32:
STM (R0,R12)
ST RP,@-SP
ENTER #4
;-------end_of_no_optimize_block
._FUNCTION "fp", "fp", 16
._CONFIG S, B
L_33: // Pred: L_32
._LINE 0, 139
LDI:32 #_IO_UD0+4,R0
BTSTH #0x4,@R0
BEQ32 L_35,R12
L_34: // Pred: L_33
._LINE 0, 140
._LINE 0, 141
BAND #0xBF,@R0
._LINE 0, 142
LDI:32 #_IO_UD0+2,R12
LDUH @R12,R0 ; _IO_UD0
LDI:32 #_COUNT,R12
ST R0,@R12 ; _COUNT
._LINE 0, 143
LDI:32 #_IO_UD0+7,R12
LDUB @R12,R0 ; _IO_UD0
LDI:32 #_U_D_CHECK,R12
ST R0,@R12 ; _U_D_CHECK
._LINE 0, 144
L_35: // Pred: L_34 L_33
._LINE 0, 146
LDI:32 #_IO_UD0+7,R0
BTSTH #0x1,@R0
BEQ32 L_37,R12
L_36: // Pred: L_35
._LINE 0, 147
._LINE 0, 148
BAND #0xEF,@R0
._LINE 0, 149
L_37: // Pred: L_36 L_35
._LINE 0, 151
BTSTL #0x8,@R0
BEQ32 L_39,R12
L_38: // Pred: L_37
._LINE 0, 152
._LINE 0, 153
BAND #0xF7,@R0
._LINE 0, 154
L_39: // Pred: L_38 L_37
._LINE 0, 156
BTSTL #0x4,@R0
BEQ32 L_42,R12
L_40: // Pred: L_39
._LINE 0, 157
._LINE 0, 158
BAND #0xFB,@R0
._LINE 0, 159
L_42: // Pred: L_40 L_39
._LINE 0, 159
._CONFIG E
._LINE 0, 160
LEAVE
LD @SP+,RP
LDM (R0,R12)
RETI
._CONFIG E
.global _dummy
._SYMBOL "dummy", F, 0x8000000f, E, "_dummy", I
._FPARAM S, 0, F
._FPARAM E
._CONFIG S, F, 1
._LINE 0, 165
_dummy:
L_49:
ST R12,@-SP
ST RP,@-SP
ENTER #4
;-------end_of_no_optimize_block
._FUNCTION "fp", "fp", 16
._CONFIG S, B
L_50: // Pred: L_49
._LINE 0, 167
L_51: // Pred: L_51 L_50
._LINE 0, 167
._LINE 0, 167
._LINE 0, 168
BRA32 L_51,R12
L_52:
._LINE 0, 168
._CONFIG E
._LINE 0, 168
._CONFIG E
._SYMBOL "U_D_CHECK", V, 0x80000006, E, "_U_D_CHECK"
._SYMBOL "COUNT", V, 0x80000006, E, "_COUNT"
._SYMBOL "timer_ovf_cnt", V, 0x80000006, E, "_timer_ovf_cnt"
._SYMBOL "timer_cnt", V, 0x80000006, E, "_timer_cnt"
._SYMBOL "timer_mode", V, 0x80000002, E, "_timer_mode"
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -