Вы находитесь на странице: 1из 4

UNIVERSIDAD TECNOLGICA DE EL SALVADOR

MATERIA: PROFESOR:
INSTRUCTOR:

LENGUAJE DE MQUINA (ASSEMBLER) ING. JORGE APARICIO LEMUS.


CSAR ORLANDO CUCHILLAS.

Procedimientos.
A continuacin se listan los procedimientos de uso ms comn en la biblioteca Irvine32.inc: CLRSCR: Borra la ventana de consola. Ejemplo:
call call WaitMsg Clrscr

CRLF: Desplaza el cursor al principio de la siguiente lnea en la ventana de consola.


call WaitMsg

DumpMem: Escribe un rango de memoria a la ventana de consola en hexadecimal


.data Arreglo DWORD 1,2,3,4,5,6,7,8,9,0,0Ah,0Bh .code mov esi,OFFSET arreglo ;desplazamiento inicial mov ecx,LENGTHOF arreglo ;numero de unidades(1,2 o 4) mov ebx,TYPE arreglo ;formato de doble palabra call DumpMem

DumpRegs: Muestra los registros EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP, EIP, EFL (EFLAGS).
call dumpregs Resultado de Ejemplo: EAX=00000000 ESI=01CABE78 EIP=00401015 EBX=7FFD4000 EDI=5DFE5082 EFL=00000246 CF=0 ECX=0012FFB0 EBP=0012FFF0 SF=0 ZF=1 OF=0 EDX=7C91EB94 ESP=0012FFC4 AF=0 PF=1

WriteChar: Escribe un solo carcter guardado en AL, en la ventana de consola.


mov al, 'A' call writechar ;muestra "A"

WriteDec: Escribe el valor contenido en EAX en formato decimal sin signo en la ventana de consola.
mov eax,295 call WriteDec ;muestra "295"

WriteInt: Escribe el valor contenido en EAX en formato decimal con signo en la ventana de consola.
mov eax,216543 call WriteInt ;muestra "+216543"

WriteString: escribe una cadena con terminacin nula en la ventana de consola.


.data indicador byte "Escriba su nombre",0 .code mov edx, OFFSET indicador call WriteSting

GetMseconds: Devuelve el numero de segundos transcurridos desde medianoche en el registro EAX. Se puede usar para medir el tiempo entre un evento y otro. Gotoxy: Posiciona el cursor en una fila y columna especificada en la pantalla. Se debe de pasar la coordenada Y(fila 0-79) en DH y la coordenada X(columna) en DL.
mov dh,10 mov dl,20 call Gotoxy ;fila 10 ;columna 20 ;posiciona el cursor

ReadChar: lee un solo carcter del teclado y lo guarda en el registro AL.


.data car byte ? .code call ReadChar mov car, al

ReadDec: lee un entero decimal sin signo de 32 bits y lo guarda en EAX.


.data Decimal dword ? .code call ReadDec mov Decimal, eax

ReadInt: lee un entero decimal con signo de 32 bits y lo guarda en EAX.


.data Decimal dword ? .code call ReadInt mov Decimal, eax

ReadString: Lee una cadena del teclado y se detiene cuando el usuario oprime la tecla ENTER. Recibe el desplazamiento de un bfer (variable declarada en donde se guardara la cadena) en EDX, y establece ECX el mximo nmero de caracteres que puede introducir el usuario, ms 1(Para guardar espacio para la terminacin nula).
.data bufer byte 21 dup(?) cuentabytes DWORD ? .code mov edx,OFFSET bufer mov ecx,SIZEOF bufer call ReadString mov cuentabytes,eax ;Variable donde se guardara cadena ;guarda el contador ;apunta a l bufer ;especifica el maximo de carateres ;recibe la cadena de entrada ;numero de caracteres ingresados

Compile el siguiente cdigo. Qu procedimientos utiliza?

Ejercicios.
1. Escriba un programa que implemente la siguiente expresin matemtica: EAX= val2+7-val3+val1. Utilice la siguiente definicin de datos:

.data val1 sdword 8 val2 sdword -15 val3 sdword 20


2. Cadena al revs. Escriba un programa en el que utilice la instruccin LOOP con direccionamiento indirecto, para copiar una cadena de origen a destino, invirtiendo el orden de los caracteres en el proceso. Use las siguientes variables

.data COrigen byte "ACASO HUBO BUHOS ACA? YO HALLE BELLA HOY",0 cDestin byte SIZE OF cOrigen DUP(0)
3. Usando la siguiente tabla como gua escriba un programa que pida al usuario que introduzca una calificacin de prueba entre 0 y 100. El programa debe mostrar la letra de calificacin apropiada. Rango de Calificaciones 90 a 100 80 a 89 70 a 79 60 a 69 0 a 59 Letra de calificacin A B C D F

Вам также может понравиться