;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