1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-27 00:29:31 +00:00
cc65/libsrc/serial/ser_unload.s
cuz 0b17f91797 ser_unload didn't return a valid error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3754 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-06-04 10:31:33 +00:00

39 lines
843 B
ArmAsm

;
; Ullrich von Bassewitz, 2003-04-15
;
; unsigned char __fastcall__ ser_unload (void);
; /* Unload the currently loaded driver. */
.include "ser-kernel.inc"
.include "ser-error.inc"
.include "modload.inc"
.import ser_clear_ptr
.import return0
_ser_unload:
lda _ser_drv
pha ; Save pointer to driver
ora _ser_drv+1
beq no_driver ; No driver
lda _ser_drv+1
pha
jsr _ser_uninstall ; Uninstall the driver
pla
tax
pla ; Get pointer to driver
jsr _mod_free ; Free the driver
jmp return0 ; Return SER_ERR_OK
no_driver:
tax ; X = 0
pla ; Remove pushed junk
lda #<SER_ERR_NO_DRIVER
rts