NEW
  AUTO 3,1
				.LIST OFF
*--------------------------------------
CODE.PushXFromYA
				jsr CODE.LDXYAI

				ldx #PCC.PushXFromYA.L
				ldy #0
				
.1				lda PCC.PushXFromYA,y
				jsr CODE.EmitByte
				iny
				dex
				bne .1

				rts
*--------------------------------------
CODE.PopXToYA	jsr CODE.LDXYAI
				
				ldx #PCC.PopXToYA.L
				ldy #0
				
.1				lda PCC.PopXToYA,y
				jsr CODE.EmitByte
				iny
				dex
				bne .1

				rts
*--------------------------------------
CODE.PUSHI		pha
				lda #$A9				LDA #imm
				jsr CODE.EmitByte
				pla
				jsr CODE.EmitByte
				bra CODE.PUSHA
*--------------------------------------
CODE.LDXYAI		pha
				
				lda #$A2				LDX #imm
				jsr CODE.EmitByte
				txa
				jsr CODE.EmitByte

				lda #$A0				LDY #imm
				jsr CODE.EmitByte
				tya
				jsr CODE.EmitByte

				lda #$A9				LDA #imm
				jsr CODE.EmitByte
				pla
				bra CODE.EmitByte
*--------------------------------------
CODE.PUSHYA		jsr CODE.PUSHA
				lda #$AA				TYA
				jsr CODE.EmitByte
*--------------------------------------
CODE.PUSHA		lda #$C6				DEC zp
				jsr CODE.EmitByte
				lda #pStack
				jsr CODE.EmitByte
				
				lda #$92				STA (zp)
				jsr CODE.EmitByte
				lda #pStack
				jmp CODE.EmitByte
*--------------------------------------
CODE.PULLYA		jsr CODE.PULLA
				lda #$48				PHA
				jsr CODE.EmitByte
				jsr CODE.PULLA
				lda #$7A				PLY
				bra CODE.EmitByte
*--------------------------------------
CODE.PULLA		lda #$B2				LDA (zp)
				jsr CODE.EmitByte
				lda #pStack
				jsr CODE.EmitByte
*--------------------------------------
CODE.INCPSTACK	lda #$E6				INC zp
				jsr CODE.EmitByte
				lda #pStack
				bra CODE.EmitByte
*--------------------------------------
CODE.JMPYX		lda #$4C
				bra CODE.JSRYX.1
*--------------------------------------
CODE.JSRYX		lda #$20				JSR

CODE.JSRYX.1	jsr CODE.EmitByte
				tya
				jsr CODE.EmitByte
				txa
				bra CODE.EmitByte
*--------------------------------------
CODE.FPUCALL	lda #$A2				LDX #imm
				jsr CODE.EmitByte
				txa
				jsr CODE.EmitByte
				lda #$20				JSR
				jsr CODE.EmitByte
				lda #A2osX.FPUCALL
				jsr CODE.EmitByte
				lda /A2osX.FPUCALL
				bra CODE.EmitByte
*--------------------------------------
CODE.SYSCALL	lda #$A2				LDX #imm
				jsr CODE.EmitByte
				txa
				jsr CODE.EmitByte
				lda #$20				JSR
				jsr CODE.EmitByte
				lda #A2osX.SYSCALL
				jsr CODE.EmitByte
				lda /A2osX.SYSCALL
*--------------------------------------
CODE.EmitByte	sta (ZPCSHCode)
				inc ZPCSHCode
				bne .8

				inc ZPCSHCode+1

.8				rts
*--------------------------------------
MAN
SAVE usr/src/bin/csh.s.code
LOAD usr/src/bin/csh.s
ASM
