32 lines
		
	
	
	
		
			458 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			458 B
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
| .define Printhex
 | |
| .sect .text
 | |
| .sect .rom
 | |
| .sect .data
 | |
| .sect .bss
 | |
| .sect .text
 | |
| 
 | |
| ! This subroutine print the contents of register A to the screen
 | |
| ! in hexadecimal form.
 | |
| ! The subroutine WRCH is a special one provided by the BBC
 | |
| ! microcomputer.
 | |
| 
 | |
| 
 | |
| Printhex:
 | |
| 	pha		! save A
 | |
| 	lsr a
 | |
| 	lsr a
 | |
| 	lsr a
 | |
| 	lsr a		! get four high bits
 | |
| 	jsr 1f
 | |
| 	pla		! restore A
 | |
| 	and #0x0F	! get four low bits
 | |
| 	jsr 1f
 | |
| 	rts
 | |
|     1:	sed		! print in hex
 | |
| 	clc
 | |
| 	adc #0x90
 | |
| 	adc #0x40
 | |
| 	cld
 | |
| 	jmp WRCH
 | |
| 
 | |
| 
 |