⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 int.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 2 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]

; commandline [-errors .\err\int.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  T0Int PROC
;;;16     static void __irq T0Int(void)           //FIQ
;;;17     {
                  |L1.0|
000000  e92d0003          STMFD    sp!,{r0,r1}
;;;18         ClearPending(BIT_TIMER0);
000004  e3a00e40          MOV      r0,#0x400
000008  e59f11e8          LDR      r1,|L1.504|
00000c  e5810000          STR      r0,[r1,#0]
000010  e1c10000          BIC      r0,r1,r0
000014  e5900010          LDR      r0,[r0,#0x10]
000018  e5810010          STR      r0,[r1,#0x10]
00001c  e1a00001          MOV      r0,r1
000020  e5900010          LDR      r0,[r0,#0x10]
;;;19         fiqCnt0 += 1;
000024  e59f01d0          LDR      r0,|L1.508|
000028  e5900000          LDR      r0,[r0,#0]  ; fiqCnt0
00002c  e2800001          ADD      r0,r0,#1
000030  e59f11c4          LDR      r1,|L1.508|
000034  e5810000          STR      r0,[r1,#0]  ; fiqCnt0
;;;20     
;;;21     }
000038  e8bd0003          LDMFD    sp!,{r0,r1}
00003c  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  T1Int PROC
;;;24     static void __irq T1Int(void)           //IRQ
;;;25     {
                  |L1.64|
000040  e92d1003          STMFD    sp!,{r0,r1,r12}
;;;26         ClearPending(BIT_TIMER1);           
000044  e3a00e80          MOV      r0,#0x800
000048  e59f11a8          LDR      r1,|L1.504|
00004c  e5810000          STR      r0,[r1,#0]
000050  e1c10000          BIC      r0,r1,r0
000054  e5900010          LDR      r0,[r0,#0x10]
000058  e5810010          STR      r0,[r1,#0x10]
00005c  e1a00001          MOV      r0,r1
000060  e5900010          LDR      r0,[r0,#0x10]
;;;27         fiqCnt1 += 1;
000064  e59f0194          LDR      r0,|L1.512|
000068  e5900000          LDR      r0,[r0,#0]  ; fiqCnt1
00006c  e2800001          ADD      r0,r0,#1
000070  e59f1188          LDR      r1,|L1.512|
000074  e5810000          STR      r0,[r1,#0]  ; fiqCnt1
;;;28         
;;;29         if(fiqCnt0!=fiqCnt1)
000078  e59f017c          LDR      r0,|L1.508|
00007c  e5900000          LDR      r0,[r0,#0]  ; fiqCnt0
000080  e59f1178          LDR      r1,|L1.512|
000084  e5911000          LDR      r1,[r1,#0]  ; fiqCnt1
000088  e1500001          CMP      r0,r1
00008c  0a000002          BEQ      |L1.156|
;;;30             fiqCnt1 = 0; 
000090  e3a00000          MOV      r0,#0
000094  e59f1164          LDR      r1,|L1.512|
000098  e5810000          STR      r0,[r1,#0]  ; fiqCnt1
;;;31         if(fiqCnt0==10000)                  
                  |L1.156|
00009c  e59f0158          LDR      r0,|L1.508|
0000a0  e5900000          LDR      r0,[r0,#0]  ; fiqCnt0
0000a4  e240cd80          SUB      r12,r0,#0x2000
0000a8  e25cce71          SUBS     r12,r12,#0x710
0000ac  1a000002          BNE      |L1.188|
;;;32             rTCON   = 0x0;                  
0000b0  e3a00000          MOV      r0,#0
0000b4  e3a01444          MOV      r1,#0x44000000
0000b8  e5810008          STR      r0,[r1,#8]
;;;33     }
                  |L1.188|
0000bc  e8bd1003          LDMFD    sp!,{r0,r1,r12}
0000c0  e25ef004          SUBS     pc,lr,#4
                          ENDP

                  Test_Fiq PROC
;;;36     void Test_Fiq(void)
;;;37     {
0000c4  e92d4010          STMFD    sp!,{r4,lr}
;;;38         int intmod;
;;;39     
;;;40         Uart_Printf("[ FIQ Interrupt Test ]\n");
0000c8  e28f0f4d          ADR      r0,|L1.516|
0000cc  ebfffffe          BL       _printf
;;;41         fiqCnt0     = 0;
0000d0  e3a00000          MOV      r0,#0
0000d4  e59f1120          LDR      r1,|L1.508|
0000d8  e5810000          STR      r0,[r1,#0]  ; fiqCnt0
;;;42         fiqCnt1     = 0;    
0000dc  e3a00000          MOV      r0,#0
0000e0  e59f1118          LDR      r1,|L1.512|
0000e4  e5810000          STR      r0,[r1,#0]  ; fiqCnt1
;;;43         pISR_FIQ    = (U32)T0Int;                
0000e8  e59f012c          LDR      r0,|L1.540|
0000ec  e59f112c          LDR      r1,|L1.544|
0000f0  e5810f1c          STR      r0,[r1,#0xf1c]
;;;44         pISR_TIMER1 = (U32)T1Int;                
0000f4  e59f0128          LDR      r0,|L1.548|
0000f8  e5810f4c          STR      r0,[r1,#0xf4c]
;;;45         intmod      = rINTMOD;                      
0000fc  e59f00f4          LDR      r0,|L1.504|
000100  e5900004          LDR      r0,[r0,#4]
000104  e1a04000          MOV      r4,r0
;;;46         rINTMOD     = BIT_TIMER0;                   
000108  e3a00e40          MOV      r0,#0x400
00010c  e59f10e4          LDR      r1,|L1.504|
000110  e5810004          STR      r0,[r1,#4]
;;;47         rSRCPND     = BIT_TIMER0 | BIT_TIMER1;      
000114  e3a00ec0          MOV      r0,#0xc00
000118  e1c11000          BIC      r1,r1,r0
00011c  e5810000          STR      r0,[r1,#0]
;;;48         rINTPND     = BIT_TIMER0 | BIT_TIMER1;      
000120  e3a00ec0          MOV      r0,#0xc00
000124  e1c11000          BIC      r1,r1,r0
000128  e5810010          STR      r0,[r1,#0x10]
;;;49                    
;;;50         rTCFG0  = 0x0;      
00012c  e3a00000          MOV      r0,#0
000130  e3a01444          MOV      r1,#0x44000000
000134  e5810000          STR      r0,[r1,#0]
;;;51         rTCFG1  = 0x0;      
000138  e3a00000          MOV      r0,#0
00013c  e3a01444          MOV      r1,#0x44000000
000140  e5810004          STR      r0,[r1,#4]
;;;52         rTCNTB0 = 2570;
000144  e59f00dc          LDR      r0,|L1.552|
000148  e3a01444          MOV      r1,#0x44000000
00014c  e581000c          STR      r0,[r1,#0xc]
;;;53         rTCNTB1 = 2570;
000150  e3a01444          MOV      r1,#0x44000000
000154  e5810018          STR      r0,[r1,#0x18]
;;;54         rTCON   = 0xa0a;
000158  e3a01444          MOV      r1,#0x44000000
00015c  e5810008          STR      r0,[r1,#8]
;;;55         rTCON   = 0x909;
000160  e59f00c4          LDR      r0,|L1.556|
000164  e3a01444          MOV      r1,#0x44000000
000168  e5810008          STR      r0,[r1,#8]
;;;56         
;;;57         rINTMSK = ~(BIT_TIMER0 | BIT_TIMER1);      
00016c  e3e00ec0          MVN      r0,#0xc00
000170  e24117f8          SUB      r1,r1,#0x3e00000
000174  e5810008          STR      r0,[r1,#8]
;;;58     
;;;59         while(fiqCnt1<10000)
000178  e1a00000          NOP      
                  |L1.380|
00017c  e59f007c          LDR      r0,|L1.512|
000180  e5900000          LDR      r0,[r0,#0]  ; fiqCnt1
000184  e250cd80          SUBS     r12,r0,#0x2000
000188  a25cce71          SUBGES   r12,r12,#0x710
00018c  aa000008          BGE      |L1.436|
;;;60         {
;;;61     	       if((fiqCnt1%100)==0)   
000190  e59f0068          LDR      r0,|L1.512|
000194  e5901000          LDR      r1,[r0,#0]  ; fiqCnt1
000198  e3a00064          MOV      r0,#0x64
00019c  ebfffffe          BL       __rt_sdiv
0001a0  e3510000          CMP      r1,#0
0001a4  1a000001          BNE      |L1.432|
;;;62                Uart_Printf(".");
0001a8  e28f0080          ADR      r0,|L1.560|
0001ac  ebfffffe          BL       _printf
;;;63         }
                  |L1.432|
0001b0  eafffff1          B        |L1.380|
;;;64         rTCON = 0x0;       
                  |L1.436|
0001b4  e3a00000          MOV      r0,#0
0001b8  e3a01444          MOV      r1,#0x44000000
0001bc  e5810008          STR      r0,[r1,#8]
;;;65         Delay(1);
0001c0  e3a00001          MOV      r0,#1
0001c4  ebfffffe          BL       Delay
;;;66         Uart_Printf("\nfiqCnt0 = %d, fiqCnt1 = %d (10000,10000)\n",fiqCnt0,fiqCnt1);
0001c8  e59f0030          LDR      r0,|L1.512|
0001cc  e5902000          LDR      r2,[r0,#0]  ; fiqCnt1
0001d0  e59f0024          LDR      r0,|L1.508|
0001d4  e5901000          LDR      r1,[r0,#0]  ; fiqCnt0
0001d8  e28f0054          ADR      r0,|L1.564|
0001dc  ebfffffe          BL       _printf
;;;67         rINTMOD = intmod;
0001e0  e59f0010          LDR      r0,|L1.504|
0001e4  e5804004          STR      r4,[r0,#4]
;;;68         rINTMSK = BIT_ALLMSK;
0001e8  e3e00000          MVN      r0,#0
0001ec  e59f1004          LDR      r1,|L1.504|
0001f0  e5810008          STR      r0,[r1,#8]
;;;69     }
0001f4  e8bd8010          LDMFD    sp!,{r4,pc}
                  |L1.504|
0001f8  40200000          DCD      0x40200000
                  |L1.508|
0001fc  00000000          DCD      ||.bss$2||
                  |L1.512|
000200  00000004          DCD      ||.bss$2|| + 4
                  |L1.516|
000204  4946205b          DCB      "[ FI"
000208  6e492051          DCB      "Q In"
00020c  72726574          DCB      "terr"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -