Beruflich Dokumente
Kultur Dokumente
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
main PROC
mov edx, OFFSET Msg1 ;Se pasa a EDX dirección de inicio de Msg1.
call WriteString ;Escribe mensaje en consola.
exit
main ENDP
END main
Ejemplo 3
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
;***********************************************************************
; Función MAIN
;***********************************************************************
main PROC
call Randomize
main ENDP
;***********************************************************************
; Cálculo del Número Aleatorio entre 1 y 6
;***********************************************************************
RanPro PROC
RET
RanPro ENDP
;***********************************************************************
END
Ejemplo 4
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
main PROC
exit
main ENDP
END main
Ejemplo 5
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
;*************************************************************************************************
; FUNCIÓN MAIN *
;*************************************************************************************************
main PROC
main ENDP
;*************************************************************************************************
; PROCEDIMIENTO WBALL - Escribe 0 en ventana de Consola *
;*************************************************************************************************
Wball PROC ;Procedimiento que escribe 0 en posición apuntada por Fila y Columna.
Wball ENDP
END
Ejemplo 6
; UNIVERSIDAD DE COSTA RICA - SEDE GUANACASTE
; IF-4000 ARQUITECTURA DE COMPUTADORES
; EJEMPLO 05: Manejo de Arreglos con Registros Índice (ESI y EDI).
; FECHA: 17/11/2015
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
;*************************************************************************************************
; FUNCIÓN MAIN *
;*************************************************************************************************
main PROC
mov edi, OFFSET Arr1 ;Inicializa Puntero EDI a Arr1 (Arreglo 1).
mov eax, lengthof Arr1 ;Inicializa Contador de Elementos.
mov Cont, eax
CWrite: mov edx, OFFSET Msg1 ;Muestra Mensaje para insertar dato.
call WriteString
call ReadDec ;Se lee un número del teclado.
mov [edi],eax ;Se pasa EAX a la posición de Arr1 apuntada por EDI.
dec Cont ;Revisa si ya se leyó todo el arreglo.
jz Listo
add edi,4 ;EDI apunta a siguiente dato (32 bits = 4 bytes).
jmp CWrite
CRead: mov eax, [esi] ;Carga en EAX el dato apuntado por ESI.
call WriteDec
add eax,Suma ;Suma elementos de Arr1.
mov Suma,eax
dec Cont ;Revisa si ya se escribió todo el arreglo.
jz Final
add esi,4 ;ESI apunta a siguiente dato (32 bits = 4 bytes).
mov al,',' ;Carga y escribe una coma en Consola.
call WriteChar
jmp CRead
exit
main ENDP
END
Ejemplo 7
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.code
;*************************************************************************************************
; FUNCIÓN MAIN *
;*************************************************************************************************
main PROC
main ENDP
END
Ejemplo 8
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.stack 100h ; Inicializa el Puntero de Pila.
.code
;*************************************************************************************************
; FUNCIÓN MAIN *
;*************************************************************************************************
main PROC
exit
main ENDP
;*************************************************************************************************
; FUNCIÓN WChar - Dibuja el Caracter Apuntado por ECX en las Coordenadas DH (F) y DL (C).
;*************************************************************************************************
WChar PROC
RET
WChar ENDP
;*************************************************************************************************
; FINAL DEL PROGRAMA
;*************************************************************************************************
END
Ejemplo 9
; UNIVERSIDAD DE COSTA RICA - SEDE GUANACASTE
; IF-4000 ARQUITECTURA DE COMPUTADORES
; EJEMPLO 08: Llamadas a Funciones Propias.
; FECHA: 17/11/2015
INCLUDE c:\Irvine\Irvine32.inc
INCLUDELIB c:\Irvine\Irvine32.lib
.listall
.stack 100h ;Inicializa el Puntero de Pila.
.code
;*************************************************************************************************
; FUNCIÓN MAIN *
;*************************************************************************************************
main PROC
exit
main ENDP
;*************************************************************************************************
; FUNCIÓN RVEC - Carga el vector apuntado por ESI, longitud en EBX, con datos de usuario.
;*************************************************************************************************
Rvec PROC
CicloR: mov edx, OFFSET Msg3 ;Muestra mensaje para insertar dato.
call WriteString
call ReadDec ;Lee dato del teclado.
mov [edi],eax ;Lo guarda en vector.
dec ebx ;Revisa y debe pedir otro dato.
jz FinR ;Listo, vector lleno, salta a salida.
add edi,4 ;Incrementa puntero de vector y vuelve a ciclo.
jmp CicloR
RET
Rvec ENDP
;*************************************************************************************************
; FUNCIÓN WVEC - Despliega el contenido del vector apuntado por ESI y longitud en EBX
;*************************************************************************************************
Wvec PROC
RET
Wvec ENDP
;*************************************************************************************************
; FUNCIÓN INVEC - Carga Vector Apuntado por EDI con Datos de Vector Apuntado por ESI Invertidos
;*************************************************************************************************
Invec PROC
Invec ENDP
;*************************************************************************************************
; FINAL DEL PROGRAMA
;*************************************************************************************************
END