; Doug's Programming Language  -- DPL, Version 2.22
; Copyright (c) 1988 Douglas S. Cody, All rights reserved.
;--------------------------------
; _ITOBS - CONVERT INTEGER TO BINARY STRING
;
; Entry Conditions:
;	AX HOLDS THE VALUE
;	CX HOLDS THE LENGTH OF THE TARGET STRING
;	DI POINTS TO THE STRING
;
; Exit Conditions:
;	DI,AX,BX,CX,DX MODIFIED
;
SUBPGM	_ITOBS
BEGIN	_ITOBS
	ADD	DI,CX		; CALC THE START OF THE STRING
	MOV	BYTE PTR [DI],00 ; SET THE TERMINATOR
	JCXZ	@ITB35		; EXIT IF NO COUNT
	DEC	DI		; STEP BACK TO THE 1ST VALID LOCATION
	MOV	DX,01		; LOAD THE MASK
	MOV	BX,'10'		; GET THE CHARACTER PAIR TO BE STORED
;
@ITB20:
	TEST	DX,AX		; IS THIS BIT SET?
	JNE	@ITB25
	MOV	[DI],BL		; NO, SAVE A '0'
	JMP	SHORT @ITB30
;
@ITB25:
	MOV	[DI],BH		; YES, SAVE A 1
;
@ITB30:
	DEC	DI		; STEP BACK TO THE NEXT LOCATION
	SHL	DX,1		; MOVE THE MASK BIT ONE POSITION
	LOOP	@ITB20		; CONTINUE UNTIL DONE
;
@ITB35:
	RET			; EXIT NOW

ENDPGM	_ITOBS
;
