[abc80] Assemblyprogram som .BAC-filer

H. Peter Anvin hpa at zytor.com
Ons Okt 5 11:45:59 PDT 2016


Har letat efter en Z80-assembler som kan generera relokerbar kod.  Har
hittat en som en del av z88dk (http://www.z88dk.org/).  Den har dessutom
en C-kompilator och i alla fall en begynnelse till en C-runtime för ABC80.

Funderar på att meka om mitt bin2bac.pl-script för att hantera output
från z88dk-z80asm för relokerbar kod (så samma program fungerar på 16K
och 32K, inklusive med drivrutiner nedanför BOFA; kan även användas för
att installera sådana drivrutiner!)

En kul grej som jag kom på är att man kan lägga följande kod (17 bytes)
före själva programmet (gäller applikationer, inte drivrutiner som
lägger sig under BOFA):

10 01 00 83 c1 f1 5a 00 bb c7 [11 00] ce 3a b7 0d 01

... med en relokering på [11 00].  Det är helt enkelt BASIC-koden för:

1 Z%=CALL(<byten efter BASIC-programmet>%)
<programslut>

... så man kan köra RUN även efter att loadern har gjort sitt jobb.
Assemblyprogammet kan hoppa till address 0C9h för att avsluta (det är
adressen för END i alla versioner av ABC80-BASIC) och användaren kan sen
köra RUN för att starta igen.

	-hpa




More information about the ABC80 mailing list