2.4. Tipos de operandos El tipo de un dato viene determinado por la operación que se realice con él. Categorías generales más importantes: (1) (2) (3) (4) Direcciones Números Caracteres Datos lógicos 1 (1) Direcciones En las instrucciones de control de secuencia el operando es una dirección de memoria de la instrucción a la que se salta. Pueden considerarse como números enteros sin signo que se cargan en el contador de programa. En la MIPS serán números de 32 bits. Formato: jr rs Propósito: Saltar a una instrucción cuya dirección está en un registro. Descripción: PC ĸ rs rs contendrá un dato de tipo dirección. 2 (2) Números (i) Enteros - Con signo, representados en complemento a 2. - Sin signo. Tamaños: byte, media palabra (half-word), palabra (word) Instrucciones de suma en la MIPS: Formato: ADD rd, rs, rt Propósito: Sumar enteros de 32 bits. Si ocurre desbordamiento se produce una excepción (interrupción del programa). Format: ADDU rd, rs, rt Propósito: Sumar enteros excepción. de 32 bits. No se produce nunca una 3 (ii) Punto flotante IEEE 754: simple precisión (32 bits) y doble precisión (64 bits). (iii) Decimal En BCD (Decimal codificado en binario): MIPS no los tiene, tendría que programarse su tratamiento. 4 (3) Caracteres Códigos binarios para representar caracteres. Estándares: - ASCII de 8 bits - EBCDIC de 8 bits (utilizado por los grandes computadores IBM) MIPS no tiene instrucciones específicas para tratamiento de caracteres. Lo que tiene es una facilidad del ensamblador para declarar cadenas de caracteres. .data cadena: .ascii "abcde" # defino string (4) Datos lógicos Un objeto de n bits es considerado como n datos de 1 bit. Utilizados en operaciones lógicas. 5