Tutorialspoint.dev

8086 program to convert 8 bit ASCII to BCD number

Problem – Write a program to convert ASCII to BCD 8-bit number where starting address is 2000 and the number is stored at 2050 memory address and store result into 3050 memory address.

Example-
Input  : location: 2050
         Data   : 37
Output : location: 3050    
         Data   : 07        

Algorithm –

  1. Move value at [2050] into AL
  2. Perform AND operation on AL with 0F
  3. Move content of accumulator AL into 3050
  4. Stop

Program –

Memory Mnemonics Operands Comment
2000 MOV AL, [2050] [AL] <- [2050]
2004 AND AL, 0F [AL] <- ([ AL] AND 0F )
2006 MOV [3050], AL [3050] <- [AL]
200A HLT Stop

Explanation – Registers AL is used for general purpose

  1. MOV is used to transfer the data
  2. AND is used for multiplication (logically)
  3. HLT is used to halt the program


This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter