PDF de programación - HC908 FLASH, CPU08 SET DE INSTRUCCIONES

Imágen de pdf HC908 FLASH, CPU08 SET DE INSTRUCCIONES

HC908 FLASH, CPU08 SET DE INSTRUCCIONESgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Noviembre del 2017)
897 visualizaciones desde el 9 de Noviembre del 2017
245,1 KB
32 paginas
Creado hace 14a (15/07/2009)
SET de
Instrucciones
CPU08

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

SET DE

INSTRUCCIONES

• Movimiento de Datos
• Aritméticas
• Lógicas
• Manipulación de Datos
• Manipulación de Bits
• Control del Programa
• Operaciones BCD
• Especiales

Compatibilidad de Código entre
familias HC705 / HC908 / HC9S08 !!

Facilita la migración de
aplicaciones a familias de MCUs
más modernas sin perder horas de
ingeniería en re - escritura de
programas.

El set de instrucciones de la familia HC908, es una versión muy mejorada y ampliada del set
de instrucciones de la flia. HC705. Esta característica hace que los usuarios de HC705 puedan
migrar rapidamente a HC908, sin grandes cambios en sus rutinas y luego mejorar las
aplicaciones existentes con el uso de las nuevas instrucciones.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimiento de Datos

- Carga registros de CPU -

Description

Operation

Effect on CCR
V H I N Z C

Load
Accumulator
from Memory

Load Index
Register X
from Memory

Load Index
Register H:X
from Memory

A <— (M)

0 – – ³

³



X <— (M)

0 – – ³

³



H:X <— (M:M + 1)

0 – – ³

³



Address
Modes
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2

IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2

IMM
DIR

Bus
Cycles

2
3
4
4
3
2
4
5

2
3
4
4
3
2
4
5

3
4

Source
Forms

LDA #opr
LDA opr
LDA opr
LDA opr,X
LDA opr,X
LDA ,X
LDA opr,SP
LDA opr,SP

LDX #opr
LDX opr
LDX opr
LDX opr,X
LDX opr,X
LDX ,X
LDX opr,SP
LDX opr,SP

LDHX
LDHX

#opr
opr

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimiento de Datos

- Almacenamiento de registos

del CPU -




Source
Forms
opr
opr
opr,X
opr,X
,X
opr,SP
opr,SP

STA
STA
STA
STA
STA
STA
STA

STX
STX
STX
STX
STX
STX
STX

opr
opr
opr,X
opr,X
,X
opr,SP
opr,SP

STHX

opr



Description

Store
Accumulator in
Memory

Store Index
Register X in
Memory

Store Index
Register H:X in
Memory



Operation

Address
Effect on CCR
V H I N Z C Modes





M

<—

(A)

0 – –

³

³



M

<—

(X)

0 – –

³

³



DIR
EXT
IX2
IX1
IX
SP1
SP2

DIR
EXT
IX2
IX1
IX
SP1
SP2

M:M+1

<—

(H:X)

0 – –

³

³

– DIR

Bus
Cycles
3

4


4
3

2

4


5











3
4
4
3
2
4
5

4

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimiento de Datos

- Operaciones con el Stack -




Source
Forms

PSHA

PSHH

PSHX

PULA

PULH

PULX



Description

Push Accumulator
onto Stack
Push Index Register
H onto Stack
Push Index Register
X onto Stack
Pull Accumulator
from Stack
Pull Index Register
H from Stack
Pull Index Register
X from Stack



Operation

Address
Effect on CCR
V H I N Z C Modes

Bus
Cycles

Push (A); SP <— (SP – $01)

– – – – – –

INH

Push (H); SP <— (SP – $01)

– – – – – –

INH

Push (X); SP <— (SP – $01)

– – – – – –

INH

SP <— (SP + $01); Pull (A)

– – – – – –

INH

SP <— (SP + $01); Pull (H)

– – – – – –

INH

SP <— (SP + $01); Pull (X)

– – – – – –

INH













2

2

2

2

2

2

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimiento de Datos
- Registro a Registro -




Source
Forms



Description



Operation

Bus
Effect on CCR Address
V H I N Z C Modes Cycles

TAP

TPA

TAX

TXA

TXS

TSX

Transfer Accumulator
to CCR
Transfer CCR to
Accumulator
Transfer Accumulator
to Index Register X
Transfer Index Register
X to Accumulator
Transfer Index
Register to SP
Transfer SP to
Index Register

















CCR <— (A)

³

³

³

³

³

³

INH

A <— (CCR)

– – – – – –

INH

X <— (A)

A <— (X)

– – – – – –

INH

– – – – – –

INH

SPH:SP <— (H:X) – $0001

– – – – – –

INH

H:X <— (SPH:SP) + $0001

– – – – – –

INH

2

1

1

1

2

2

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimiento

- Memoria a Memoria -




Source
Forms



Description



Operation

Effect on CCR
Address
V H I N Z C Modes

MOV opr,opr
MOV opr,X+
MOV #opr,opr
MOV X+,opr

Move

(M)Destination <— (M) Source

H:X <— (H:X) + 1 in X+ modes



0 – –

³

³



DD
DIX+
IMD
IX+D

Bus
Cycles
5

4


