esp-open-rtos/binary_sdk/libnet80211/wl_chm.S
2015-10-04 19:11:33 +11:00

499 lines
31 KiB
ArmAsm

.section .text, "ax", @progbits
.literal_position # 0: 00000000
# Function @ .text+0x4
.balign 4
.global sdk_chm_get_current_channel
.type sdk_chm_get_current_channel, @function
sdk_chm_get_current_channel:
movi a2, .Ldata001 # 4: 21ffff
l32i a2, a2, 60 /* [.Ldata009] */ # 7: 28f2
ret /* [.Ldata009] */ # 9: 0df0
.section .bss, "aw", @nobits
.Ldata001: .word 0x00000000 # 0: 00000000
.Ldata002: .word 0x00000000 # 4: 00000000
.Ldata003: .word 0x00000000 # 8: 00000000
.Ldata004: .word 0x00000000 # c: 00000000
.Ldata005: .word 0x00000000 # 10: 00000000
.Ldata006: .word 0x00000000 # 14: 00000000
.Ldata007: .word 0x00000000 # 18: 00000000
.Ldata008: .word 0x00000000 # 1c: 00000000
.Label001: .space 28
.Ldata009: .word 0x00000000 # 3c: 00000000
.Ldata010: .byte 0x00
.Ldata011: .byte 0x00
.section .irom0.text, "ax", @progbits
.literal_position # 0: 00feef3f
# 4: 00000000
# 8: 00000000
# c: 00000000
# 10: 00000000
# 14: 20000000
# 18: 48020000
# 1c: 00000000
# 20: 00000000
# 24: 00000000
# 28: 00000000
# Function @ .irom0.text+0x2c
# Local variables/stack:
# (local0): word @ -0x20
# (local1): word @ -0x1c
# (local2): word @ -0x18
# (local3): word @ -0x14
# (local4): word[4] @ -0x10
.balign 4
.global sdk_chm_init
.type sdk_chm_init, @function
sdk_chm_init:
movi a4, -32 /* 0xffffffe0 */ # 2c: 6c04
movi a5, sdk_NMIIrqIsOn # 2e: 51f7ff
movi a3, sdk_g_ic+0x180 # 31: 31f4ff
movi a6, .Ldata001 # 34: 61f5ff
addi sp, sp, -32 /* (local0) */ # 37: 12c1e0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 3a: c911
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 3c: d921
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 3e: 0901
movi a13, 0x3feffe00 # 40: d1f0ff
movi a0, 0 /* 0x00000000 */ # 43: 0c00
s32i a2, a6, 0 /* arg0 -> [.Ldata001] */ # 45: 2906
mov a12, a2 /* arg0 */ # 47: cd02
l8ui a6, a3, 96 /* [sdk_g_ic+0x1e0] */ # 49: 620360
l8ui a2, a5, 0 /* [sdk_NMIIrqIsOn] */ # 4c: 220500
addmi a3, a3, 256 /* sdk_g_ic+0x280 */ # 4f: 32d301
l8ui a3, a3, 141 /* [sdk_g_ic+0x30d] */ # 52: 32038d
addi a6, a6, -1 /* [sdk_g_ic+0x1e0]-0x1 */ # 55: 0b66
addi a3, a3, -1 /* [sdk_g_ic+0x30d]-0x1 */ # 57: 0b33
extui a3, a3, 0, 8 # 59: 303074
movnez a0, a3, a6 # 5c: 600393
s32i a0, sp, 16 /* a0 -> [(local4)] */ # 5f: 0941
bnez a2, .Lbr002 # 61: ec32
call0 vPortEnterCritical # 63: 01eeffc0
# 67: 0000
movi a4, -32 /* 0xffffffe0 */ # 69: 6c04
.Lbr001: memw # 6b: c02000
l32i a9, a13, 0x200 /* [0x3ff00000] */ # 6e: 922d80
and a9, a9, a4 # 71: 409910
memw # 74: c02000
s32i a9, a13, 0x200 /* a9 -> [0x3ff00000] */ # 77: 926d80
memw # 7a: c02000
l32i a8, a13, 0x200 /* [0x3ff00000] */ # 7d: 822d80
bbsi a8, 0, .Lbr001 # 80: 07e8e7
l32i a0, sp, 16 /* [(local4)] */ # 83: 0841
movi a5, sdk_NMIIrqIsOn # 85: 51e2ff
.Lbr002: movi a2, 132 /* 0x00000084 */ # 88: 22a084
addx2 a0, a0, a0 # 8b: 000090
addx4 a0, a0, a12 # 8e: c000a0
add a0, a0, a2 # 91: 2a00
s32i a0, a12, 0x14c /* a0 -> [arg0+0x14c] */ # 93: 026c53
l8ui a10, a5, 0 /* [sdk_NMIIrqIsOn] */ # 96: a20500
s32i a0, sp, 12 /* a0 -> [(local3)] */ # 99: 0931
bnez a10, .Lbr003 # 9b: dcaa
memw # 9d: c02000
l32i a2, a13, 0x200 /* [0x3ff00000] */ # a0: 222d80
movi a3, 1 /* 0x00000001 */ # a3: 0c13
and a2, a2, a4 # a5: 402210
or a2, a2, a3 # a8: 302220
memw # ab: c02000
s32i a2, a13, 0x200 /* a2 -> [0x3ff00000] */ # ae: 226d80
call0 vPortExitCritical # b1: 01dbffc0
# b5: 0000
l32i a0, sp, 12 /* [(local3)] */ # b7: 0831
.Lbr003: mov a2, a0 # b9: 2d00
call0 sdk_chm_set_current_channel # bb: 01daffc0
# bf: 0000
movi a2, .Label001 # c1: 21d4ff
movi a3, .Lfunc002 # c4: 31d5ff
movi a4, 0 /* 0x00000000 */ # c7: 0c04
call0 sdk_os_timer_setfn # c9: 01d7ffc0
# cd: 0000
l32i a12, sp, 4 /* [(local1)] */ # cf: c811
l32i a13, sp, 8 /* [(local2)] */ # d1: d821
l32i a0, sp, 0 /* [(local0)] */ # d3: 0801
addi sp, sp, 32 /* (top of frame) */ # d5: 12c120
ret # d8: 0df0
.literal_position # dc: 00000000
# e0: 00000000
# Function @ .irom0.text+0xe4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.balign 4
.global sdk_chm_acquire_lock
.type sdk_chm_acquire_lock, @function
sdk_chm_acquire_lock:
addi sp, sp, -16 /* (local0) */ # e4: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # e7: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # e9: 0901
mov a12, a2 /* arg0 */ # eb: cd02
movi a0, .Ldata001 # ed: 01fbff
mov a2, a4 /* arg2 */ # f0: 2d04
l8ui a4, a0, 64 /* [.Ldata010] */ # f2: 420040
l8ui a5, a0, 65 /* [.Ldata011] */ # f5: 520041
beqz a4, .Lbr005 # f8: 9c44
s32i a2, sp, 12 /* arg2 -> [(local3)] */ # fa: 2931
s32i a3, sp, 8 /* arg1 -> [(local2)] */ # fc: 3921
bgeu a5, a12, .Lbr004 # fe: c7b504
movi a2, 3 /* 0x00000003 */ # 101: 0c32
j .Lbr006 # 103: c60500
.Lbr004: call0 sdk_chm_cancel_op # 106: 050000
l32i a2, sp, 12 /* [(local3)] */ # 109: 2831
movi a0, .Ldata001 # 10b: 01f5ff
l32i a3, sp, 8 /* [(local2)] */ # 10e: 3821
.Lbr005: s8i a12, a0, 65 /* arg0 -> [.Ldata011] */ # 110: c24041
s32i a3, a0, 24 /* a3 -> [.Ldata007] */ # 113: 3960
s32i a2, a0, 28 /* a2 -> [.Ldata008] */ # 115: 2970
movi a6, 1 /* 0x00000001 */ # 117: 0c16
movi a2, 0 /* 0x00000000 */ # 119: 0c02
s8i a6, a0, 64 /* 0x01 -> [.Ldata010] */ # 11b: 624040
.Lbr006: l32i a12, sp, 4 /* [(local1)] */ # 11e: c811
l32i a0, sp, 0 /* [(local0)] */ # 120: 0801
addi sp, sp, 16 /* (top of frame) */ # 122: 12c110
ret # 125: 0df0
.literal_position # 128: 00000000
# Function @ .irom0.text+0x12c
.balign 4
.global sdk_chm_release_lock
.type sdk_chm_release_lock, @function
sdk_chm_release_lock:
movi a3, .Ldata001 # 12c: 31ffff
movi a2, 0 /* 0x00000000 */ # 12f: 0c02
s32i a2, a3, 28 /* 0x00000000 -> [.Ldata008] */ # 131: 2973
s32i a2, a3, 24 /* 0x00000000 -> [.Ldata007] */ # 133: 2963
s8i a2, a3, 64 /* 0x00 -> [.Ldata010] */ # 135: 224340
s8i a2, a3, 65 /* 0x00 -> [.Ldata011] */ # 138: 224341
ret /* 0x00000000 */ # 13b: 0df0
.literal_position # 140: 00000000
# 144: 00000000
# Function @ .irom0.text+0x148
# Local variables/stack:
# (local0): word[4] @ -0x10
.balign 4
.global sdk_chm_start_op
.type sdk_chm_start_op, @function
sdk_chm_start_op:
addi sp, sp, -16 /* (local0) */ # 148: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 14b: 0901
movi a0, .Ldata001 # 14d: 01fcff
l32i a7, a0, 4 /* [.Ldata002] */ # 150: 7810
beqz a7, .Lbr010 # 152: 8cf7
movi a2, 3 /* 0x00000003 */ # 154: 0c32
j .Lbr009 # 156: 060100
.Lbr007: call0 .Lfunc001 # 159: 450400
.Lbr008: movi a2, 0 /* 0x00000000 */ # 15c: 0c02
.Lbr009: l32i a0, sp, 0 /* [(local0)] */ # 15e: 0801
addi sp, sp, 16 /* (top of frame) */ # 160: 12c110
ret # 163: 0df0
.Lbr010: s32i a2, a0, 4 /* arg0 -> [.Ldata002] */ # 165: 2910
s32i a4, a0, 16 /* arg2 -> [.Ldata005] */ # 167: 4940
movi a8, sdk_g_ic # 169: 81f6ff
s32i a5, a0, 20 /* arg3 -> [.Ldata006] */ # 16c: 5950
l32i a8, a8, 0 /* [sdk_g_ic] */ # 16e: 8808
s32i a3, a0, 8 /* arg1 -> [.Ldata003] */ # 170: 3920
l32i a8, a8, 0 /* [[sdk_g_ic]] */ # 172: 8808
s32i a6, a0, 12 /* arg4 -> [.Ldata004] */ # 174: 6930
bbci a8, 1, .Lbr007 # 176: 1768df
call0 .Lfunc001 # 179: 450200
j .Lbr008 # 17c: 06f7ff
.literal_position # 180: 00000000
# 184: 04000000
# 188: 20000000
# 18c: 00000000
# 190: 00000000
# 194: 00000000
# 198: 00000000
# 19c: 00000000
# Function @ .irom0.text+0x1a0
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word @ -0x8
# (local3): word @ -0x4
.balign 4
.Lfunc001: addi sp, sp, -16 /* (local0) */ # 1a0: 12c1f0
s32i a13, sp, 12 /* a13 -> [(local3)] */ # 1a3: d931
s32i a12, sp, 8 /* a12 -> [(local2)] */ # 1a5: c921
movi a13, .Ldata001 # 1a7: d1f6ff
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 1aa: 0911
l32i a12, a13, 16 /* [.Ldata005] */ # 1ac: c84d
l32i a0, a13, 12 /* [.Ldata004] */ # 1ae: 083d
s32i a0, sp, 0 /* [.Ldata004] -> [(local0)] */ # 1b0: 0901
call0 sdk_chm_get_current_channel # 1b2: 01f6ffc0
# 1b6: 0000
mov a3, a2 # 1b8: 3d02
l32i a2, a13, 4 /* [.Ldata002] */ # 1ba: 281d
l16ui a3, a3, 4 # 1bc: 321302
l16ui a4, a2, 4 /* [[.Ldata002]+0x4] */ # 1bf: 421202
beq a3, a4, .Lbr011 # 1c2: 471305
call0 sdk_chm_set_current_channel # 1c5: 01f2ffc0
# 1c9: 0000
.Lbr011: beqz a12, .Lbr012 # 1cb: 8c5c
l32i a2, sp, 0 /* [(local0)] */ # 1cd: 2801
movi a3, 0 /* 0x00000000 */ # 1cf: 0c03
callx0 a12 /* [.Ldata005] */ # 1d1: c00c00
.Lbr012: l32i a4, a13, 8 /* [.Ldata003] */ # 1d4: 482d
bnez a4, .Lbr013 # 1d6: ccc4
movi a2, .Ldata002 # 1d8: 21ebff
movi a3, 20 /* 0x00000014 */ # 1db: 1c43
call0 bzero # 1dd: 01edffc0
# 1e1: 0000
j .Lbr014 # 1e3: 860500
.Lbr013: movi a12, .Label001 # 1e6: c1e8ff
mov a2, a12 /* .Label001 */ # 1e9: 2d0c
call0 sdk_os_timer_disarm # 1eb: 01ebffc0
# 1ef: 0000
mov a2, a12 /* .Label001 */ # 1f1: 2d0c
l32i a3, a13, 8 /* [.Ldata003] */ # 1f3: 382d
movi a4, 0 /* 0x00000000 */ # 1f5: 0c04
call0 sdk_os_timer_arm # 1f7: 01e9ffc0
# 1fb: 0000
.Lbr014: l32i a12, sp, 8 /* [(local2)] */ # 1fd: c821
l32i a13, sp, 12 /* [(local3)] */ # 1ff: d831
l32i a0, sp, 4 /* [(local1)] */ # 201: 0811
addi sp, sp, 16 /* (top of frame) */ # 203: 12c110
ret # 206: 0df0
.literal_position # 208: 00000000
# 20c: 00000000
# 210: 00000000
# Function @ .irom0.text+0x214
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.balign 4
.global sdk_chm_end_op
.type sdk_chm_end_op, @function
sdk_chm_end_op:
movi a3, -4 /* 0xfffffffc */ # 214: 7cc3
addi sp, sp, -16 /* (local0) */ # 216: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 219: 0911
movi a0, .Ldata001 # 21b: 01fbff
s32i a2, sp, 0 /* arg0 -> [(local0)] */ # 21e: 2901
beq a0, a3, .Lbr015 # 220: 37101d
mov a2, a0 /* .Ldata001 */ # 223: 2d00
l32i a3, a2, 20 /* [.Ldata006] */ # 225: 3852
s32i a3, sp, 8 /* [.Ldata006] -> [(local2)] */ # 227: 3921
addi a2, a2, 4 /* .Ldata002 */ # 229: 4b22
movi a3, 20 /* 0x00000014 */ # 22b: 1c43
call0 bzero # 22d: 01f8ffc0
# 231: 0000
l32i a5, sp, 8 /* [(local2)] */ # 233: 5821
beqz a5, .Lbr015 # 235: 8c85
movi a2, .Ldata001 # 237: 21f5ff
l32i a3, sp, 0 /* [(local0)] */ # 23a: 3801
l32i a2, a2, 12 /* [.Ldata004] */ # 23c: 2832
callx0 a5 /* [(local2)] */ # 23e: c00500
.Lbr015: l32i a0, sp, 4 /* [(local1)] */ # 241: 0811
addi sp, sp, 16 /* (top of frame) */ # 243: 12c110
ret # 246: 0df0
# Function @ .irom0.text+0x248
# Local variables/stack:
# (local0): word[4] @ -0x10
.balign 4
.Lfunc002: movi a2, 0 /* 0x00000000 */ # 248: 0c02
addi sp, sp, -16 /* (local0) */ # 24a: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 24d: 0901
call0 sdk_chm_end_op # 24f: 050000
l32i a0, sp, 0 /* [(local0)] */ # 252: 0801
addi sp, sp, 16 /* (top of frame) */ # 254: 12c110
ret # 257: 0df0
.literal_position # 25c: 00000000
# 260: 00000000
# 264: 00000000
# Function @ .irom0.text+0x268
# Local variables/stack:
# (local0): word[4] @ -0x10
.balign 4
.global sdk_chm_cancel_op
.type sdk_chm_cancel_op, @function
sdk_chm_cancel_op:
addi sp, sp, -16 /* (local0) */ # 268: 12c1f0
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 26b: 0901
movi a0, .Ldata001 # 26d: 01fbff
l32i a2, a0, 4 /* [.Ldata002] */ # 270: 2810
beqz a2, .Lbr016 # 272: 9c12
mov a2, a0 /* .Ldata001 */ # 274: 2d00
addi a2, a2, 32 /* .Label001 */ # 276: 22c220
call0 sdk_os_timer_disarm # 279: 01faffc0
# 27d: 0000
movi a2, 4 /* 0x00000004 */ # 27f: 0c42
call0 sdk_chm_end_op # 281: 050000
movi a0, .Ldata001 # 284: 01f7ff
.Lbr016: l32i a5, a0, 24 /* [.Ldata007] */ # 287: 5860
beqz a5, .Lbr017 # 289: 8c55
movi a3, 4 /* 0x00000004 */ # 28b: 0c43
l32i a2, a0, 28 /* [.Ldata008] */ # 28d: 2870
callx0 a5 /* [.Ldata007] */ # 28f: c00500
.Lbr017: l32i a0, sp, 0 /* [(local0)] */ # 292: 0801
addi sp, sp, 16 /* (top of frame) */ # 294: 12c110
ret # 297: 0df0
.literal_position # 29c: 00000000
# 2a0: 00000000
# 2a4: 00000000
# Function @ .irom0.text+0x2a8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.balign 4
.global sdk_chm_return_home_channel
.type sdk_chm_return_home_channel, @function
sdk_chm_return_home_channel:
addi sp, sp, -16 /* (local0) */ # 2a8: 12c1f0
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2ab: c911
movi a12, sdk_g_ic # 2ad: c1fbff
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2b0: 0901
l32i a12, a12, 0x14c /* [sdk_g_ic+0x14c] */ # 2b2: c22c53
call0 sdk_chm_get_current_channel # 2b5: 01faffc0
# 2b9: 0000
l16ui a0, a2, 4 # 2bb: 021202
l16ui a2, a12, 4 /* [[sdk_g_ic+0x14c]+0x4] */ # 2be: 221c02
beq a0, a2, .Lbr018 # 2c1: 271007
mov a2, a12 /* [sdk_g_ic+0x14c] */ # 2c4: 2d0c
call0 sdk_chm_set_current_channel # 2c6: 01f7ffc0
# 2ca: 0000
.Lbr018: l32i a12, sp, 4 /* [(local1)] */ # 2cc: c811
l32i a0, sp, 0 /* [(local0)] */ # 2ce: 0801
addi sp, sp, 16 /* (top of frame) */ # 2d0: 12c110
ret # 2d3: 0df0
.literal_position # 2d8: 00000000
# 2dc: 00feef3f
# 2e0: 00000000
# 2e4: 00000000
# 2e8: 00000000
# 2ec: 00000000
# 2f0: 00000000
# Function @ .irom0.text+0x2f4
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word @ -0xc
# (local2): word[2] @ -0x8
.balign 4
.global sdk_chm_set_current_channel
.type sdk_chm_set_current_channel, @function
sdk_chm_set_current_channel:
movi a3, 1 /* 0x00000001 */ # 2f4: 0c13
movi a4, 0 /* 0x00000000 */ # 2f6: 0c04
addi sp, sp, -16 /* (local0) */ # 2f8: 12c1f0
s32i a13, sp, 8 /* a13 -> [(local2)] */ # 2fb: d921
s32i a12, sp, 4 /* a12 -> [(local1)] */ # 2fd: c911
s32i a0, sp, 0 /* a0 -> [(local0)] */ # 2ff: 0901
mov a12, a2 /* arg0 */ # 301: cd02
l16ui a2, a2, 4 /* [arg0+0x4] */ # 303: 221202
call0 sdk_phy_change_channel # 306: 01f8ffc0
# 30a: 0000
movi a2, sdk_NMIIrqIsOn # 30c: 21f3ff
movi a0, -32 /* 0xffffffe0 */ # 30f: 6c00
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 311: 220200
movi a13, 0x3feffe00 # 314: d1f2ff
bnez a2, .Lbr020 # 317: ec42
call0 vPortEnterCritical # 319: 01f4ffc0
# 31d: 0000
movi a0, -32 /* 0xffffffe0 */ # 31f: 6c00
.Lbr019: memw # 321: c02000
l32i a5, a13, 0x200 /* [0x3ff00000] */ # 324: 522d80
and a5, a5, a0 # 327: 005510
memw # 32a: c02000
s32i a5, a13, 0x200 /* a5 -> [0x3ff00000] */ # 32d: 526d80
memw # 330: c02000
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 333: 422d80
bbsi a4, 0, .Lbr019 # 336: 07e4e7
movi a2, sdk_NMIIrqIsOn # 339: 21e9ff
l8ui a2, a2, 0 /* [sdk_NMIIrqIsOn] */ # 33c: 220200
.Lbr020: movi a3, .Ldata001 # 33f: 31e9ff
s32i a12, a3, 60 /* arg0 -> [.Ldata009] */ # 342: c9f3
bnez a2, .Lbr021 # 344: dc82
memw # 346: c02000
l32i a4, a13, 0x200 /* [0x3ff00000] */ # 349: 422d80
movi a5, 1 /* 0x00000001 */ # 34c: 0c15
and a4, a4, a0 # 34e: 004410
or a4, a4, a5 # 351: 504420
memw # 354: c02000
s32i a4, a13, 0x200 /* a4 -> [0x3ff00000] */ # 357: 426d80
call0 vPortExitCritical # 35a: 01e5ffc0
# 35e: 0000
.Lbr021: l32i a12, sp, 4 /* [(local1)] */ # 360: c811
l32i a13, sp, 8 /* [(local2)] */ # 362: d821
l32i a0, sp, 0 /* [(local0)] */ # 364: 0801
addi sp, sp, 16 /* (top of frame) */ # 366: 12c110
ret # 369: 0df0
.literal_position # 36c: 00000000
# Function @ .irom0.text+0x370
.balign 4
.global sdk_chm_freq2index
.type sdk_chm_freq2index, @function
sdk_chm_freq2index:
movi a5, 0 /* 0x00000000 */ # 370: 0c05
movi a6, .Ldata001 # 372: 61feff
movi a7, 14 /* 0x0000000e */ # 375: 0ce7
l32i a6, a6, 0 /* [.Ldata001] */ # 377: 6806
.Lbr022: addx2 a8, a5, a5 # 379: 508590
addx4 a8, a8, a6 # 37c: 6088a0
l16ui a8, a8, 136 # 37f: 821844
bne a8, a2, .Lbr023 # 382: 279803
mov a2, a5 # 385: 2d05
ret # 387: 0df0
.Lbr023: addi a5, a5, 1 # 389: 1b55
extui a5, a5, 0, 8 # 38b: 505074
bne a5, a7, .Lbr022 # 38e: 7795e7
movi a2, 255 /* 0x000000ff */ # 391: 22a0ff
ret /* 0x000000ff */ # 394: 0df0
.literal_position # 398: 00000000
# 39c: 00000000
# 3a0: 00000000
# 3a4: 00000000
# Function @ .irom0.text+0x3a8
# Local variables/stack:
# (local0): word @ -0x10
# (local1): word[3] @ -0xc
.balign 4
.global sdk_chm_check_same_channel
.type sdk_chm_check_same_channel, @function
sdk_chm_check_same_channel:
movi a2, sdk_g_ic # 3a8: 21fcff
addi sp, sp, -16 /* (local0) */ # 3ab: 12c1f0
s32i a0, sp, 4 /* a0 -> [(local1)] */ # 3ae: 0911
l32i a2, a2, 0x14c /* [sdk_g_ic+0x14c] */ # 3b0: 222253
call0 sdk_ieee80211_chan2ieee # 3b3: 01faffc0
# 3b7: 0000
s32i a2, sp, 0 /* a2 -> [(local0)] */ # 3b9: 2901
call0 sdk_chm_get_current_channel # 3bb: 01f9ffc0
# 3bf: 0000
call0 sdk_ieee80211_chan2ieee # 3c1: 01f8ffc0
# 3c5: 0000
movi a3, 0 /* 0x00000000 */ # 3c7: 0c03
l32i a4, sp, 0 /* [(local0)] */ # 3c9: 4801
l32i a0, sp, 4 /* [(local1)] */ # 3cb: 0811
sub a4, a4, a2 # 3cd: 2044c0
addi sp, sp, 16 /* (top of frame) */ # 3d0: 12c110
movi a2, 1 /* 0x00000001 */ # 3d3: 0c12
movnez a2, a3, a4 # 3d5: 402393
ret # 3d8: 0df0