I don't think you are doing anything wrong.
What happens to make you think it is going sideways?

I think you need to maintain continuity on registers and cpu state.  Are
you preserving state?

Pop xx

Is also a good way to bypass the main rom serial rx routine.


Steve



On Tuesday, July 1, 2025, Erik Keever <[email protected]> wrote:

> Hi,
>
> I am working on an assembly program that involves the serial port hook at
> F5FC.
>
> The current code I have works by setting a JMP there to my data-received
> handler and then just returning.
>
> This is fine, but so far as I can tell from disassembling the ROM handler
> at 6DAC, after I return, the whole rest of the ROM's handler *also* runs.
> The program doesn't execute incorrectly since I've already got the data but
> I'm not suffering through writing assembly because I enjoy wasting lots of
> cycles.
>
> Now it seemed to me that since it gets to my code by
>   call 0034 due to IRQ
>   jmp 6DAC
>   call F5FC (immediately at 6DAC)
>   jmp $mycode,
> I should be able to INX SP twice to "delete" the return-to-rom address
> such that when I do RET it will return from the IRQ instead, thereby
> sidelining the ROM code completely.
>
> Except if I do this I am pointedly reminded that the 8085 does not have
> protected mode. And so my question: er... what exactly am I doing wrong
> here?
>
> -- Erik
>

Reply via email to