Rockwell
Instrucciones : Familia 65xx  
   

Mnem. Op NVBDIZC A#ZBIRX@ ~ Descripción Notas
ADC s 6D **---** -XxX--X- 4 Suma con Acarreo A=A+s+C %
AND s 2D *----*- -XxX--X- 4 Y Logico A=A&s %
ASL d 0E *----** --xx---- 6 Desplazamiento a la Izq. Aritmetico d={C,d,0}<-
ASLA 0A *----** X------- 2 Desplazamiento a la Izq. Aritmetico A={C,d,0}<-
BCC a 90 ------- -----X-- 2 Desvio si no hay acarreo If C=0(4~)%
BCS a B0 ------- -----X-- 2 Desvio si hay acarreo If C=1(4~)%
BEQ a F0 ------- -----X-- 2 Desvio si es igual If Z=1(4~)%
BIT s 2C **---*- --**---- 4 Bit Test A&s
BMI a 30 ------- -----X-- 2 Desvio si es Negativo If N=1(4~)%
BNE a D0 ------- -----X-- 2 Desvio si es distinto If Z=0(4~)%
BPL a 10 ------- -----X-- 2 Desvio si es positivo If N=0(4~)%
BRK 0 --+-1-- ----X--- 7 Break
(-[S]={PC+2,P})
PC=[FFFEH]
BVC a 50 ------- -----X-- 2 Desvio si no hay desborde If V=0(4~)%
BVS a 70 ------- -----X-- 2 Desvio si hay desborde If V=1(4~)%
CLC 18 0 ----X--- 2 Borrar acarreo C=0
CLD D8 ---0--- ----X--- 2 Borrar modo decimal D=0
CLI 58 ----0-- ----X--- 2 Activar interrupciones I=0
CLV B8 -0----- ----X--- 2 Borrar desborde V=0
CMP s CD *----** -XxX--X- 4 Comparar A-s
CPX s EC *----** -X**---- 4 Comparar registro indice X-s
CPY s CC *----** -X**---- 4 Comparar registro indice Y-s
DEC d CE *----*- ---xx--- 6 Decrementar d=d-1
DEX CA *----*- ----X--- 2 Decrementar registro indice X=X-1
DEY 88 *----*- ----X--- 2 Decrementar registro indice Y=Y-1
EOR s 4D *----*- -XxX--X- 4 O Exclusivo logico A=Axs %
INC d EE *----*- ---xx--- 6 Incrementar d=d+1
INX E8 *----*- ----X--- 2 Incrementar registro indice X=X+1
INY C8 *----*- ----X--- 2 Incrementar registro indice Y=Y+1
JMP s 4C ------- ---*---X 3 Saltar !
JSR s 20 ------- ---*---- 6 Saltar a Subrutina -[S]=PC+2,!
LDA s AD *----*- -XxX--X- 4 Cargar Acumulador A=s %
LDX s AE *----*- -Xyy---- 4 Cargar registro indice X=s %
LDY s AC *----*- -Xxx---- 4 Cargar registro indice Y=s %
LSR d 4E 0----** ---xx--- 6 Desplazamiento a la der. logico d=->{0,d,C}
LSRA 4A 0----** X------- 2 Desplazamiento a la der. logico A=->{0,A,C}
NOP EA ------- ----X--- 2 No Operación  
ORA s 0D *----*- -XxX--X 4 O logico A=Avs
PHA 48 ------- ----X--- 3 Apilar Acumulador -[S]=A
PHP 8 ------- ----X--- 3 Apilar registro de estado -[S]=P
PLA 68 ------- ----X--- 4 Desapilar Acumulador A=[S]+
PLP 28 ******* ----X--- 4 Desapilar Registro de estado P=[S]+
ROL d 2E *----** --xx---- 6 Rotar a la izq. d={C,d}<-
ROLA 2A *----** X------- 2 Rotar Acc. a la izq. A={C,A}<-
ROR d 6E *----** --xx---- 6 Rotar a la der. d=->{C,d}
RORA 6A *----** X------- 2 Rotar Acc. a la der. A=->{C,A}
RTI 40 ******* ----X--- 6 Retorno de interrupción {PC,P}=[S]+
RTS 60 ------- ----X--- 6 Retorno de subrutina PC={[S]+}+1
SBC s ED *----** -XxX--X- 4 Resta con acarreo A=A-s-C %
SEC 38 1 ----X--- 2 Setear Acarreo C=1
SED F8 ---1--- ----X--- 2 Setear modo decimal D=1
SEI 78 ----1-- ----X--- 2 deshabilitar interrupciones I=1
STA d 8D ------- --xX--X- 4 Guardar acumulador d=A
STX d 8E ------- --y*---- 4 Guardar registro indice d=X
STY d 8C ------- --x*---- 4 Guardar registro indice d=Y
TAX AA *----*- ----X--- 2 Transferir Acumulador X=A
TAY A8 *----*- ----X--- 2 Transferir Acumulador Y=A
TSX BA *----*- ----X--- 2 Transferir puntero de pila X=S
TXA 8A *----*- ----X--- 2 Transferir registro indice A=X
TXS 9A ------- ----X--- 2 Transferir registro indice S=X
TYA 98 *----*- ----X--- 2 Transferir registro indice A=Y
Referencias:
  XX     X opcode hexadecimal/no. de ciclos
