📄 alamc.s
字号:
///////////////////////////////////////////////////////////////////////////////
// /
// 06/Dec/2008 17:12:50 /
// IAR ARM ANSI C/C++ Compiler V5.11.0.20622/W32 EVALUATION /
// Copyright 1999-2007 IAR Systems. All rights reserved. /
// /
// Cpu mode = thumb /
// Endian = little /
// Source file = E:\ELE\yten\pro\app\ALAMC.C /
// Command line = E:\ELE\yten\pro\app\ALAMC.C -D EMB_FLASH -lCN /
// E:\ELE\yten\pro\Debug\List\ -lb /
// E:\ELE\yten\pro\Debug\List\ -o /
// E:\ELE\yten\pro\Debug\Obj\ --no_cse --no_unroll /
// --no_inline --no_code_motion --no_tbaa --no_clustering /
// --no_scheduling --debug --endian little --cpu /
// Cortex-M3 -e --fpu None --dlib_config "C:\Program /
// Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\DLib_Config_Normal.h" -I /
// E:\ELE\yten\pro\ -I E:\ELE\yten\pro\..\LIBRARY\INC\ -I /
// "C:\Program Files\IAR Systems\Embedded Workbench 5.0 /
// Evaluation\ARM\INC\" --section .text=.XML -On /
// List file = E:\ELE\yten\pro\Debug\List\ALAMC.s /
// /
// /
///////////////////////////////////////////////////////////////////////////////
NAME ALAMC
EXTERN _YT
PUBLIC ALAMCREGISTER
PUBLIC ALA_TEM_TAB
PUBLIC AlamcFault
PUBLIC CHK_BELL
PUBLIC Fast_TEM_NOTS
PUBLIC NOTS_Store
SECTION `.rodata`:CONST:NOROOT(2)
ALA_TEM_TAB:
DATA
DC16 0, 4, 8, 13, 17, 21, 26, 30, 34, 39, 43, 47, 52, 56, 60
DC8 0, 0
SECTION `.XML`:CODE:NOROOT(2)
THUMB
ALAMCREGISTER:
PUSH {R0,R4-R9,LR}
MOV R8,R1
MOV R9,R3
MOVS R1,R0
LDRH R7,[R9, #+0]
LDRH R0,[R9, #+2]
ORRS R0,R0,R7
LDRH R7,[R9, #+4]
ORRS R7,R7,R0
LDRH R0,[R9, #+6]
ORRS R0,R0,R7
MOVS R3,R0
LDR.N R0,??ALAMCREGISTER_0 ;; ??a_buf
LDRH R0,[R0, #+0]
EORS R0,R0,R3
MOVS R4,R0
UXTH R4,R4 ;; ZeroExtS R4,R4,#+16,#+16
CMP R4,#+0
BNE.N ??ALAMCREGISTER_1
MOVS R0,#+0
B.N ??ALAMCREGISTER_2
??ALAMCREGISTER_1:
LDR.N R0,??ALAMCREGISTER_0 ;; ??a_buf
STRH R3,[R0, #+0]
MOVS R0,#+0
MOVS R5,R0
??ALAMCREGISTER_3:
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
CMP R5,#+15
BCS.N ??ALAMCREGISTER_4
MOVS R0,R3
MOVS R7,#+1
ANDS R7,R7,R0
MOV R12,R7
MOVS R7,R4
MOVS R0,#+1
ANDS R0,R0,R7
MOV R7,R12
TST R7,R0
BEQ.N ??ALAMCREGISTER_5
MOVS R0,#+2
MUL R6,R5,R0
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R7,#+2
MLA R7,R6,R7,R2
LDRH R7,[R7, #+60]
STRH R7,[R0, #+62]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R0,#+2
MULS R0,R5,R0
LDR.N R7,??ALAMCREGISTER_0+0x4 ;; ALA_TEM_TAB
LDRH R0,[R7, R0]
MOVS R7,#+2
MLA R0,R0,R7,R8
LDRH R0,[R0, #+0]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R7,#+2
MLA R7,R6,R7,R2
STRH R0,[R7, #+60]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
ADDS R0,R0,#+122
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R7,#+2
MLA R7,R6,R7,R2
ADDS R7,R7,#+120
LDRH R7,[R7, #+0]
STRH R7,[R0, #+0]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
ADDS R0,R0,#+120
LDRB R7,[R1, #+1]
STRH R7,[R0, #+0]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
ADDS R0,R0,#+182
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R7,#+2
MLA R7,R6,R7,R2
ADDS R7,R7,#+180
LDRH R7,[R7, #+0]
STRH R7,[R0, #+0]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
ADDS R0,R0,#+180
LDRB R7,[R1, #+0]
STRH R7,[R0, #+0]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MLA R0,R6,R0,R2
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R7,#+2
MULS R7,R6,R7
LDRH R7,[R2, R7]
STRH R7,[R0, #+2]
UXTH R6,R6 ;; ZeroExtS R6,R6,#+16,#+16
MOVS R0,#+2
MULS R0,R6,R0
MOVS R7,#+254
STRH R7,[R2, R0]
??ALAMCREGISTER_5:
UXTH R3,R3 ;; ZeroExtS R3,R3,#+16,#+16
LSRS R3,R3,#+1
UXTH R4,R4 ;; ZeroExtS R4,R4,#+16,#+16
LSRS R4,R4,#+1
ADDS R5,R5,#+1
B.N ??ALAMCREGISTER_3
??ALAMCREGISTER_4:
MOVS R0,#+0
??ALAMCREGISTER_2:
ADD SP,SP,#+4
POP {R4-R9,PC} ;; return
DATA
??ALAMCREGISTER_0:
DC32 ??a_buf
DC32 ALA_TEM_TAB
SECTION `.bss`:DATA:NOROOT(1)
??a_buf:
DS8 2
SECTION `.XML`:CODE:NOROOT(2)
THUMB
Fast_TEM_NOTS:
PUSH {R0,R4-R9,LR}
MOV R8,R0
MOV R9,R2
LDR.N R0,??Fast_TEM_NOTS_0 ;; ??B_start
LDRB R0,[R0, #+0]
CMP R0,#+0
BNE.N ??Fast_TEM_NOTS_1
LDR.N R0,??Fast_TEM_NOTS_0 ;; ??B_start
MOVS R6,#+1
STRB R6,[R0, #+0]
MOVS R0,#+0
MOVS R5,R0
??Fast_TEM_NOTS_2:
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
CMP R5,#+15
BCS.N ??Fast_TEM_NOTS_1
MOVS R0,#+255
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+9]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+8]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+7]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+6]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+5]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+4]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+3]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+2]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R5,R6,R7
STRB R0,[R6, #+1]
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
MOVS R6,#+10
MULS R6,R5,R6
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
STRB R0,[R7, R6]
ADDS R5,R5,#+1
B.N ??Fast_TEM_NOTS_2
??Fast_TEM_NOTS_1:
MOVS R0,#+6
MUL R1,R1,R0
LDR.N R0,??Fast_TEM_NOTS_0+0x8 ;; ??FTimer
LDRH R0,[R0, #+0]
ADDS R0,R0,#+1
LDR.N R6,??Fast_TEM_NOTS_0+0x8 ;; ??FTimer
STRH R0,[R6, #+0]
UXTH R0,R0 ;; ZeroExtS R0,R0,#+16,#+16
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
CMP R0,R1
BCC.N ??Fast_TEM_NOTS_3
LDR.N R0,??Fast_TEM_NOTS_0+0x8 ;; ??FTimer
MOVS R6,#+0
STRH R6,[R0, #+0]
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
MOVS R6,#+15
STRH R6,[R0, #+0]
??Fast_TEM_NOTS_3:
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
LDRH R0,[R0, #+0]
CMP R0,#+16
BCC.N ??Fast_TEM_NOTS_4
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
MOVS R6,#+15
STRH R6,[R0, #+0]
??Fast_TEM_NOTS_4:
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
LDRH R0,[R0, #+0]
CMP R0,#+0
BEQ.N ??Fast_TEM_NOTS_5
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
LDRH R0,[R0, #+0]
SUBS R0,R0,#+1
MOVS R1,R0
MOVS R0,#+0
MOVS R5,R0
??Fast_TEM_NOTS_6:
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
CMP R5,#+9
BCS.N ??Fast_TEM_NOTS_5
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
RSBS R0,R5,#+0
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
MOVS R6,#+10
LDR.N R7,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R6,R1,R6,R7
ADDS R7,R6,R0
UXTH R5,R5 ;; ZeroExtS R5,R5,#+16,#+16
RSBS R6,R5,#+0
MOV R12,R6
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
MOVS R6,#+10
LDR.N R0,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
MLA R0,R1,R6,R0
MOV R6,R12
ADDS R0,R0,R6
LDRB R0,[R0, #+8]
STRB R0,[R7, #+9]
ADDS R5,R5,#+1
B.N ??Fast_TEM_NOTS_6
??Fast_TEM_NOTS_5:
LDR.N R0,??Fast_TEM_NOTS_0+0xC ;; ??sw
LDRH R0,[R0, #+0]
CMP R0,#+0
BEQ.W ??Fast_TEM_NOTS_7
SUBS R0,R0,#+1
BEQ.W ??Fast_TEM_NOTS_8
SUBS R0,R0,#+1
BEQ.W ??Fast_TEM_NOTS_9
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_10
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_11
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_12
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_13
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_14
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_15
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_16
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_17
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_18
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_19
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_20
SUBS R0,R0,#+1
BEQ.N ??Fast_TEM_NOTS_21
SUBS R0,R0,#+1
BNE.N ??Fast_TEM_NOTS_22
??Fast_TEM_NOTS_23:
ADDS R3,R3,#+104
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
MOVS R7,#+10
MULS R7,R1,R7
LDR.N R0,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
LDRH R6,[R3, #+0]
STRB R6,[R0, R7]
B.N ??Fast_TEM_NOTS_22
??Fast_TEM_NOTS_21:
ADDS R3,R3,#+104
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
MOVS R7,#+10
MULS R7,R1,R7
LDR.N R0,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
LDRH R6,[R3, #+8]
STRB R6,[R0, R7]
B.N ??Fast_TEM_NOTS_22
??Fast_TEM_NOTS_20:
ADDS R3,R3,#+104
UXTH R1,R1 ;; ZeroExtS R1,R1,#+16,#+16
MOVS R7,#+10
MULS R7,R1,R7
LDR.N R0,??Fast_TEM_NOTS_0+0x4 ;; ??FNOT
LDRH R6,[R3, #+16]
STRB R6,[R0, R7]
B.N ??Fast_TEM_NOTS_22
??Fast_TEM_NOTS_19:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -