.segment "LIBCODE"
;
; Ullrich von Bassewitz, 25.11.2002
;
; CC65 runtime: Swap 2 bytes of register variable space
;

   	.export	  	regswap2
	.importzp      	sp, regbank

.proc	regswap2

; First byte

        lda     regbank,x               ; Get old value
        pha                             ; Save it
        lda     (sp),y                  ; Get stack loc
        sta     regbank,x               ; Store new value
        pla
        sta     (sp),y                  ; Store old value

; Second byte

        iny
        lda     regbank+1,x             ; Get old value
        pha                             ; Save it
        lda     (sp),y                  ; Get stack loc
        sta     regbank+1,x             ; Store new value
        pla
        sta     (sp),y                  ; Store old value

	rts

.endproc


