1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
cc65/libsrc/em/em_unload.s
cuz bb0d6a6e39 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1795 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-12-20 20:39:24 +00:00

35 lines
718 B
ArmAsm

;
; Ullrich von Bassewitz, 2002-11-29
;
; unsigned char __fastcall__ em_unload (void);
; /* Unload the currently loaded driver. */
.include "em-kernel.inc"
.include "em-error.inc"
.include "modload.inc"
_em_unload:
lda _em_drv
ora _em_drv+1
beq no_driver ; No driver
jsr _em_deinstall ; Deinstall the driver
lda _em_drv
ldx _em_drv+1
jsr _mod_free ; Free the driver
lda #0
sta _em_drv
sta _em_drv+1 ; Clear the driver pointer
tax
rts ; Return zero
no_driver:
tax ; X = 0
lda #EM_ERR_NO_DRIVER
rts