ASCII2Binary

From MKWiki
Jump to navigation Jump to search
; Program to convert ASCII character to Binary equivalent

1. Define the model and architecture for the assembly code

.model SMALL
.stack 100H

2. Define your data in the data section ( here you can define various data items: variables, constants, strings, arrays)

.data
	inputStr db 10,13, 'Enter an ASCII Character: $'
	outputStr db 10,13, 'Binary equivalent is : $'

3. Define your instruction in the code section (here you write the assembly instructions that perform computations, control program flow, and interact with data variables and memory)

.code
.startup
	
        ; print the input string	
	MOV DX, OFFSET inputStr   
	MOV AH, 09H
	INT 21H

	;read a character from the standard input	
	MOV AH, 01H
	INT 21H

	;at this point whatever character is entered by the user, its binary equivalent(8-bits) of the ASCII code is stored in AL

	
	MOV BL, AL    ; binary equivalent of ASCII character is moved to BL 
	
	
	; print the output string
	MOV DX, OFFSET outputStr   
	MOV AH, 09H
	INT 21H

	; Now left shift the bits, to extract the MSB and print it (repeat the shifting and extracting until every bit is printed)

	MOV CX, 8	
		
	repeat8Times:
		SHL BL, 1
		JC printOne	; Jump if carry generated
	
		MOV DL, 30H 	; ASCCI code for '0' is 30H, which is 48 in decimal	
		JMP print
	
		printOne:
			MOV DL, 31H
			
		print:
			MOV AH, 02H
			INT 21H
		LOOP repeat8Times		
	
	; exit from the program	
	MOV AH, 4CH
        INT 21H

END