[sdiy] Analysis of the TB-303 CPU timing

Neil Johnson neil.johnson71 at gmail.com
Mon Mar 20 23:37:51 CET 2017


Hi,

Rainer Buchty wrote:
> It however does neither make a functional difference (the different
> encodings behave exactly identical) nor a logical one (the source code also
> looks identical).

The ARM assembler handles large literals by substituting other
instructions for synthesizing the literal.  For example, putting the
values in literal pools and replacing the load immediates with load
from address relative to PC, or use of other instructions:

http://www.keil.com/support/man/docs/armasm/armasm_dom1359731147760.htm

In those cases the disassembler either has to assume a literal pool is
being used, do the substitution, and delete the literal pool, or in
substitution cases try to work out if the original source really used.

>> I've long suspected that some synth OS code that I've looked at might have
>> been written in something like PL/M.  I agree back then C was probably not
>> mature enough, but PL/M was.
>
> Was it also officially available to the non-Intel/non-Zilog world? (But,
> yes, from the language features I can see why it could be used at least for
> code that was neither time- nor space-constrained.)

I understand that CP/M was written in PL/M, with only the
target-specific BIOS routines in assembler.

Cheers
Neil
-- 
http://www.njohnson.co.uk



More information about the Synth-diy mailing list