summaryrefslogtreecommitdiff
path: root/utils/AMS/hacking/nrv2e_d8.S
diff options
context:
space:
mode:
Diffstat (limited to 'utils/AMS/hacking/nrv2e_d8.S')
-rw-r--r--utils/AMS/hacking/nrv2e_d8.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/utils/AMS/hacking/nrv2e_d8.S b/utils/AMS/hacking/nrv2e_d8.S
index 88df64a58f..89cb76dead 100644
--- a/utils/AMS/hacking/nrv2e_d8.S
+++ b/utils/AMS/hacking/nrv2e_d8.S
@@ -77,13 +77,15 @@ ucl_nrv2e_decompress_8: .globl ucl_nrv2e_decompress_8 @ ARM mode
77 For SAFE mode: at call, *plen_dst must be allowed length of output buffer. 77 For SAFE mode: at call, *plen_dst must be allowed length of output buffer.
78*/ 78*/
79 adr r12,1+.thumb_nrv2e_d8; bx r12 @ enter THUMB mode 79 adr r12,1+.thumb_nrv2e_d8; bx r12 @ enter THUMB mode
80#endif
80 .code 16 @ THUMB mode 81 .code 16 @ THUMB mode
81 .thumb_func 82 .thumb_func
82#endif
83 83
84.thumb_nrv2e_d8: 84.thumb_nrv2e_d8:
85#if 0
85 push {r2,r3, r4,r5,r6,r7, lr} 86 push {r2,r3, r4,r5,r6,r7, lr}
86#define sp_DST0 0 /* stack offset of original dst */ 87#define sp_DST0 0 /* stack offset of original dst */
88#endif
87 add srclim,len,src @ srclim= eof_src; 89 add srclim,len,src @ srclim= eof_src;
88#if 1==SAFE /*{*/ 90#if 1==SAFE /*{*/
89 ldr tmp,[r3] @ len_dst 91 ldr tmp,[r3] @ len_dst
@@ -103,12 +105,17 @@ bad_src_n2e: # return value will be 1
103 add src,#1 105 add src,#1
104#endif /*}*/ 106#endif /*}*/
105eof_n2e: 107eof_n2e:
108#if 0
106 pop {r3,r4} @ r3= orig_dst; r4= plen_dst 109 pop {r3,r4} @ r3= orig_dst; r4= plen_dst
107 sub src,srclim @ 0 if actual src length equals expected length 110 sub src,srclim @ 0 if actual src length equals expected length
108 sub dst,r3 @ actual dst length 111 sub dst,r3 @ actual dst length
109 str dst,[r4] 112 str dst,[r4]
110 pop {r4,r5,r6,r7 /*,pc*/} 113 pop {r4,r5,r6,r7 /*,pc*/}
111 pop {r1}; bx r1 @ "pop {,pc}" fails return to ARM mode on ARMv4T 114 pop {r1}; bx r1 @ "pop {,pc}" fails return to ARM mode on ARMv4T
115#else
116 mov r0, #0
117 bx r0 /* Branch to 0x0, switch to ARM mode */
118#endif
112 119
113get1_n2e: @ In: Carry set [from adding 0x80000000 (1<<31) to itself] 120get1_n2e: @ In: Carry set [from adding 0x80000000 (1<<31) to itself]
114 ldrb bits,[src] @ zero-extend next byte 121 ldrb bits,[src] @ zero-extend next byte