📄 handle_interrupts.lst
字号:
0x00008514: e3100f40 @... TST r0,#0x100
0x00008518: 03a00001 .... MOVEQ r0,#1
0x0000851c: 13a00000 .... MOVNE r0,#0
0x00008520: e1a0f00e .... MOV pc,r14
int0_install_irq_hooker
0x00008524: e59f1070 p... LDR r1,0x859c
0x00008528: e5810000 .... STR r0,[r1,#0]
0x0000852c: e1a0f00e .... MOV pc,r14
int0_irq_handler
0x00008530: e59f0064 d... LDR r0,0x859c
0x00008534: e5900000 .... LDR r0,[r0,#0]
0x00008538: e3500000 ..P. CMP r0,#0
$p
0x0000853c: 1280f000 .... ADDNE pc,r0,#0
0x00008540: e1a0f00e .... MOV pc,r14
int0_enable_irq
0x00008544: e92d4010 .@-. STMFD r13!,{r4,r14}
0x00008548: e59f4048 H@.. LDR r4,0x8598
0x0000854c: e5940004 .... LDR r0,[r4,#4]
0x00008550: e3800001 .... ORR r0,r0,#1
0x00008554: e5840004 .... STR r0,[r4,#4]
0x00008558: e59f1040 @... LDR r1,0x85a0
0x0000855c: e3a00000 .... MOV r0,#0
0x00008560: eb000080 .... BL request_irq ; 0x8768
0x00008564: e5940004 .... LDR r0,[r4,#4]
0x00008568: e3800010 .... ORR r0,r0,#0x10
0x0000856c: e5840004 .... STR r0,[r4,#4]
0x00008570: e3a00000 .... MOV r0,#0
0x00008574: e8bd8010 .... LDMFD r13!,{r4,pc}
int0_test
0x00008578: e52de004 ..-. STR r14,[r13,#-4]!
0x0000857c: ebffffd7 .... BL int0_init ; 0x84e0
0x00008580: e59f1014 .... LDR r1,0x859c
0x00008584: ebffffe0 .... BL int0_is_up ; 0x850c
0x00008588: e5810004 .... STR r0,[r1,#4]
0x0000858c: ebffffd9 .... BL int0_is_down ; 0x84f8
0x00008590: e5810004 .... STR r0,[r1,#4]
0x00008594: eafffffa .... B 0x8584
$d
0x00008598: 03ff5000 .P.. DCD 67063808
0x0000859c: 0000888c .... DCD 34956
$f
0x000085a0: 00008530 0... DCD 34096
uart0_init
$a
.text
0x000085a4: e59f01a4 .... LDR r0,0x8750
0x000085a8: e3a01003 .... MOV r1,#3
0x000085ac: e5801000 .... STR r1,[r0,#0]
0x000085b0: e3a01e50 P... MOV r1,#0x500
0x000085b4: e5801014 .... STR r1,[r0,#0x14]
0x000085b8: e3a00000 .... MOV r0,#0
0x000085bc: e1a0f00e .... MOV pc,r14
uart0_putchar
0x000085c0: e59f218c .!.. LDR r2,0x8754
0x000085c4: e1a01000 .... MOV r1,r0
0x000085c8: e5920010 .... LDR r0,[r2,#0x10]
0x000085cc: e2803001 .0.. ADD r3,r0,#1
0x000085d0: e5823010 .0.. STR r3,[r2,#0x10]
0x000085d4: e59f217c |!.. LDR r2,0x8758
0x000085d8: e7c21000 .... STRB r1,[r2,r0]
0x000085dc: e59f016c l... LDR r0,0x8750
0x000085e0: e3a01000 .... MOV r1,#0
0x000085e4: e580100c .... STR r1,[r0,#0xc]
0x000085e8: e5901004 .... LDR r1,[r0,#4]
0x000085ec: e3811008 .... ORR r1,r1,#8
0x000085f0: e5801004 .... STR r1,[r0,#4]
0x000085f4: e3a00000 .... MOV r0,#0
0x000085f8: e1a0f00e .... MOV pc,r14
uart0_getchar
0x000085fc: e59f2150 P!.. LDR r2,0x8754
0x00008600: e5920008 .... LDR r0,[r2,#8]
0x00008604: e5921004 .... LDR r1,[r2,#4]
0x00008608: e1500001 ..P. CMP r0,r1
0x0000860c: b2801001 .... ADDLT r1,r0,#1
0x00008610: b5821008 .... STRLT r1,[r2,#8]
0x00008614: b59f1140 @... LDRLT r1,0x875c
0x00008618: a3a00000 .... MOVGE r0,#0
0x0000861c: b7d10000 .... LDRLTB r0,[r1,r0]
0x00008620: e1a0f00e .... MOV pc,r14
uart0_install_irq_hooker
0x00008624: e59f1128 (... LDR r1,0x8754
0x00008628: e5810000 .... STR r0,[r1,#0]
0x0000862c: e1a0f00e .... MOV pc,r14
uart0_recv_irq_handler
0x00008630: e59f0118 .... LDR r0,0x8750
0x00008634: e92d4008 .@-. STMFD r13!,{r3,r14}
0x00008638: e5901010 .... LDR r1,[r0,#0x10]
0x0000863c: e59f2110 .!.. LDR r2,0x8754
0x00008640: e5920004 .... LDR r0,[r2,#4]
0x00008644: e2803001 .0.. ADD r3,r0,#1
0x00008648: e5823004 .0.. STR r3,[r2,#4]
0x0000864c: e59f2108 .!.. LDR r2,0x875c
0x00008650: e7c21000 .... STRB r1,[r2,r0]
0x00008654: e3a00002 .... MOV r0,#2
0x00008658: ebfffef6 .... BL led_on ; 0x8238
0x0000865c: e3a00002 .... MOV r0,#2
0x00008660: e8bd4008 .@.. LDMFD r13!,{r3,r14}
0x00008664: eaffff07 .... B led_off ; 0x8288
uart0_send_irq_handler
0x00008668: e59f20e4 . .. LDR r2,0x8754
0x0000866c: e92d4008 .@-. STMFD r13!,{r3,r14}
0x00008670: e282100c .... ADD r1,r2,#0xc
0x00008674: e8910003 .... LDMIA r1,{r0,r1}
0x00008678: e1500001 ..P. CMP r0,r1
0x0000867c: b2801001 .... ADDLT r1,r0,#1
0x00008680: b582100c .... STRLT r1,[r2,#0xc]
0x00008684: b59f10cc .... LDRLT r1,0x8758
0x00008688: b7d10000 .... LDRLTB r0,[r1,r0]
0x0000868c: b59f10bc .... LDRLT r1,0x8750
0x00008690: b581000c .... STRLT r0,[r1,#0xc]
0x00008694: e3a00003 .... MOV r0,#3
0x00008698: ebfffee6 .... BL led_on ; 0x8238
0x0000869c: e3a00003 .... MOV r0,#3
0x000086a0: e8bd4008 .@.. LDMFD r13!,{r3,r14}
0x000086a4: eafffef7 .... B led_off ; 0x8288
uart0_enable_recv_irq
0x000086a8: e92d4008 .@-. STMFD r13!,{r3,r14}
0x000086ac: e59f10ac .... LDR r1,0x8760
0x000086b0: e3a00005 .... MOV r0,#5
0x000086b4: eb00002b +... BL request_irq ; 0x8768
0x000086b8: e59f0090 .... LDR r0,0x8750
0x000086bc: e5901004 .... LDR r1,[r0,#4]
0x000086c0: e3811001 .... ORR r1,r1,#1
0x000086c4: e5801004 .... STR r1,[r0,#4]
0x000086c8: e5901004 .... LDR r1,[r0,#4]
0x000086cc: e3811004 .... ORR r1,r1,#4
0x000086d0: e5801004 .... STR r1,[r0,#4]
0x000086d4: e3a00000 .... MOV r0,#0
0x000086d8: e8bd8008 .... LDMFD r13!,{r3,pc}
uart0_enable_send_irq
0x000086dc: e92d4008 .@-. STMFD r13!,{r3,r14}
0x000086e0: e59f107c |... LDR r1,0x8764
0x000086e4: e3a00004 .... MOV r0,#4
0x000086e8: eb00001e .... BL request_irq ; 0x8768
0x000086ec: e59f005c \... LDR r0,0x8750
0x000086f0: e5901004 .... LDR r1,[r0,#4]
0x000086f4: e3811008 .... ORR r1,r1,#8
0x000086f8: e5801004 .... STR r1,[r0,#4]
0x000086fc: e3a00000 .... MOV r0,#0
0x00008700: e8bd8008 .... LDMFD r13!,{r3,pc}
uart0_test
0x00008704: e92d4010 .@-. STMFD r13!,{r4,r14}
0x00008708: ebffffa5 .... BL uart0_init ; 0x85a4
0x0000870c: ebffffba .... BL uart0_getchar ; 0x85fc
0x00008710: e1a04000 .@.. MOV r4,r0
0x00008714: e350000d ..P. CMP r0,#0xd
0x00008718: 03a0000a .... MOVEQ r0,#0xa
0x0000871c: 0a000004 .... BEQ 0x8734
0x00008720: e3540008 ..T. CMP r4,#8
0x00008724: 1a000004 .... BNE 0x873c
0x00008728: e3a00008 .... MOV r0,#8
0x0000872c: ebffffa3 .... BL uart0_putchar ; 0x85c0
0x00008730: e3a00020 ... MOV r0,#0x20
0x00008734: ebffffa1 .... BL uart0_putchar ; 0x85c0
0x00008738: ea000001 .... B 0x8744
0x0000873c: e3540000 ..T. CMP r4,#0
0x00008740: 0afffff1 .... BEQ 0x870c
0x00008744: e1a00004 .... MOV r0,r4
0x00008748: ebffff9c .... BL uart0_putchar ; 0x85c0
0x0000874c: eaffffee .... B 0x870c
$d
0x00008750: 03ffd000 .... DCD 67096576
0x00008754: 00008894 .... DCD 34964
0x00008758: 00008ca8 .... DCD 36008
0x0000875c: 000088a8 .... DCD 34984
$f
0x00008760: 00008630 0... DCD 34352
$f
0x00008764: 00008668 h... DCD 34408
request_irq
$a
.text
0x00008768: e59f20c8 . .. LDR r2,0x8838
0x0000876c: e7923100 .1.. LDR r3,[r2,r0,LSL #2]
0x00008770: e3530000 ..S. CMP r3,#0
0x00008774: 07821100 .... STREQ r1,[r2,r0,LSL #2]
0x00008778: 13e00000 .... MVNNE r0,#0
0x0000877c: 03a00000 .... MOVEQ r0,#0
0x00008780: e1a0f00e .... MOV pc,r14
free_irq
0x00008784: e59f10ac .... LDR r1,0x8838
0x00008788: e7912100 .!.. LDR r2,[r1,r0,LSL #2]
0x0000878c: e3520000 ..R. CMP r2,#0
0x00008790: 13a02000 . .. MOVNE r2,#0
0x00008794: 17812100 .!.. STRNE r2,[r1,r0,LSL #2]
0x00008798: 03e00000 .... MVNEQ r0,#0
0x0000879c: 13a00000 .... MOVNE r0,#0
0x000087a0: e1a0f00e .... MOV pc,r14
clear_irq_pending
0x000087a4: e59f0090 .... LDR r0,0x883c
0x000087a8: e5901004 .... LDR r1,[r0,#4]
0x000087ac: e5902004 . .. LDR r2,[r0,#4]
0x000087b0: e1811002 .... ORR r1,r1,r2
0x000087b4: e5801004 .... STR r1,[r0,#4]
0x000087b8: e1a0f00e .... MOV pc,r14
unmask_irq
0x000087bc: e59f3078 x0.. LDR r3,0x883c
0x000087c0: e5931008 .... LDR r1,[r3,#8]
0x000087c4: e3a02001 . .. MOV r2,#1
0x000087c8: e1a00012 .... MOV r0,r2,LSL r0
0x000087cc: e3800980 .... ORR r0,r0,#0x200000
0x000087d0: e1c10000 .... BIC r0,r1,r0
0x000087d4: e5830008 .... STR r0,[r3,#8]
0x000087d8: e1a0f00e .... MOV pc,r14
do_irq
0x000087dc: e92d41f0 .A-. STMFD r13!,{r4-r8,r14}
0x000087e0: e59f6054 T`.. LDR r6,0x883c
0x000087e4: e5965004 .P.. LDR r5,[r6,#4]
0x000087e8: e59f8048 H... LDR r8,0x8838
0x000087ec: e3a04000 .@.. MOV r4,#0
0x000087f0: e3a07001 .p.. MOV r7,#1
0x000087f4: e1a00417 .... MOV r0,r7,LSL r4
0x000087f8: e1100005 .... TST r0,r5
0x000087fc: 15860004 .... STRNE r0,[r6,#4]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -