	
@ Little-Endian-Version
	
	@ init strbl
	
	.macro	strbli	temp
		mov	\temp,#0x80000000
	.endm
	
	@ write byte
	
	.macro	strbl	quelle,ziel,temp
	
		mov	\quelle,\quelle,lsl #24
		orrs	\temp,\quelle,\temp,lsr #8
		strcs	\temp,[\ziel],#4
		movcs	\temp,#0x80000000
	
	.endm
	
	@ flush
	
	.macro	strblf	quelle,ziel,temp
	
		cmp	\temp,#0x80000000
		moveq	\temp,#0		@spare jump (macro fehler)
		and	\quelle,\temp,#0xff
		cmp	\quelle,#0x80
		mov	\temp,\temp,lsr #8
		streq	\temp,[\ziel],#4
		moveq	\temp,#0		@spare jump (macro fehler)	
		and	\quelle,\temp,#0xff
		cmp	\quelle,#0x80
		mov	\temp,\temp,lsr #8
		streq	\temp,[\ziel],#4
		movne	\temp,\temp,lsr #8
		strne	\temp,[\ziel],#4
		
	.endm
	
@ Big-Endian-Version	
	
	.macro	strbli2	temp

		mov	\temp,#1
		
	.endm			
	
	.macro	strbl2	quelle,ziel,temp
	
		orrs 	\temp,\quelle,\temp,lsl #8
		strcs 	\temp,[\ziel],#4
		movcs 	\temp,#$1
	
	.endm	
	
	.macro	strblf2	Rq,Rd,Rt
	
		cmp \Rt,#$01
		moveq \Rt,#0
		and \Rq,\Rt,#$ff
		cmp \Rq,#$0100
		movne \Rt,#0
		moveq \Rt,\Rt,lsl #24
		streq \Rt,[\Rd],#4
		and \Rq,\Rt,#$ff0000
		cmp \Rq,#$010000
		moveq \Rt,\Rt,lsl #16	
		streq \Rt,[\Rd],#4
		movne \Rt,\Rt,lsl #8
		strne \Rt,[\Rd],#4
		
	.endm	
	