diff options
Diffstat (limited to 'src/uxn-core.s')
-rw-r--r-- | src/uxn-core.s | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/uxn-core.s b/src/uxn-core.s index 32ec26b..e35707f 100644 --- a/src/uxn-core.s +++ b/src/uxn-core.s | |||
@@ -257,15 +257,32 @@ sub2: | |||
257 | b uxn_decode | 257 | b uxn_decode |
258 | 258 | ||
259 | mul: | 259 | mul: |
260 | ldr r3, [r1, #-1]! | ||
261 | ldr r4, [r1, #-1]! | ||
262 | mul r4, r3, r4 | ||
263 | strb r4, [r1], #1 | ||
260 | b uxn_decode | 264 | b uxn_decode |
261 | 265 | ||
262 | mul2: | 266 | mul2: |
267 | ldrb r3, [r1, #-1]! | ||
268 | ldrb r5, [r1, #-1]! | ||
269 | orr r3, r5, r3, lsl #8 | ||
270 | ldrb r4, [r1, #-1]! | ||
271 | ldrb r5, [r1, #-1]! | ||
272 | orr r4, r5, r4, lsl #8 | ||
273 | mul r5, r3, r4 | ||
274 | lsr r3, r5, #24 | ||
275 | strb r3, [r1], #1 | ||
276 | lsr r5, #16 | ||
277 | strb r5, [r1], #1 | ||
263 | b uxn_decode | 278 | b uxn_decode |
264 | 279 | ||
265 | div: | 280 | div: |
281 | @ TODO: Implement using ____aeabi_uidiv_from_thumb | ||
266 | b uxn_decode | 282 | b uxn_decode |
267 | 283 | ||
268 | div2: | 284 | div2: |
285 | @ TODO: Implement using ____aeabi_uidiv_from_thumb | ||
269 | b uxn_decode | 286 | b uxn_decode |
270 | 287 | ||
271 | and: | 288 | and: |