English
Language : 

CP80S54 Datasheet, PDF (22/47 Pages) List of Unclassifed Manufacturers – EPROM/ROM-Based 8-Bit Microcontroller Series
CP80S54/56
2.7 Hexadecimal Convert to Decimal (HCD)
Decimal format is another number format for CP80S54/S56. 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
MOVIA 10h
;Load immediate data “90” to data memory address 30H
;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
MOVIA 20h
;Load immediate data “10” to data memory address 30H
;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”
Rev0.1 Nov 30, 2005
P.22/CP80S54/S56