;
; 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