DOSSEG .186 .model large .stack 200h include iolib.ash .data testint dw 0 str0 db 'Enter an integer: ',0 str1 db 'Unsigned value: ',0 str2 db 'Signed value: ',0 str3 db 'Hex value (little endian): ',0 str4 db 'Hex value (big endian): ',0 str5 db 'Binary value (little endian): ',0 str6 db 'Binary value (big endian): ',0 .code main proc mov ax, @data mov ds, ax push offset str0 call prnstr ; read an integer push offset testint call readint ; print unsigned push offset str1 call prnstr push testint call prnintu call prncrlf ; print signed push offset str2 call prnstr push testint call prnints call prncrlf ; print hex (little endian) push offset str3 call prnstr push offset testint push byte ptr 2 call prnhex call prncrlf ; print hex (big endian) push offset str4 call prnstr push offset testint push byte ptr 2 call prnhexr call prncrlf ; print binary (little endian) push offset str5 call prnstr push offset testint push byte ptr 2 call prnbin call prncrlf ; print binary (little endian) push offset str6 call prnstr push offset testint push byte ptr 2 call prnbinr call prncrlf mov ah, 4ch int 21h main endp end main