Motorola HC12 Refrence Manual page 140

Table of Contents

Advertisement

EMACS
Operation:
(M
Description:
A 16-bit value is multiplied by a 16-bit value to produce a 32-bit interme-
diate result. This 32-bit intermediate result is then added to the content
of a 32-bit accumulator in memory. EMACS is a signed integer opera-
tion. All operands and results are located in memory. When the EMACS
instruction is executed, the first source operand is fetched from an ad-
dress pointed to by X, and the second source operand is fetched from
an address pointed to by index register Y. Before the instruction is exe-
cuted, the X and Y index registers must contain values that point to the
most significant bytes of the source operands. The most significant byte
of the 32-bit result is specified by an extended address supplied with the
instruction.
Condition Codes and Boolean Formulas:
N:
Z:
V:
C:
Addressing Modes, Machine Code, and Execution Times:
1
Source Form
EMACS opr16a
Notes:
1. opr16a is an extended address specification. Both X and Y point to source operands.
MOTOROLA
6-80
Extended Multiply and Accumulate
16-Bit by 16-Bit to 32-Bit
) × (M
: M
(X)
(X+1)
(Y)
S
X
H
I
N
Set if MSB of result is set; cleared otherwise.
Set if result is $00000000; cleared otherwise.
M31 • I31 • R31 + M31 • I31 • R31
Set if result > $7FFFFFFF (+ overflow) or < $80000000 (– underflow).
Indicates two's complement overflow.
M15 • I15 + I15 • R15 + R15 • M15
Set if there was a carry from bit 15 of the result; cleared otherwise.
Indicates a carry from low word to high word of the result occurred.
Address Mode
Special
INSTRUCTION GLOSSARY
(Signed)
) + (M ~ M+3) ⇒ M ~ M+3
: M
(Y+1)
Z
V
C
Object Code
18 12 hh ll
EMACS
Cycles
Access Detail
13
ORROfffRRfWWP
CPU12
REFERENCE MANUAL

Advertisement

Table of Contents
loading

This manual is also suitable for:

Cpu12

Table of Contents