Hi, so I did the conversion from gcc to ADS syntax for most of arm_asm.h and I think it&#39;s working fine.&nbsp; However, I couldn&#39;t figure it out for lsp_loop_asm() - the problem is the branching instructions which have a different syntax between the two assemblers.&nbsp; I thought I understood how to translate the gcc operations (the value after the branch operation is an offset from the current instruction with every instruction taking the same amount of memory), but after closer inspection the branches seem to go to strange places, so now I&#39;m not so sure.&nbsp; For instance if the last &quot;beq&nbsp;&nbsp;&nbsp;&nbsp; 2f&quot; is telling the processor to jump 31 opcodes after the current instruction it will end up outside the declared asm segment, which seems really weird to me.<br>
<br>Am I reading the ARM GCC syntax right?&nbsp; If so, why is that branch going outside of the ASM declaration?&nbsp; And if not, how should I read an instruction like &quot;beq 1f&quot; or &quot;bhi 1b&quot;?<br><br>FYI, I did a quick benchmark and got ~28 MIPS o ARM9-EJ_S assuming 0 wait state memory.&nbsp; This is with the other ASM optimizations and running 1 simple 5 second ogg file encoded at q=-2.&nbsp; Sound about right?<br>
<br><br>