27 instructions, three formats, and their timing. 27 instrucciones, tres formatos, y su timing.
Santi Scagliusi, PhD
DADD R5, R6 (R6 ← R5 + R6 + C, BCD)
One nibble = one decimal digit. Carry when a digit passes 9.Un nibble = un dígito decimal. Acarreo cuando un dígito pasa de 9.
MOV · ADD · ADDC · SUB · SUBC · CMP · DADD · BIT · BIC · BIS · XOR · AND
Source uses two bits (As) → four modes. Destination uses one (Ad) → two.La fuente usa dos bits (As) → cuatro modos. El destino, uno (Ad) → dos.
0 = word (16-bit). 1 = byte (8-bit). Word is the default: the bit stays 0.0 = palabra (16 bits). 1 = byte (8 bits). La palabra es lo normal: el bit queda a 0.
RRC · RRA · PUSH · SWPB · CALL · RETI · SXT
It accepts every addressing mode.Acepta todos los modos de direccionamiento.
JMP · JEQ/JZ · JNE/JNZ · JC/JHS · JNC/JLO · JN · JGE · JL
PCnew = PCold + 2 + offset × 2
Range: −511 to +512 words · always 2 cycles. Rango: −511 a +512 palabras · siempre 2 ciclos.
next PCPC siguiente = jump + 2 = 0xC102
target − next PC = 0xC10A − 0xC102 = +8 bytes
÷ 2 → offset = +4
sign bit = 0 → forwardbit de signo = 0 → hacia adelante
Each memory access adds one cycle. Register operands add none.Cada acceso a memoria suma un ciclo. Los operandos en registro no suman ninguno.
The whole instruction set, in three ideas.Todo el repertorio, en tres ideas.
27 core instructions do the work. The 24 emulated forms are just names the assembler rewrites. 27 instrucciones reales hacen el trabajo. Las 24 emuladas son sólo nombres que el ensamblador reescribe.
Register-only takes one cycle. Each memory access adds another. Solo registros: 1 ciclo. Cada acceso a memoria suma otro.
Double-operand, single-operand, conditional jump. All 27 instructions fit here. Doble operando, un operando, salto condicional. Las 27 instrucciones caben aquí.