Registers, addressing modes, timing, encoding. Registros, modos de direccionamiento, temporización, codificación.
Santi Scagliusi, PhD
What the next three modules cover.Lo que cubren los próximos tres módulos.
R4–R15 are general purpose. R0–R3 each have a dedicated function.R4–R15 son de propósito general. R0–R3 tienen cada uno una función dedicada.
By the time the CPU decodes an opcode, PC already points to the next word.Cuando la CPU decodifica un opcode, PC ya apunta a la siguiente palabra.
LSB is always 0 → instructions live at even addresses, PC advances by 2.El LSB siempre vale 0 → las instrucciones viven en direcciones pares y el PC avanza de 2 en 2.
PUSH decrements first, then writes. POP reads first, then increments.PUSH decrementa y escribe. POP lee y luego incrementa.
LSB locked to 0 → the stack always moves in 2-byte words.LSB siempre 0 → la pila se mueve en palabras de 2 bytes.
SP −= 2
[SP] ← Rn.B
[SP+1] ← 0x00 *
* only on .Bsolo en .B
Rn ← [SP].B
SP += 2 (always)
@SP+ is hardwired to step 2.@SP+ siempre suma 2.
Four arithmetic flags, four low-power bits, and the interrupt enable.Cuatro flags aritméticos, cuatro bits de bajo consumo y el habilitador de interrupciones.
As a source with certain As values, the register supplies a fixed constant instead of its contents.Como fuente con ciertos valores de As, el registro aporta una constante fija en lugar de su contenido.
As=00 and As=01 still read R2: the status register.Con As=00 y As=01, R2 sigue leyendo el registro de estado.
R3 has no other job: every read is a constant.R3 no tiene otro papel: cada lectura es una constante.
Six constants, 0, 1, 2, 4, 8, −1, available without an extra word.Seis constantes, 0, 1, 2, 4, 8, −1, disponibles sin una palabra extra.
Same source code. The assembler picks the cheaper encoding.El mismo código fuente. El ensamblador elige la codificación más barata.
A naive immediate mode would carry the literal in a second word.El modo inmediato "ingenuo" llevaría el literal en una segunda palabra.
The "1" is born inside the instruction itself. No extra word, no extra cycle.El "1" nace dentro de la propia instrucción. Sin palabra extra, sin ciclo extra.
Registers, ALU and base word are 16 bits wide.Registros, ALU y palabra base son de 16 bits.
Code, RAM and peripherals share one map.Código, RAM y periféricos comparten un solo mapa.
The low byte goes first in memory.El byte bajo se guarda primero en memoria.
Instructions live at even addresses. PC always advances by 2.Las instrucciones viven en direcciones pares. PC avanza de 2 en 2.
R0–R3 carry special duties. R4–R15 are yours to use.R0–R3 tienen funciones especiales. R4–R15 son tuyos.
Start Module 3: Addressing ModesComenzar Módulo 3: Modos de direccionamiento arrow_forward