📄 main.lss
字号:
2a04: e3e03000 mvn r3, #0 ; 0x0
2a08: e50b3014 str r3, [fp, #-20]
2a0c: e51b3014 ldr r3, [fp, #-20]
2a10: e1a00003 mov r0, r3
2a14: e24bd00c sub sp, fp, #12 ; 0xc
2a18: e89d6800 ldmia sp, {fp, sp, lr}
2a1c: e12fff1e bx lr
2a20: 40000160 andmi r0, r0, r0, ror #2
00002a24 <VCOM_getchar_nonblock>:
2a24: e1a0c00d mov ip, sp
2a28: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2a2c: e24cb004 sub fp, ip, #4 ; 0x4
2a30: e24dd008 sub sp, sp, #8 ; 0x8
2a34: e24b300d sub r3, fp, #13 ; 0xd
2a38: e59f0038 ldr r0, [pc, #56] ; 2a78 <.text+0xa78>
2a3c: e1a01003 mov r1, r3
2a40: eb0000bc bl 2d38 <fifo_get>
2a44: e1a03000 mov r3, r0
2a48: e3530000 cmp r3, #0 ; 0x0
2a4c: 0a000002 beq 2a5c <VCOM_getchar_nonblock+0x38>
2a50: e55b300d ldrb r3, [fp, #-13]
2a54: e50b3014 str r3, [fp, #-20]
2a58: ea000001 b 2a64 <VCOM_getchar_nonblock+0x40>
2a5c: e3e03000 mvn r3, #0 ; 0x0
2a60: e50b3014 str r3, [fp, #-20]
2a64: e51b3014 ldr r3, [fp, #-20]
2a68: e1a00003 mov r0, r3
2a6c: e24bd00c sub sp, fp, #12 ; 0xc
2a70: e89d6800 ldmia sp, {fp, sp, lr}
2a74: e12fff1e bx lr
2a78: 4000016c andmi r0, r0, ip, ror #2
00002a7c <VCOM_putchar>:
2a7c: e1a0c00d mov ip, sp
2a80: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2a84: e24cb004 sub fp, ip, #4 ; 0x4
2a88: e24dd004 sub sp, sp, #4 ; 0x4
2a8c: e50b0010 str r0, [fp, #-16]
2a90: e51b3010 ldr r3, [fp, #-16]
2a94: e20330ff and r3, r3, #255 ; 0xff
2a98: e59f0024 ldr r0, [pc, #36] ; 2ac4 <.text+0xac4>
2a9c: e1a01003 mov r1, r3
2aa0: eb00008e bl 2ce0 <fifo_put>
2aa4: e1a03000 mov r3, r0
2aa8: e3530000 cmp r3, #0 ; 0x0
2aac: 0afffff7 beq 2a90 <VCOM_putchar+0x14>
2ab0: e51b3010 ldr r3, [fp, #-16]
2ab4: e1a00003 mov r0, r3
2ab8: e24bd00c sub sp, fp, #12 ; 0xc
2abc: e89d6800 ldmia sp, {fp, sp, lr}
2ac0: e12fff1e bx lr
2ac4: 40000160 andmi r0, r0, r0, ror #2
00002ac8 <VCOM_getchar>:
2ac8: e1a0c00d mov ip, sp
2acc: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2ad0: e24cb004 sub fp, ip, #4 ; 0x4
2ad4: e24dd004 sub sp, sp, #4 ; 0x4
2ad8: e24b300d sub r3, fp, #13 ; 0xd
2adc: e59f0024 ldr r0, [pc, #36] ; 2b08 <.text+0xb08>
2ae0: e1a01003 mov r1, r3
2ae4: eb000093 bl 2d38 <fifo_get>
2ae8: e1a03000 mov r3, r0
2aec: e3530000 cmp r3, #0 ; 0x0
2af0: 0afffff8 beq 2ad8 <VCOM_getchar+0x10>
2af4: e55b300d ldrb r3, [fp, #-13]
2af8: e1a00003 mov r0, r3
2afc: e24bd00c sub sp, fp, #12 ; 0xc
2b00: e89d6800 ldmia sp, {fp, sp, lr}
2b04: e12fff1e bx lr
2b08: 4000016c andmi r0, r0, ip, ror #2
00002b0c <VCOM_puts>:
2b0c: e1a0c00d mov ip, sp
2b10: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2b14: e24cb004 sub fp, ip, #4 ; 0x4
2b18: e24dd004 sub sp, sp, #4 ; 0x4
2b1c: e50b0010 str r0, [fp, #-16]
2b20: ea000007 b 2b44 <VCOM_puts+0x38>
2b24: e51b3010 ldr r3, [fp, #-16]
2b28: e5d33000 ldrb r3, [r3]
2b2c: e1a02003 mov r2, r3
2b30: e51b3010 ldr r3, [fp, #-16]
2b34: e2833001 add r3, r3, #1 ; 0x1
2b38: e50b3010 str r3, [fp, #-16]
2b3c: e1a00002 mov r0, r2
2b40: ebffffcd bl 2a7c <VCOM_putchar>
2b44: e51b3010 ldr r3, [fp, #-16]
2b48: e5d33000 ldrb r3, [r3]
2b4c: e3530000 cmp r3, #0 ; 0x0
2b50: 1afffff3 bne 2b24 <VCOM_puts+0x18>
2b54: e24bd00c sub sp, fp, #12 ; 0xc
2b58: e89d6800 ldmia sp, {fp, sp, lr}
2b5c: e12fff1e bx lr
00002b60 <USBIntHandler>:
2b60: e52dc004 str ip, [sp, #-4]!
2b64: e1a0c00d mov ip, sp
2b68: e92dd80f stmdb sp!, {r0, r1, r2, r3, fp, ip, lr, pc}
2b6c: e24cb004 sub fp, ip, #4 ; 0x4
2b70: eb000190 bl 31b8 <USBHwISR>
2b74: e3a03000 mov r3, #0 ; 0x0
2b78: e2433efd sub r3, r3, #4048 ; 0xfd0
2b7c: e3a02000 mov r2, #0 ; 0x0
2b80: e5832000 str r2, [r3]
2b84: e24bd01c sub sp, fp, #28 ; 0x1c
2b88: e89d680f ldmia sp, {r0, r1, r2, r3, fp, sp, lr}
2b8c: e8bd1000 ldmia sp!, {ip}
2b90: e25ef004 subs pc, lr, #4 ; 0x4
00002b94 <USBFrameHandler>:
2b94: e1a0c00d mov ip, sp
2b98: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2b9c: e24cb004 sub fp, ip, #4 ; 0x4
2ba0: e24dd004 sub sp, sp, #4 ; 0x4
2ba4: e1a03000 mov r3, r0
2ba8: e14b31b0 strh r3, [fp, #-16]
2bac: e59f0020 ldr r0, [pc, #32] ; 2bd4 <.text+0xbd4>
2bb0: eb000076 bl 2d90 <fifo_avail>
2bb4: e1a03000 mov r3, r0
2bb8: e3530000 cmp r3, #0 ; 0x0
2bbc: da000001 ble 2bc8 <USBFrameHandler+0x34>
2bc0: e3a00020 mov r0, #32 ; 0x20
2bc4: eb000118 bl 302c <USBHwNakIntEnable>
2bc8: e24bd00c sub sp, fp, #12 ; 0xc
2bcc: e89d6800 ldmia sp, {fp, sp, lr}
2bd0: e12fff1e bx lr
2bd4: 40000160 andmi r0, r0, r0, ror #2
00002bd8 <VCOM_init>:
2bd8: e1a0c00d mov ip, sp
2bdc: e92dd800 stmdb sp!, {fp, ip, lr, pc}
2be0: e24cb004 sub fp, ip, #4 ; 0x4
2be4: eb00033a bl 38d4 <USBInit>
2be8: e59f00c0 ldr r0, [pc, #192] ; 2cb0 <.text+0xcb0>
2bec: eb000270 bl 35b4 <USBRegisterDescriptors>
2bf0: e3a00001 mov r0, #1 ; 0x1
2bf4: e59f10b8 ldr r1, [pc, #184] ; 2cb4 <.text+0xcb4>
2bf8: e59f20b8 ldr r2, [pc, #184] ; 2cb8 <.text+0xcb8>
2bfc: eb0001f8 bl 33e4 <USBRegisterRequestHandler>
2c00: e3a00081 mov r0, #129 ; 0x81
2c04: e3a01000 mov r1, #0 ; 0x0
2c08: eb0000da bl 2f78 <USBHwRegisterEPIntHandler>
2c0c: e3a00082 mov r0, #130 ; 0x82
2c10: e59f10a4 ldr r1, [pc, #164] ; 2cbc <.text+0xcbc>
2c14: eb0000d7 bl 2f78 <USBHwRegisterEPIntHandler>
2c18: e3a00005 mov r0, #5 ; 0x5
2c1c: e59f109c ldr r1, [pc, #156] ; 2cc0 <.text+0xcc0>
2c20: eb0000d4 bl 2f78 <USBHwRegisterEPIntHandler>
2c24: e59f0098 ldr r0, [pc, #152] ; 2cc4 <.text+0xcc4>
2c28: eb0000ee bl 2fe8 <USBHwRegisterFrameHandler>
2c2c: e3a00020 mov r0, #32 ; 0x20
2c30: eb0000fd bl 302c <USBHwNakIntEnable>
2c34: ebffff52 bl 2984 <VCOM_init_internal>
2c38: e3e02eff mvn r2, #4080 ; 0xff0
2c3c: e2422003 sub r2, r2, #3 ; 0x3
2c40: e3e03eff mvn r3, #4080 ; 0xff0
2c44: e2433003 sub r3, r3, #3 ; 0x3
2c48: e5933000 ldr r3, [r3]
2c4c: e3c33501 bic r3, r3, #4194304 ; 0x400000
2c50: e5823000 str r3, [r2]
2c54: e3a02000 mov r2, #0 ; 0x0
2c58: e2422eff sub r2, r2, #4080 ; 0xff0
2c5c: e3a03000 mov r3, #0 ; 0x0
2c60: e2433eff sub r3, r3, #4080 ; 0xff0
2c64: e5933000 ldr r3, [r3]
2c68: e3833501 orr r3, r3, #4194304 ; 0x400000
2c6c: e5823000 str r3, [r2]
2c70: e3a03209 mov r3, #-1879048192 ; 0x90000000
2c74: e1a039c3 mov r3, r3, asr #19
2c78: e3a02036 mov r2, #54 ; 0x36
2c7c: e5832000 str r2, [r3]
2c80: e3a03322 mov r3, #-2013265920 ; 0x88000000
2c84: e1a039c3 mov r3, r3, asr #19
2c88: e59f2038 ldr r2, [pc, #56] ; 2cc8 <.text+0xcc8>
2c8c: e5832000 str r2, [r3]
2c90: eb000069 bl 2e3c <enableIRQ>
2c94: e3a00001 mov r0, #1 ; 0x1
2c98: eb0000df bl 301c <USBHwConnect>
2c9c: e3a03000 mov r3, #0 ; 0x0
2ca0: e1a00003 mov r0, r3
2ca4: e24bd00c sub sp, fp, #12 ; 0xc
2ca8: e89d6800 ldmia sp, {fp, sp, lr}
2cac: e12fff1e bx lr
2cb0: 00003ed8 ldreqd r3, [r0], -r8
2cb4: 000028bc streqh r2, [r0], -ip
2cb8: 40000058 andmi r0, r0, r8, asr r0
2cbc: 000027f0 streqd r2, [r0], -r0
2cc0: 0000273c andeq r2, r0, ip, lsr r7
2cc4: 00002b94 muleq r0, r4, fp
2cc8: 00002b60 andeq r2, r0, r0, ror #22
00002ccc <fifo_init>:
2ccc: e3a03000 mov r3, #0 ; 0x0
2cd0: e5801008 str r1, [r0, #8]
2cd4: e5803004 str r3, [r0, #4]
2cd8: e5803000 str r3, [r0]
2cdc: e12fff1e bx lr
00002ce0 <fifo_put>:
2ce0: e590c000 ldr ip, [r0]
2ce4: e59f2048 ldr r2, [pc, #72] ; 2d34 <.text+0xd34>
2ce8: e28c3001 add r3, ip, #1 ; 0x1
2cec: e0032002 and r2, r3, r2
2cf0: e3520000 cmp r2, #0 ; 0x0
2cf4: b2422001 sublt r2, r2, #1 ; 0x1
2cf8: b1e02c82 mvnlt r2, r2, lsl #25
2cfc: e5903004 ldr r3, [r0, #4]
2d00: b1e02ca2 mvnlt r2, r2, lsr #25
2d04: e52de004 str lr, [sp, #-4]!
2d08: b2822001 addlt r2, r2, #1 ; 0x1
2d0c: e1520003 cmp r2, r3
2d10: 15903008 ldrne r3, [r0, #8]
2d14: e3a0e000 mov lr, #0 ; 0x0
2d18: e20110ff and r1, r1, #255 ; 0xff
2d1c: 13a0e001 movne lr, #1 ; 0x1
2d20: 17c3100c strneb r1, [r3, ip]
2d24: 15802000 strne r2, [r0]
2d28: e1a0000e mov r0, lr
2d2c: e49de004 ldr lr, [sp], #4
2d30: e12fff1e bx lr
2d34: 8000007f andhi r0, r0, pc, ror r0
00002d38 <fifo_get>:
2d38: e52de004 str lr, [sp, #-4]!
2d3c: e8904004 ldmia r0, {r2, lr}
2d40: e59fc044 ldr ip, [pc, #68] ; 2d8c <.text+0xd8c>
2d44: e28e3001 add r3, lr, #1 ; 0x1
2d48: e152000e cmp r2, lr
2d4c: e003c00c and ip, r3, ip
2d50: e3a03000 mov r3, #0 ; 0x0
2d54: 0a000009 beq 2d80 <fifo_get+0x48>
2d58: e35c0000 cmp ip, #0 ; 0x0
2d5c: b24cc001 sublt ip, ip, #1 ; 0x1
2d60: e5903008 ldr r3, [r0, #8]
2d64: b1e0cc8c mvnlt ip, ip, lsl #25
2d68: e7d3300e ldrb r3, [r3, lr]
2d6c: b1e0ccac mvnlt ip, ip, lsr #25
2d70: b28cc001 addlt ip, ip, #1 ; 0x1
2d74: e5c13000 strb r3, [r1]
2d78: e580c004 str ip, [r0, #4]
2d7c: e3a03001 mov r3, #1 ; 0x1
2d80: e1a00003 mov r0, r3
2d84: e49de004 ldr lr, [sp], #4
2d88: e12fff1e bx lr
2d8c: 8000007f andhi r0, r0, pc, ror r0
00002d90 <fifo_avail>:
2d90: e890000c ldmia r0, {r2, r3}
2d94: e0423003 sub r3, r2, r3
2d98: e59f001c ldr r0, [pc, #28] ; 2dbc <.text+0xdbc>
2d9c: e2833080 add r3, r3, #128 ; 0x80
2da0: e0030000 and r0, r3, r0
2da4: e3500000 cmp r0, #0 ; 0x0
2da8: b2400001 sublt r0, r0, #1 ; 0x1
2dac: b1e00c80 mvnlt r0, r0, lsl #25
2db0: b1e00ca0 mvnlt r0, r0, lsr #25
2db4: b2800001 addlt r0, r0, #1 ; 0x1
2db8: e12fff1e bx lr
2dbc: 8000007f andhi r0, r0, pc, ror r0
00002dc0 <fifo_free>:
2dc0: e52de004 str lr, [sp, #-4]!
2dc4: ebfffff1 bl 2d90 <fifo_avail>
2dc8: e260007f rsb r0, r0, #127 ; 0x7f
2dcc: e49de004 ldr lr, [sp], #4
2dd0: e12fff1e bx lr
00002dd4 <restoreIRQ>:
2dd4: e10f2000 mrs r2, CPSR
2dd8: e2000080 and r0, r0, #128 ; 0x80
2ddc: e3c23080 bic r3, r2, #128 ; 0x80
2de0: e1833000 orr r3, r3, r0
2de4: e129f003 msr CPSR_fc, r3
2de8: e1a00002 mov r0, r2
2dec: e12fff1e bx lr
00002df0 <restoreFIQ>:
2df0: e10f2000 mrs r2, CPSR
2df4: e2000040 and r0, r0, #64 ; 0x40
2df8: e3c23040 bic r3, r2, #64 ; 0x40
2dfc: e1833000 orr r3, r3, r0
2e00: e129f003 msr CPSR_fc, r3
2e04: e1a00002 mov r0, r2
2e08: e12fff1e bx lr
00002e0c <disableFIQ>:
2e0c: e10f0000 mrs r0, CPSR
2e10: e3803040 orr r3, r0, #64 ; 0x40
2e14: e129f003 msr CPSR_fc, r3
2e18: e12fff1e bx lr
00002e1c <enableFIQ>:
2e1c: e10f0000 mrs r0, CPSR
2e20: e3c03040 bic r3, r0, #64 ; 0x40
2e24: e129f003 msr CPSR_fc, r3
2e28: e12fff1e bx lr
00002e2c <disableIRQ>:
2e2c: e10f0000 mrs r0, CPSR
2e30: e3803080 orr r3, r0, #128 ; 0x80
2e34: e129f003 msr CPSR_fc, r3
2e38: e12fff1e bx lr
00002e3c <enableIRQ>:
2e3c: e10f0000 mrs r0, CPSR
2e40: e3c03080 bic r3, r0, #128 ; 0x80
2e44: e129f003 msr CPSR_fc, r3
2e48: e12fff1e bx lr
00002e4c <USBHwCmd>:
2e4c: e1a00800 mov r0, r0, lsl #16
2e50: e59f202c ldr r2, [pc, #44] ; 2e84 <.text+0xe84>
2e54: e20008ff and r0, r0, #16711680 ; 0xff0000
2e58: e3800c05 orr r0, r0, #1280 ; 0x500
2e5c: e3a03030 mov r3, #48 ; 0x30
2e60: e5823008 str r3, [r2, #8]
2e64: e5820010 str r0, [r2, #16]
2e68: e59f2014 ldr r2, [pc, #20] ; 2e84 <.text+0xe84>
2e6c: e5923000 ldr r3, [r2]
2e70: e2033010 and r3, r3, #16 ; 0x10
2e74: e3530010 cmp r3, #16 ; 0x10
2e78: 1afffffa bne 2e68 <USBHwCmd+0x1c>
2e7c: e5823008 str r3, [r2, #8]
2e80: e12fff1e bx lr
2e84: e0090000 and r0, r9, r0
00002e88 <USBHwCmdWrite>:
2e88: e92d4010 stmdb sp!, {r4, lr}
2e8c: e1a04801 mov r4, r1, lsl #16
2e90: e20000ff and r0, r0, #255 ; 0xff
2e94: e1a04824 mov r4, r4, lsr #16
2e98: ebffffeb bl 2e4c <USBHwCmd>
2e9c: e1a04804 mov r4, r4, lsl #16
2ea0: e59f3024 ldr r3, [pc, #36] ; 2ecc <.text+0xecc>
2ea4: e3844c01 orr r4, r4, #256 ; 0x100
2ea8: e5834010 str r4, [r3, #16]
2eac: e59f2018 ldr r2, [pc, #24] ; 2ecc <.text+0xecc>
2eb0: e5923000 ldr r3, [r2]
2eb4: e2033010 and r3, r3, #16 ; 0x10
2eb8: e3530010 cmp r3, #16 ; 0x10
2ebc: 1afffffa bne 2eac <USBHwCmdWrite+0x24>
2ec0: e5823008 str r3, [r2, #8]
2ec4: e8bd4010 ldmia sp!, {r4, lr}
2ec8: e12fff1e bx lr
2ecc: e0090000 and r0, r9, r0
00002ed0 <USBHwCmdRead>:
2ed0: e92d4010 stmdb sp!, {r4, lr}
2ed4: e20040ff and r4, r0, #255 ; 0xff
2ed8: e1a00004 mov r0, r4
2edc: ebffffda bl 2e4c <USBHwCmd>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -