home *** CD-ROM | disk | FTP | other *** search
- ;HEX TO DEC ROUTINE FOR 8086/88
- ;
- ; INPUT: DX=HEX, [BX]=BUFFER
- ; OUTPUT: [BX]=DECIMAL, CX,AL DESTROYED
- ;
- MODULE "HEXDEC"
- ;
- LOC Code#
- ;
- HEXDEC::
- MOV LEAD,=0
- MOV CX,=-10000
- CALL MAKDEC
- MOV CX,=-1000
- CALL MAKDEC
- MOV CX,=-100
- CALL MAKDEC
- MOV CX,=-10
- CALL MAKDEC
- MOV CX,=-1
- CALL MAKDEC
- RET
- ;
- MAKDEC: MOV AH,=-1
- PUSH BX
- MDECLP: PUSH DX
- INC AH
- ADD DX,CX
- JNC DECD
- POP BX
- JMPS MDECLP
- ;
- DECD: POP DX
- POP BX
- OR AH,AH
- JNZ __S
- CMP LEAD,=0
- JNZ __S
- RET
- ;
- __S: MOV AL,='0'
- ADD AL,AH
- MOV [BX],AL
- INC BX
- MOV LEAD,AL
- RET
- ;
- LOC Data#
- ;
- LEAD: BYTE 0
- ;
- END
-