4
4


Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Movimientos de Datos:
Las instrucciones de movimientos de datos, han sido ampliadas notoriamente en la familia
HC908 en comparación con la HC705.
El agregado de instrucciones que involucran al nuevo registro concatenado H:X de 16 bits
como ser LDHX, STHX, otorgan gran flexibilidad en el manejo de tablas y rutinas de acceso
indexado, ahorrando código y aumentando la velocidad de ejecución de las mismas.
Además se puede apreciar que por cada tipo de instrucción, se agrega un nuevo modo de
direccionamiento, basado en el uso del Stack Pointer “SP” (puntero de pila) como “segundo
registro índice”, lo que facilita el uso de lenguajes de alto nivel como el “C” y otros.
Las instrucciones PUSH y PULL permiten resguardar y rescatar el contenido del Acumulador
(ACC) y del puntero indice H:X en espacio de RAM, ante sub-rutinas e interrupciones al
programa (externas / internas), en forma más rápida y transparente.

Las instrucciones “MOV” en sus diferentes versiones, facilitan el movimiento de datos SIN
AFECTAR LOS REGISTROS del CPU, de esta forma se consiguen operaciones más rápidas y
algoritmos más sencillos. Estas instrucciones son útiles en rutinas de RX / TX en la SCI
(UART) de los distintos MCUs de la flia. , o bién en movimientos de datos de una tabla a otra.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Aritméticas
- Adición -




Source
Forms



Description



Operation

Add Memory to
Accumulator
without Carry

A <— (A) + (M)

ADD #opr
ADD opr
ADD opr
ADD opr,X
ADD opr,X
ADD
ADD opr,SP
ADD opr,SP

,X

ADC #opr
ADC opr
ADC opr
ADC opr,X
ADC opr,X
ADC
ADC opr,SP
ADC opr,SP

,X

Effect on CCR
Address
V H I N Z C Modes
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2



³

³

³

³

³

Bus
Cycles

2
3

4

4


3
2

4


5










2
3
4
4
3
2
4
5

Add Memory to
Accumulator
with Carry

A <— (A) + (M) + (C)

³

³



³

³

³

IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Aritméticas

- Sustracción -




Source
Forms



Description



Operation

Effect on CCR
Address
V H I N Z C Modes
IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2

³ – –

³

³

³

Bus
Cycles

2
3

4

4


3
2

4


5










2
3
4
4
3
2
4
5

SUB
SUB
SUB
SUB
SUB
SUB
SUB
SUB

SBC
SBC
SBC
SBC
SBC
SBC
SBC
SBC

#opr
opr
opr
opr,X
opr,X
,X
opr,SP
opr,SP

#opr
opr
opr
opr,X
opr,X
,X
opr,SP
opr,SP

Subtract
Memory from
Accumulator
without Carry

Subtract
Memory from
Accumulator
with Carry

A <— (A) – (M)

A <— (A) – (M) – (C)

³ – –

³

³

³

IMM
DIR
EXT
IX2
IX1
IX
SP1
SP2

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Aritméticas

- Multiplicación & División -



Operation

Effect on CCR
V H I N Z C

Address
Modes

Bus
Cycles

X:A <— (X) x (A)

– 0 – – – 0

INH

A <— (H:A) ÷ (X)



H <— Remainder

– – – –

³

³

INH





5

7




Source
Forms

MUL

DIV



Description

Unsigned
8-bit x 8-bit
Multiply

Unsigned
16-bit x 8-bit
Divide

MUL

DIV

• X contendrá el MSB del producto
• A contendrá el LSB del producto

• H es el MSB del dividendo
• A es LSB del dividendo
• X no es afectado

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

MULTIPLICACION Y DIVISION:
La familia HC908 contiene instrucciones de Multiplicación y de División, a
diferencia de la familia HC705 que solo contenia la Multiplicación.
La instrucción de multiplicación en el CPU08, es del tipo No signado (sin signo) de
8 x 8 bits. Se ejecuta en 5 ciclos de Clock versus los 11 ciclos necesarios en
HC705. En los registros “A” y “X” se cargan los valores a multiplicar, el resultado
de la operación, se obtiene en los mismos registros “A” y “X” , en “A” se
encontrará la parte menos “pesada” del resultado , mientras que en “X” se
encontrará la parte más pesada del resultado.
La instrucción División es nueva para aquellos usuarios de HC705, en el CPU08 es
del tipo No signado (sin signo) de 16 / 8 bits. En el registro “H” se carga la parte
más pesada del valor a dividir, en el registro “A” se carga la parte menos pesada
de dicho valor, mientras el divisor se carga en el registro “X”.
El resultado de la operación, se carga en el registro “A” , mientras que el resto o
remanente se carga en el “H”. Si el resultado de la operación es mayor que “$ FF” ,
entonces se activará el flag de “CARRY” (C) en el CCR y el valor en el registro “H”
será indeterminado.

Curso de Microcontroladores
Familia HC908 Flash de Freescale

Parte II

ING. DANIEL DI LELLA

Aritméticas

- Incremento & Decremento -




Source
Forms



Description

INC
INCA
INCX
INC
INC
INC

opr

opr,X
,X
opr,SP

DEC opr
DECA
DECX
DEC opr,X
DEC
DEC opr,SP

,X

Increment

Decrement



Operation

M <— (M) + 1
A <— (A) + 1
X <— (X) + 1
M <— (M) + 1
M <— (M) + 1
M <— (M) + 1

M <— (M) – 1
A <— (A) – 1
X <— (X) – 1
M <— (M) – 1
M <— (M) – 1
M <— (M) – 1

Address
Effect on CCR
V H I N Z C Modes

Bus
Cycles

³ – –

³

³



³ – –

³

³



DIR
INH
INH
IX1
IX
SP1

DIR
INH
INH
IX1
IX
SP1
  • Links de descarga
http://lwp-l.com/pdf7441

Comentarios de: HC908 FLASH, CPU08 SET DE INSTRUCCIONES (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad