Entradas

Mostrando entradas de agosto, 2017

Mnemónicos básicos del lenguaje ensamblador (imagen)

Imagen
En la siguiente imagen se aprecian algunos mnemónicos básicos para el lenguaje ensamblador:

Registros del procesador (relación)

Imagen
Los registros del CPU se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionales por medio de un nombre. Registro CS: El DOS almacena dirección inicial del segmento de código de un programa en el registro CS. Registro DS: La dirección inicial de un segmento de datos del programa es almacenada en el registro DS. En términos sencillos, esta dirección, más un valor de desplazamiento en una instrucción, genera una referencia a la localidad de un byte específico en el segmento de datos. Registro SS: El registro SS permite la colocación--en memoria-- de una pila, para almacenar temporal de direcciones y datos. Registro ES: Algunas operaciones con cadenas de caracteres (datos de caracteres) utilizan el registro extra de segmento para manejar el direccionamiento de memoria. Registro FS y GS: Son registros extra de segmento en los procesadores 80386 y posteriores. Más información: 

Programas hechos en TAS

Imagen
Programa 1: Hola mundo CR equ 13 LF equ 0Ah Datos Segment Mensaje db CR,LF,'Hola Mundo!',CR,LF,'$' Datos Ends Pila Segment Stack db 64 DUP('PILA') Pila Ends Codigo Segment holam proc far Assume CS:Codigo,DS:Datos,SS:Pila mov ax,Datos mov ds,ax lea dx,Mensaje mov ah,9 int 21h mov ax,4c00h int 21h holam endp Codigo Ends end holam Programa 2: Uso de constantes. CR EQU 13 LF EQU 10 IMPRIMIR EQU 9 FIN EQU 4C00H DOS EQU 21h Datos Segment texto db 'Ejemplo del uso de constantes.',CR,LF,'$' Datos Ends Pila Segment Stack db 64 DUP('PILA') Pila Ends Codigo Segment Assume CS:Codigo,DS:Datos,SS:Pila Inicio: mov ax,Datos mov ds,ax mov dx,offset texto ;offset retorna la direcci?n de una variable mov ah, IMPRIMIR int DOS mov ax,FIN int DOS Codigo End s End Inicio Programa 3: Hola mundo con función/procedimiento. CR EQU 13 ;Constante CR (Ret

Ejercicios extra Unidad 1.

Tipos de IDEs para programar en ensamblador. 1. WinAsm Es un IDE gratuito para desarrollar programas en Windows 32 y 15 bits. Utiliza: MASM y FASM, con un add-in para FASM. 2. Easy Code IDE para lenguaje ensamblador hecho para generar aplicaciones de 32 bits en Windows. Su interfaz es similar a Visual Basic, le permite hacer programas de manera rápida y sencilla como nunca antes había sido posible. 3. RadASM IDE gratuito para ensambladores de 32 bits para Windows. Utiliza: MASM, TASM, FASM, NASM, GoASM y HLA. 4. Fresh IDE IDE visual para el lenguaje ensamblador con compilador integrado FASM. 5. Assembler IDE IDE para código ensamblador, cuyo propósito es automatizar al máximo este proceso integrando el editor de código, depurador y desensamblador. Utiliza: NASM, TASM, MASM y FASM. 6. Visual Studio Permite hacer aplicaciones de consola para distintos dispositivos. ¿Qué IDE elegirías para programar lenguaje ensamblador? Al principio, me incliné mucho sobre Visual S

1.2 El procesador y sus registros internos

Imagen
Un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador. Permite guardar transistoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Su función es la de almacenar datos, siendo la manera más rápida de hacerlo por el sistema. Los registros se miden en número de bits que almacenan. La CPU, en cambio, comparte un conjunto de localidades de almacenamiento temporal de datos de alta velocidad, denominada con el mismo nombre: registro. Los registros se dividen en 6 categorías: *Registros de segmento. *Registros de propósito general. *Registros de apuntadores. *Registros de banderas. *Registros de puntero de instrucción *Registros de pila. Algunos ejemplos básicos de registros son: *Contador de programa (PC). *Registro de direcciones de la memoria (MAR). *Registro de datos (RD). *Registro de instrucciones (IR). *Palabra de estado de programa (PSW). Fuente: Fuente 1 Re

1.1 Importancia de la programación en lenguaje ensamblador.

El lenguaje ensamblador es el medio programático en el que el ser humano puede tener contacto "directo e intangible" con el hardware de una computadora, mediante idiomas de programación de bajo nivel. A diferencia de los de alto nivel, estos se caracterizan por ser difíciles de programar, pero ocupan poca memoria del sistema porque lidian con el microprocesador en directo. El lenguaje ensamblador es importante por los siguientes puntos:  *Porque se puede tener control directo al 100% de la computadora. *Los programas no ocupan mucho espacio de memoria. *Permite interaccionar, mediante código de programación, con el hardware. *Facilita al programador trabajar con lenguaje máquina sin perder el control directo del hardware. *Los programas son rápidos y compactos. *Procesamiento más rápido, ya que trabaja directamente con el procesador. Fuente: Fuente1

Unidad 1

Todas las asignaturas correspondientes a la unidad 1 serán anotadas aquí. Como referencia, el temario de la ya mencionada unidad, a continuación: UNIDAD 1: INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR 1.1 Importancia de la programación en lenguaje ensamblador. 1.2 El procesador y sus registros internos 1.3 La memoria principal (RAM) 1.4 El concepto de interrupciones 1.5 Llamadas a servicios del sistema 1.6 Modos de direccionamiento 1.7 Proceso de ensamblado y ligado 1.8 Desplegado de mensajes en el monitor