[abc80] Tangenbords-IRQ

Fredrik Axtelius axtelius at gmail.com
Mon Juli 21 15:31:51 PDT 2014


Och kollar man koden för 031f (eller 031e som är den vanliga vektorn för
tangentbordet) så blir det lite tydligare med PUSH/POPen. Avslutas med RETI
gör den också :)

-frax


2014-07-21 23:18 GMT+02:00 Fredrik Axtelius <axtelius at gmail.com>:

> Jag fösökte med det men fick inte till nått som fungerande. De två exempel
> jag hittat kör på 031f.
> Efter lite grävande så ska jag tydligen inte POPa AF innan man hoppar till
> 031f så bort med POP AF på näst sista raden så funkar det.
> Kan inte säga att jag förstår varför (än).
>
> -frax
>
>
>
>
> 2014-07-21 22:52 GMT+02:00 H. Peter Anvin <hpa at zytor.com>:
>
> On 07/21/2014 11:16 AM, Fredrik Axtelius wrote:
>> > Hej, jag försöker hooka in mig i tgbirq'n vilket jag lyckas med men jag
>> är
>> > osäker på hur jag ska hoppa tillbaks.
>> >
>> > Just nu kollar jag först om man är i RUN-läge och isf. hoppar jag till
>> $31f
>> > (799)
>> > Är jag inte i RUN så kollar jag CTRL+L och isf. rensar skärmen för att
>> sen
>> > hoppa till $31f.
>> >
>> > Är det fel?
>> >
>> > Det "funkar" (koden körs) men jag har fått bieffekten av att allt nu ger
>> > mig err 11 mfl felmeddelanden.
>> >
>> > Och kör jag CTRL+L (som bara gör ingenting) så tokhänger sig alltihopa
>> :(
>> >
>> > Lite kod:
>> > IRQ:
>> > push af
>> > ld a, (iy+14) ; Är vi i runmode?
>> > and a
>> > jp z, $31f ; Japp, släpp kontrollen
>> >
>> > in a, 56 ; Läs tangentbordsporten
>> > and 127
>> > cp 12 ; CTRL-L?
>> > jr z, DUMMY ; Just nu bara en ret
>> >
>> > pop af
>> > jp $31f ; Släpp kontrollen
>> >
>>
>> Normalt så vill du återvända med RETI, inte JP.  Om du använder JP så
>> kvaddar du stacken, plus att det inte alls är säkert att du blev
>> avbruten på adress 031F.
>>
>>         -hpa
>>
>>
>>
>


More information about the ABC80 mailing list