Flags:
  -     Flag no afectado
  *     Flag afectado
  0     Flag reseteado
  1     Flag seteado
  +     Flag seteado en la pila
N       Estado Negativo (Bit 7)
V       Estado de desborde (Bit 6)
B       Indicador de comando Break (Bit 4)
D       Control de modo Decimal (Bit 3)
I       Control de deshabilitación de Interrupciones (Bit 2)
Z       Estado Cero (Bit 1)
C       Estado del Acarreo (Bit 0)
  A#ZBIRX@ Descripción Opcode ~s
  X All mode(s) valid    
  * Non-indexed mode valid    
  x X/non-indexed mode valid    
  y Y/non-indexed mode valid    
    Sumar XXH al opcode +XXH  
    Resta XXH al opcode -XXH  
    Sumar X al no. de ciclos   +X
    Restar X al no. de ciclos   -X
Modos de direccionamiento:
A A------- Acumulador    
#n -#------ Inmediato -04H -2
<n --*----- Pagina Cero -08H -1
n --*----- Pagina Cero (modo DIRECTO) -08H -1
n,X --x----- Pagina Cero indexada (X) +08H 0
n,Y --y----- Página Cero indexada (Y) +08H 0
>nn ---*---- Absoluto +00H 0
nn ---*---- Absoluto (modo EXTENDIDO) +00H 0
nn,X ---x---- Absoluto indexado (X) +10H 0
nn,Y ---y---- Absoluto indexado (Y) +0CH 0
LDX nn,Y ---y---- Igual +10H 0
  ----I--- Implicito    
a -----R-- Relativo(PC=PC+1+offset)   2
[nn,X] ------x- Indexado indirecto (X) -0CH 2
[nn],Y ------y- Indirecto indexado (Y) +04H 1
[nn] -------@ Absoluto indirecto +20H 2
Directivas del ensamblador
BYTE n(,...) Byte(s) (8-bit)  
BYTE 'string'(,...) Cadena(s) de caractares  
DIRECT Modo de direccionamiento Pagina Cero  
EXTEND Modoe de direccionamiento Absoluto  
RMB nn(,...) Reservar Memoria  
WORD nn(,...) Palabras(s) (16-bit)  
Registros
A Acumulador (8-bit)  
P Registro de Estado del Procesador (8-bit)  
PC Contador de Programa (16-bit)  
S Puntero de pila (9-bit, MSB=1)  
X Registro Indice X (8-bit)  
Y Registro Indice Y (8-bit)  
Abreviaciones
a Dirección Relativa (-128 a +127)  
d Destino  
n Expresión de 8-bits (0 a 255)  
nn Expresión de 16-bits (0 a 65535)  
s Fuente  
string Cadena de caracteres ASCII  
+ Suma  
- Resta  
* Multiplicación  
/ División  
& Y logico  
~ NO logico  
v O logico  
x O exclusivo logico  
<- Rotar a la izquierda
-> Rotar a la derecha  
[ ] Direccionamiento Indirecto  
[ ]+ Direccionamiento Indirecto, auto-incremento  
-[ ] Auto-decremento, direccionamiento indirecto  
{ } Combinación de operandos  
$ Contenido del contador de Programa  
% ~s = ~s+1 si se cruza el limite de pagina  
! PC = dirección efectiva de la fuente  
Vectores del sistema
0000H a 00FFH Pagina 0 (ver direccionamiento pagina cero)  
0100H a 01FFH Pagina 1 (area de pila, 01FFH = inicio)  
XX00H a XXFFH Pagina n (donde n=XXH)  
FFFAH a FFFBH Vector de la interrupción no enmascarable (NMI)  
FFFCH a FFFDH Vector de Reset (RES)  
FFFEH a FFFFH Vector de Petición de Interrupción (IRQ)  
FFFEH a FFFFH Vector del comando Break (ver BRK)  

Esta página es parte del sitio 154iSoftware  
Hosted by www.Geocities.ws

1