Aaa-arithmetic instruction-microprocessor, Assembly Language

AAA: ASCII Adjust after Addition operation the AAA instruction is executed after an ADD instruction that adds 2 ASCII coded operands to give a byte of outcome in the AL. The AAA instruction converts the resulting contents of AL to unpack the decimal digits. After the addition operation, the AAA instruction checked the lower 4 bits of AL to examine whether it have a valid BCD number in the range 0 to 9. If it is between range 0 to 9 and AF is set to zero, AAA sets the 4 high order bits of AL to 0. The AH might be cleared before addition operation. If the lower digit of the AL is between the range 0 to 9 and AF is set, 06 are added to the AL. The upper 4 bits of the AL are cleared and the AH is incremented by the value one. If the value in the lower nibble of the AL is greater than 9 then the AL is incremented by the value 06, AH is incremented by value I, the AF and the CF flags are set to I, and the higher 4 bits of the AL are cleared to the value 0. The remaining flags are not affected. The AH is modified as sum of earlier contents (typically 00) and the carry from the adjustment, as shown in given figure. This instruction does not give precise ASCII codes of the sum, but they may be obtained by adding 3030H to  the AX.

425_ascii add.jpg

               Figure: ASCII Adjust After Addition Instruction

Posted Date: 10/12/2012 1:38:00 AM | Location : United States







Related Discussions:- Aaa-arithmetic instruction-microprocessor, Assignment Help, Ask Question on Aaa-arithmetic instruction-microprocessor, Get Answer, Expert's Help, Aaa-arithmetic instruction-microprocessor Discussions

Write discussion on Aaa-arithmetic instruction-microprocessor
Your posts are moderated
Related Questions
Write an assembly program that adds the elements in the odd indices of the following array. Use LOOP. What is the final value in the register?

I have two homework assignments due in 10 hours for the x86 processor assembly language

Format of Control Register The format for the control register is given in Figure. Bit 0 of this register might be one before data may be output  and  bit  two  might be  one

Write a M68000 assembly language subroutine MULSUM that takes an array named A containing n bytes of positive numbers, and fills two arrays, array B containing n

write an assembly language program to find average of odd numbers from an array of 8 bit numbers

Port Mapped I/O or I/O Mapped I/O I/O devices are mapped into a separate address space. This is generally accomplished by having a different set of signal lines to denote a mem

write a Mips program that read a string AND PRINT IT ON THE SCREEN

Data copy/transfer Instructions MOV: This data transfer instruction transfers data from one register or memory location to another register or memory location. The source can

Description: LC3 allows input from keyboard and output to display on the screen. This lab will exercise the input/output capability using LC-3 Assembly language. Procedure

implement the following c++ code in assembly language using the block-structured .IF and .while directives