Lars Gjörling
<6825>
· Text 123 · w8 · kommentar
1991-02-20 11:25
Ärende: ABSTOBAS
Jag är förmodligen inte tillräckligt insatt i det här, men jag
har funderat på om det verkligen är möjligt att göra just det här
abs-programmet till ett fungerande basic-program.
Abs-programmet skall förmodligen lägga in en resident assemblerrutin
i minnet. Sedan ändrar det någon hoppadress någonstans, så att
programmet hoppar dit istället för till den vanliga rutinen.
Jag tror att detta vanligen görs så, att den nya rutinen läggs på
stacken. Stackpekaren ändras så att ett utrymme för den nya ruti-
nen bildas i stacken.
Lägger vi nu in abs-programmet i ett basic-program, så kommer för-
modligen basicprogrammet att lagra registervärdena på stacken in-
nan det kör abs-programmet. Innan basicprogrammet slutar, försöker
det att återställa registren. Men då har stackpekaren ändrats,
så att istället slutet av assemblerrutinen kvaddas. Det finns
kanske någon som vet mer än jag om det här.
Men varför göra om abs-programmet till ett basicprogram överhuvud-
taget? Du kan med systemprogrammet preabs.bac lägga in i basicini.
sys en instruktion om att datorn vid uppstart automatiskt skall börja
med att köra abs-programmet sim802.abs och sedan gå över till basic.