40 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .define Mon
 | |
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| 
 | |
| ! This subroutine performs some monitor calls.
 | |
| ! The exit call just resets the hardware_stackpointer so
 | |
| ! this routine will return to the operating system.
 | |
| ! The close call just returns a zero.
 | |
| ! The ioctl call just pops its arguments and returns a zero.
 | |
| ! The write routine is a real one.
 | |
| 
 | |
| 
 | |
| Mon:
 | |
| 	cpx #1
 | |
| 	bne 1f		! exit
 | |
| 	ldx STACK	! load stackpointer
 | |
| 	dex
 | |
| 	dex		! adjust stackpointer
 | |
| 	txs		! set stackpointer
 | |
| 	rts
 | |
|     1:	cpx #4
 | |
| 	bne 1f
 | |
| 	jmp Mwrite
 | |
|     1:	cpx #6		! facked
 | |
| 	bne 1f		! close
 | |
| 	lda #0
 | |
| 	tax		! return zero
 | |
| 	rts
 | |
|     1:	cpx #54
 | |
| 	jsr Pop		! pop first argument (fildes)
 | |
| 	jsr Pop		! pop second argument (request)
 | |
| 	jsr Pop		! pop third argument (argp)
 | |
| 	lda #0
 | |
| 	tax		! return zero
 | |
| 	rts
 | |
| 
 | |
| 
 |