📄 dhry_2.s79
字号:
NAME dhry_2
RTMODEL "__code_model", "small"
RTMODEL "__cpu_mode", "arm"
RTMODEL "__data_model", "absolute"
RTMODEL "__endian", "little"
RTMODEL "__rt_version", "2"
RTMODEL "__thumb_aware", "enabled"
RSEG CSTACK:DATA:NOROOT(2)
EXTERN Int_Glob
EXTERN Ch_1_Glob
PUBLIC Func_1
FUNCTION Func_1,0203H
PUBLIC Func_2
FUNCTION Func_2,0203H
LOCFRAME CSTACK, 8, STACK
PUBLIC Func_3
FUNCTION Func_3,0203H
PUBLIC Proc_6
FUNCTION Proc_6,0203H
LOCFRAME CSTACK, 4, STACK
PUBLIC Proc_7
FUNCTION Proc_7,0203H
PUBLIC Proc_8
FUNCTION Proc_8,0203H
LOCFRAME CSTACK, 16, STACK
RSEG NEARFUNC_A:CODE:REORDER:NOROOT(2)
CFI Names cfiNames0
CFI StackFrame CFA SP HUGEDATA
CFI Resource R0:32, R1:32, R2:32, R3:32, R4:32, R5:32, R6:32, R7:32
CFI Resource R8:32, R9:32, R10:32, R11:32, R12:32, SP:32, LR:32
CFI VirtualResource RET:32
CFI EndNames cfiNames0
CFI Common cfiCommon0 Using cfiNames0
CFI CodeAlign 4
CFI DataAlign 4
CFI ReturnAddress RET CODE
CFI CFA SP+0
CFI R0 Undefined
CFI R1 Undefined
CFI R2 Undefined
CFI R3 Undefined
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI R8 SameValue
CFI R9 SameValue
CFI R10 SameValue
CFI R11 SameValue
CFI R12 Undefined
CFI LR Undefined
CFI RET LR
CFI EndCommon cfiCommon0
CFI Block cfiBlock0 Using cfiCommon0
CFI Function Func_3
CODE32
Func_3:
AND R0,R0,#+0xFF ;; Zero extend
CMP R0,#+0x2
MOVEQ R0,#+0x1
MOVEQ PC,LR ;; return
MOV R0,#+0x0
MOV PC,LR ;; return
CFI EndBlock cfiBlock0
RSEG NEARFUNC_A:CODE:NOROOT(2)
CFI Block cfiBlock1 Using cfiCommon0
CFI Function Proc_6
CODE32
Proc_6:
STMDB SP!,{LR} ;; Push
CFI RET Frame(CFA, -4)
CFI CFA SP+4
STRB R0,[R1, #+0]
AND R0,R0,#+0xFF ;; Zero extend
CMP R0,#+0x2
MOVNE R2,#+0x3
STRNEB R2,[R1, #+0]
CMP R0,#+0x0
BEQ ??Proc_6_0
CMP R0,#+0x1
BEQ ??Proc_6_1
CMP R0,#+0x2
BEQ ??Proc_6_2
CMP R0,#+0x4
BEQ ??Proc_6_3
LDMIA SP!,{PC} ;; return
??Proc_6_0:
MOV R0,#+0x0
B ??Proc_6_4
??Proc_6_1:
LDR R0,??Proc_6_5 ;; #Int_Glob
LDR R2,[R0, #+0]
CMP R2,#+0x65
MOVGE R0,#+0x0
BGE ??Proc_6_4
MOV R0,#+0x3
B ??Proc_6_4
??Proc_6_2:
MOV R0,#+0x1
B ??Proc_6_4
??Proc_6_3:
MOV R0,#+0x2
??Proc_6_4:
STRB R0,[R1, #+0]
LDMIA SP!,{PC} ;; return
DATA
??Proc_6_5:
DC32 Int_Glob
CFI EndBlock cfiBlock1
RSEG NEARFUNC_A:CODE:REORDER:NOROOT(2)
CFI Block cfiBlock2 Using cfiCommon0
CFI Function Proc_7
CODE32
Proc_7:
ADD R0,R0,R1
ADD R0,R0,#+0x2
STR R0,[R2, #+0]
MOV PC,LR ;; return
CFI EndBlock cfiBlock2
RSEG NEARFUNC_A:CODE:NOROOT(2)
CFI Block cfiBlock3 Using cfiCommon0
CFI Function Proc_8
CODE32
Proc_8:
STMDB SP!,{R4-R7} ;; Push
CFI R7 Frame(CFA, -4)
CFI R6 Frame(CFA, -8)
CFI R5 Frame(CFA, -12)
CFI R4 Frame(CFA, -16)
CFI CFA SP+16
ADD R2,R2,#+0x5
MOV R4,R2, LSL #+2
STR R3,[R4, +R0]
ADD R3,R2,#+0x1
LDR R5,[R4, +R0]
STR R5,[R0, +R3, LSL #+2]
ADD R5,R2,#+0x1E
STR R2,[R0, +R5, LSL #+2]
MOV R5,R2
MOV R6,#+0xC8
MUL R7,R2,R6
ADD R6,R7,R1
ADD R6,R4,R6
MOV R7,R3
B ??Proc_8_0
??Proc_8_1:
STR R2,[R6, #+0]
ADD R5,R5,#+0x1
ADD R6,R6,#+0x4
??Proc_8_0:
CMP R7,R5
BGE ??Proc_8_1
MOV R3,#+0xC8
MUL R5,R2,R3
ADD R3,R5,R1
SUB R5,R2,#+0x1
LDR R6,[R3, +R5, LSL #+2]
ADD R6,R6,#+0x1
STR R6,[R3, +R5, LSL #+2]
LDR R3,[R4, +R0]
ADD R0,R2,#+0x14
MOV R2,#+0xC8
MUL R5,R0,R2
ADD R0,R5,R1
STR R3,[R4, +R0]
MOV R0,#+0x5
LDR R1,??Proc_8_2 ;; #Int_Glob
STR R0,[R1, #+0]
LDMIA SP!,{R4-R7} ;; Pop
CFI R4 SameValue
CFI R5 SameValue
CFI R6 SameValue
CFI R7 SameValue
CFI CFA SP+0
MOV PC,LR ;; return
DATA
??Proc_8_2:
DC32 Int_Glob
CFI EndBlock cfiBlock3
RSEG NEARFUNC_A:CODE:REORDER:NOROOT(2)
CFI Block cfiBlock4 Using cfiCommon0
CFI Function Func_1
CODE32
Func_1:
AND R2,R0,#+0xFF ;; Zero extend
AND R1,R1,#+0xFF ;; Zero extend
CMP R2,R1
MOVNE R0,#+0x0
LDREQ R0,??Func_1_0 ;; #Ch_1_Glob
STREQB R2,[R0, #+0]
MOVEQ R0,#+0x1
AND R0,R0,#+0xFF ;; Zero extend
MOV PC,LR ;; return
DATA
??Func_1_0:
DC32 Ch_1_Glob
CFI EndBlock cfiBlock4
RSEG NEARFUNC_A:CODE:NOROOT(2)
CFI Block cfiBlock5 Using cfiCommon0
CFI Function Func_2
CODE32
Func_2:
STMDB SP!,{R4,R5} ;; Push
CFI R5 Frame(CFA, -4)
CFI R4 Frame(CFA, -8)
CFI CFA SP+8
MOV R2,#+0x2
B ??Func_2_0
??Func_2_1:
ADD R2,R2,#+0x1
CMP R2,#+0x3
BGE ??Func_2_2
??Func_2_0:
LDRB R3,[R2, +R0]
ADD R4,R2,#+0x1
LDRB R5,[R4, +R1]
CMP R3,R5
BNE ??Func_2_1
LDR R4,??Func_2_3 ;; #Ch_1_Glob
STRB R3,[R4, #+0]
B ??Func_2_0
??Func_2_2:
LDRB R4,[R1], #+1
LDRB R3,[R0], #+1
CMP R3,R4
BNE ??Func_2_4
CMP R3,#+0x0
BNE ??Func_2_2
MOV R5,#+0x0
B ??Func_2_5
??Func_2_4:
SUB R5,R3,R4
??Func_2_5:
CMP R5,#+0x1
BLT ??Func_2_6
ADD R0,R2,#+0x7
LDR R1,??Func_2_3+4 ;; #Int_Glob
STR R0,[R1, #+0]
MOV R0,#+0x1
B ??Func_2_7
??Func_2_6:
MOV R0,#+0x0
??Func_2_7:
LDMIA SP!,{R4,R5} ;; Pop
CFI R4 SameValue
CFI R5 SameValue
CFI CFA SP+0
MOV PC,LR ;; return
DATA
??Func_2_3:
DC32 Ch_1_Glob
DC32 Int_Glob
CFI EndBlock cfiBlock5
END
;
; 500 bytes in segment NEARFUNC_A
;
; 500 bytes of CODE memory
;
;Errors: none
;Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -