
FM8P54/56
Rev1.21 May 31, 2005
P.22/FM8P54/56
FEELING
TECHNOLOGY
2.7 Hexadecimal Convert to Decimal (HCD)
Decimal format is another number format for FM8P54/56. When the content of the data memory has been assigned
as decimal format, it is necessary to convert the results to decimal format after the execution of ALU instructions.
When the decimal converting operation is processing, all of the operand data (including the contents of the data
memory (RAM), accumulator (ACC), immediate data, and look-up table) should be in the decimal format, or the
results of conversion will be incorrect.
Instruction DAA can convert the ACC data from hexadecimal to decimal format after any addition operation and
restored to ACC.
The conversion operation is illustrated in example 2.2.
EXAMPLE 2.2: DAA CONVERSION
MOVIA
90h
;Set immediate data = decimal format number “90” (ACC
90h)
MOVAR
30h
;Load immediate data “90” to data memory address 30H
MOVIA
10h
;Set immediate data = decimal format number “10” (ACC
10h)
ADDAR
30h, 0
;Contents of the data memory address 30H and ACC are binary-added
;the result loads to the ACC (ACC
A0h, C
0)
DAA
;Convert the content of ACC to decimal format, and restored to ACC
;The result in the ACC is “00” and the carry bit C is “1”. This represents the
;decimal number “100”
Instruction DAS can convert the ACC data from hexadecimal to decimal format after any subtraction
operation and restored to ACC.
The conversion operation is illustrated in example 2.3.
EXAMPLE 2.3: DAS CONVERSION
MOVIA
10h
;Set immediate data = decimal format number “10” (ACC
10h)
MOVAR
30h
;Load immediate data “10” to data memory address 30H
MOVIA
20h
;Set immediate data = decimal format number “20” (ACC
20h)
SUBAR
30h, 0
;Contents of the data memory address 30H and ACC are binary-subtracted
;the result loads to the ACC (ACC
F0h, C
0)
DAS
;Convert the content of ACC to decimal format, and restored to ACC
;The result in the ACC is “90” and the carry bit C is “0”. This represents the
;decimal number “ -10”