31 lines
		
	
	
	
		
			339 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
	
		
			339 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
.define .ngi4
 | 
						|
.sect .text
 | 
						|
.sect .rom
 | 
						|
.sect .data
 | 
						|
.sect .bss
 | 
						|
.sect .text
 | 
						|
 | 
						|
! Exchange 32 bits integer by its two's complement
 | 
						|
! Expects operand on stack
 | 
						|
! Yields result on stack
 | 
						|
 | 
						|
.ngi4:	pop d
 | 
						|
	lxi h,0
 | 
						|
	dad sp
 | 
						|
	xra a
 | 
						|
	sub m
 | 
						|
	mov m,a
 | 
						|
	inx h
 | 
						|
	mvi a,0
 | 
						|
	sbb m
 | 
						|
	mov m,a
 | 
						|
	inx h
 | 
						|
	mvi a,0
 | 
						|
	sbb m
 | 
						|
	mov m,a
 | 
						|
	inx h
 | 
						|
	mvi a,0
 | 
						|
	sbb m
 | 
						|
	mov m,a
 | 
						|
	push d
 | 
						|
	ret
 |