โ๏ธGESTION DE LA MEMORIA
section .data
msg db '16kb asignados', 10
len equ $ - msg
section .text
global _start
_start:
mov eax, 45 ; Cargamos 45 a eax
mov ebx, ebx ; Se hace solo para eetar seguro que ebx este limpio
int 0x80
add eax, 16384 ; Agregamos 16384 a eax, que es igual a 16kb
mov ebx, eax ; Lo movemos a ebx
mov eax, 45 ; Volvemos a cargar 45 para llamada al sistema
int 0x80
cmp eax, 0 ; Compara eax con 0
jl exit ; Salta a exit si el resultado es menor que
mov edi, eax ; Movemos eax, a edi
sub edi, 4 ; Restamos 4 a edi
mov ecx, 4096 ; Agregamos 4069 a ecx, este funcionara como contador
xor eax, eax ; Establece eax en 0
std ; Establece la direccion de flujo desendente (decre edi)
rep stosd ; Repite stosd. Almacena ceros de 32 bits y apunta a edi
cld ; Restablece el flujo en modo desendente
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80
exit:
mov eax, 1
xor ebx, ebx
int 0x80รltima actualizaciรณn