33 lines
		
	
	
	
		
			611 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
	
		
			611 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .define Sts
 | |
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| 
 | |
| ! This subroutine stores indirect a number of bytes.
 | |
| ! The number of bytes is in the registerpair AX.
 | |
| 
 | |
| 
 | |
| Sts:
 | |
| 	cmp #0
 | |
| 	bne 3f		! number of bytes > 255
 | |
| 	cpx #1
 | |
| 	bne 1f		! onebyte storage
 | |
| 	jsr Pop		! get the address
 | |
| 	jmp Sti1	! store the byte
 | |
|     1:	cpx #2
 | |
| 	bne 2f		! twobyte storage
 | |
| 	jsr Pop		! get the address
 | |
| 	jmp Sti		! store the word
 | |
|     2:	cpx #4
 | |
| 	bne 3f		! fourbyte storage
 | |
| 	jsr Pop		! get the address
 | |
| 	jmp Sdi		! store the double word
 | |
|     3:	sta ARTH+1	! objectsize > 4
 | |
| 	txa
 | |
| 	tay
 | |
| 	jsr Pop		! get address
 | |
| 	jmp Stil	! store the object
 | |
| 
 | |
| 
 |