You are on page 1of 4

Ejemplo para la arquitectura x86[editar]

El siguiente es un ejemplo del programa clsico Hola mundo escrito para la arquitectura de
procesador x86 (bajo el sistema operativo DOS).

; ---------------------------------------------
; Programa que imprime un string en la pantalla
; ---------------------------------------------
.model small ; modelo de memoria

.stack ; segmento del stack

.data ; segmento de datos


Cadena1 DB 'Hola Mundo.$' ; string a imprimir (finalizado en $)

.code ; segmento del cdigo

; ---------------------------------------------
; Inicio del programa
; ---------------------------------------------
programa:
; --------------------------------------------------------
--------------------------------------------
; inicia el segmento de datos
; --------------------------------------------------------
--------------------------------------------
MOV AX, @data ; carga en AX la direccin del
segmento de datos
MOV DS, AX ; mueve la direccin al registro de
segmento por medio de AX

; --------------------------------------------------------
--------------------------------------------
; Imprime un string en pantalla
; --------------------------------------------------------
--------------------------------------------
MOV DX, offset Cadena1 ; mueve a DX la direccin del
string a imprimir
MOV AH, 9 ; AH = cdigo para indicar al MS
DOS que imprima en la pantalla, el string en DS:DX
INT 21h ; llamada al MS DOS para ejecutar
la funcin (en este caso especificada en AH)
; --------------------------------------------------------
--------------------------------------------
; Finaliza el programa
; --------------------------------------------------------
--------------------------------------------
INT 20h ; llamada al MS DOS para finalizar
el programa

end programa

Ejemplo para el computador virtual (POCA)[editar]


Una seleccin de instrucciones para una computadora virtual21) con las correspondientes
direcciones de memoria en las que se ubicarn las instrucciones. Estas direcciones NO son
estticas. Cada instruccin se acompaa del cdigo en lenguaje ensamblador generado
(cdigo objeto) que coincide con la arquitectura de computador virtual, o conjunto de
instrucciones ISA.

Dir. Etiqueta Instruccin Cdigo mquina22

.begin

.org 2048

a_start .equ 3000

2048 ld length,%

2064 be done 00000010 10000000 00000000 00000110

2068 addcc %r1,-4,%r1 10000010 10000000 01111111 11111100

2072 addcc %r1,%r2,%r4 10001000 10000000 01000000 00000010

2076 ld %r4,%r5 11001010 00000001 00000000 00000000


2080 ba loop 00010000 10111111 11111111 11111011

2084 addcc %r3,%r5,%r3 10000110 10000000 11000000 00000101

2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100

2092 length: 20 00000000 00000000 00000000 00010100

2096 address: a_start 00000000 00000000 00001011 10111000

.org a_start

3000 a:</tt

Ejemplo para el C Intel 8051[editar]


Cdigo en lenguaje ensamblador para C Intel 80C51:

ORG 8030H
include
T05SEG:
SETB TR0
JNB uSEG,T05SEG ;esta subrutina es utilizada
CLR TR0 ;para realizar una cuenta de
CPL uSEG ;0,5 segundos mediante la
MOV R1,DPL ;interrupcin del timer 0.
INVOKE
MOV R2,DPH
CJNE R2,#07H,T05SEG
CJNE R1,#78H,T05SEG
MOV DPTR,#0
RET

Ejemplo para el Microchip PIC16F84[editar]


Cdigo en lenguaje ensamblador para el microcontrolador 16F84 de Microchip:
ORG 0
Inicio
bcf STATUS,RP0
clrf PORTB
movlw 0xFF
movwf PORTA
bsf STATUS,RP0
Principal
movf PORTA,W
movwf Contador
movf Contador,F
btfsc STATUS,Z
goto PuntoDecimal
sublw d'9'
btfss STATUS,C
END