27 instructions, three formats, and their timing. 27 instrucciones, tres formatos, y su timing.
Santi Scagliusi, PhD
DADD R5, R6 (R6 ← R5 + R6, BCD)
Each nibble is one decimal digit. DADD adds digit by digit and carries when a digit passes 9, like adding by hand: the hex reads as decimal.Cada nibble es un dígito decimal. DADD suma dígito a dígito y acarrea cuando un dígito pasa de 9, como sumar a mano: el hex se lee como decimal.
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
No new opcodes. The assembler rewrites them using a real instruction + a constant generator.Sin opcodes nuevos. El ensamblador los reescribe con una instrucción real + un generador de constantes.
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í.