50 lines
		
	
	
	
		
			540 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
	
		
			540 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.define hol0,argv,.reghp,envp,begbss
 | 
						|
.define .ignmask, .trpreg
 | 
						|
.define .stop
 | 
						|
.define ERANGE,EILLINS,ECASE
 | 
						|
 | 
						|
base	= 0x10000
 | 
						|
topmem	= 0xFFFFFF
 | 
						|
 | 
						|
ERANGE 	= 1
 | 
						|
EILLINS	= 18
 | 
						|
ECASE	= 20
 | 
						|
 | 
						|
	.base base
 | 
						|
	.text
 | 
						|
 | 
						|
	movd begbss, r7
 | 
						|
	movd endbss, r6
 | 
						|
1:
 | 
						|
	movqd 0, 0(r7)
 | 
						|
	addqd 4, r7
 | 
						|
	cmpd r6,r7
 | 
						|
	bgt 1b
 | 
						|
 | 
						|
	movd envp,tos
 | 
						|
	movd argv,tos
 | 
						|
	movd 1,tos
 | 
						|
	jsr @_m_a_i_n
 | 
						|
.stop:
 | 
						|
	movb 0x7f,tos
 | 
						|
	jsr @.putchar
 | 
						|
	bpt
 | 
						|
 | 
						|
.bss
 | 
						|
begbss:
 | 
						|
.data
 | 
						|
hol0:
 | 
						|
	.long 0
 | 
						|
	.long 0
 | 
						|
argv:
 | 
						|
	.long 3f
 | 
						|
envp:
 | 
						|
	.long 0
 | 
						|
3:
 | 
						|
	.asciz 'PROGRAM'
 | 
						|
.reghp:
 | 
						|
	.long endbss
 | 
						|
.ignmask:
 | 
						|
	.short 0
 | 
						|
.trpreg:
 | 
						|
	.long 0
 |