.386
.model flat,stdcall
option casemap:none
.data
Tabla db 41h, 5h, 69h, 0FEh, 0Fh, 28h, 0EFh, 011h
db 22h, 3h, 25h, 0E4h, 77h, 0Ah, 78h, 015h
Mayor db ?
Menor db ?
.code
start:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Ej1: Mayor y Menor de Tabla.-
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
xor eax, eax
xor edx, edx; indice i
mov al, Tabla[ eax]
mov Mayor, al
mov Menor, al
Bucle: cmp edx, 10h
je Fin
mov al,Tabla[ edx]
add edx, 1
cmp al,Mayor
ja Max
Mex: cmp al,Menor
jae Bucle
mov Menor,al
jmp Bucle
Max: mov Mayor,al
jmp Mex
Fin:mov al, Tabla[ 10h]
mov ah, Menor
xor eax,eax
xor edx,edx
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Ej2: Tabla[ i] <- Tabla [i ] AND 0x0F.-
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Bucle2: cmp edx, 10h
je Fin2
mov eax, dword ptr Tabla[ edx]
and eax, 0F0F0F0Fh
mov dword ptr Tabla[ edx], eax
add edx, 4h
jmp Bucle2
Fin2: xor eax,eax
xor edx,edx
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Ej3: Burbuja.-
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
xor ecx,ecx
mov dl, 10h
Bucle3: cmp al,0Eh
ja Fin3
mov ch,dl
sub ch,2h
sub ch,al
Bucle31: cmp dh,ch
ja Fin31
mov cl, byte ptr Tabla[ edx];indices con registro entero
cmp cl,Tabla[ dh+1h]
jb FSI
mov ah,Tabla[ dh+1h]
mov Tabla[ dh+1h],cl
mov Tabla[ dh],ah
FSI: add dh,1h
jmp Bucle31
Fin31: add al,1h
jmp Bucle3
Fin3: xor eax,eax
xor edx,edx
xor ecx,ecx
end start
end
lunes, 3 de noviembre de 2008
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario