You can try this out, get the assembler here . This is just a simple hexadecimal to binary converter, a CS217 exercise and not supposed to be pasted here but just for the sake of having a post. Here it is: input: mov ah, 00h int 16h cmp ah, 1ch je exit number: cmp al, '0' jb input cmp al, '9' ja uppercase sub al, 30h call process jmp input uppercase: cmp al, 'A' jb input cmp al, 'F' ja lowercase sub al, 37h call process jmp input lowercase: cmp al, 'a' jb input cmp al, 'f' ja input sub al, 57h call process jmp input loop input process: mov ch, 4 mov cl, 3 mov bl, al convert: mov al, bl ror al, cl and al, 01 add al, 30h mov ah, 02h mov dl, al int 21h dec cl dec ch jnz convert mov dl, 20h int 21h ret exit: int 20h “And my God will meet all your needs according to His glorious riches in Christ Jesus.” - Philip 4:19