Digital Stronghold

August 13, 2006

Hex to bin converter in 16-bit DOS assembly

Filed under: Progressive Studies

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

Comments »

The URI to TrackBack this entry is: http://eradicus.blogsome.com/2006/08/13/hex-to-bin-converter-in-16-bit-dos-assembly/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Anti-spam measure: please retype the above text into the box provided.

Theme designed by Joset Anthony Zamora