#ORG 100h MOV SI,OFFSET S0 CALL WSTR MOV SI,OFFSET CRLF CALL WSTR MOV SI,OFFSET S1 CALL WSTR CALL WHEXN MOV SI,OFFSET CRLF CALL WSTR MOV SI,OFFSET S3 CALL WSTR MOV SI,CRLF CALL WSTR MOV SI,OFFSET S2 CALL WSTR CALL WASCN MOV SI,OFFSET CRLF CALL WSTR MOV SI,OFFSET S4 CALL WSTR CALL WBINN MOV SI,CRLF CALL WSTR MOV SI,OFFSET S6 CALL WSTR MOV AX,01AH DAA MOV CL,AL CALL WHEXB INT 20h ;EXIT WHEXB: PUSH AX ;VYPIS HEX B PUSH CX MOV CH,CL SHR CL,4 ADD CL,48 CMP CL,57 JNG WHB1 ADD CL,7 WHB1: MOV AH,0Eh MOV AL,CL INT 10h ;WR LOW NIB AND CH,0Fh ADD CH,48 CMP CH,57 JNG WHB2 ADD CH,7 WHB2: MOV AL,CH INT 10h POP CX POP AX RET WHEXN: PUSH BX ;VYPIS HEX NUM PUSH CX PUSH SI MOV SI,OFFSET NUM XOR BX,BX WHEXN1: MOV CL,[SI+BX] CALL WHEXB INC BX CMP BX,7 JNG WHEXN1 POP SI POP CX POP BX RET WBINB: PUSH AX ;VYPIS BIN B PUSH BX XOR BX,BX MOV AH,0Eh ROL CL,1 WBINB1: MOV AL,CL AND AL,01h ADD AL,48 INT 10h INC BX ROL CL,1 CMP BX,7 JNG WBINB1 POP BX POP AX RET WBINN: PUSH BX PUSH CX PUSH SI MOV SI,OFFSET NUM XOR BX,BX WBINN1: MOV CL,[SI+BX] CALL WBINB INC BX CMP BX,3 JNG WBINN1 PUSH SI MOV SI,OFFSET S5 CALL WSTR POP SI WBINN2: MOV CL,[SI+BX] CALL WBINB INC BX CMP BX,7 JNG WBINN2 POP SI POP CX POP BX RET WASCN: PUSH AX ;VYPIS ASC NUM PUSH BX PUSH SI MOV SI,OFFSET NUM XOR BX,BX MOV AH,0Eh WASCN2: MOV AL,[SI+BX] INC BX CMP AL,30 JGE WASCN1 MOV AL,32 WASCN1: INT 10h CMP BX,7 JNG WASCN2 POP SI POP BX POP AX RET WSTR: PUSH AX ;VYPIS STRING PUSH BX XOR BX,BX MOV AH,0Eh WSTR2: MOV AL,[SI+BX] CMP AL,0 JE WSTR1 INC BX INT 10h JMP WSTR2 WSTR1: POP BX POP AX RET NUM: DB 8,15,31,32,63,64,128,255 CRLF: DB 13,10,0 ;ODRADKOVANI S0: DB " ==--==--==--==--==--==--==--==--",0 S6: DB " ========--------========--------",0 S1: DB "HEX: ",0 ;RETEZCE S2: DB "ASC: ",0 S3: DB "DEC: ",0 S4: DB "BIN: ",0 S5: DB 13,10," ",0 END