Copy Link
Add to Bookmark
Report

Minotauro Magazine Issue 03 06 FÇ de Ratas..

eZine's profile picture
Published in 
Minotauro Magazine
 · 6 Feb 2021

  

F‚ de Ratas.. ;)
-------------------------------------------------------------------------------
Jeje, esta area esta destinada a 'corregir' o aclarar un poco mas los
conceptos de los que se hablan en la revista.. generalmente de n£meros anterio_
res, ;). El problema era la velocidad de edicion de la revista: Tenemos a un
grupo de gente laburando en varios proyectos a la vez, adem s de la revista y
algunas cosas pasan desapercibidas.. o no nos damos cuenta que no estan lo su_
ficientemente claras como para entenderlas.

Un ejempo de esto es la nota en que Zarathustra habla de los m‚todos de
residencia... en la parte que explica el m‚todo de MCB, nos dice:

mov ax, cs ;Con esto obtenemos el segmento
dec ax ;del MCB.

mov es, ax ;Aca estamos obteniendo del campo
mov ax, es:[3] ;del MCB, la memoria utilizada.

;******************************************************************************
;El problema de esto, es que en nignun momento se aclara que tenemos que decla_
;rar el tama¤o del virus un poco mas grande, exactamente un parrafo mas largo.
;Esto por qu‚ ? Y bueno, en el momento en que tenemos que restarle un parrafo a
;la memoria que queremos reservar (esto lo haciamos para dar lugar a que se
;cree el MCB del nuevo bloque), estamos reservando un parrafo menos de virus
;tambien.. osea que la ultima parte del virus no entraria en la memoria reser_
;vada.. Puede ser que no traiga problemas por ser un  rea de datos o algo por
;el estilo, pero es aconsejable hacer las cosas bien, o no ? ;-)
;Bueno, la manera de solucionar esto es simplemente INCrementar la cantidad de
;parrafos del virus o si lo declaran en su programa con un :
;
; TAMANO_EN_PARRAFOS EQU ((FIN-COMIENZO)/16)+1
;
; declarar el incremento directamente ahi, para no gastar bytes ni clocks ;) :
;
; TAMANO_EN_PARRAFOS EQU ((FIN-COMIENZO+15)/16)+1
;
;******************************************************************************

sub ax, bx ;En BX esta la longitud del virus,
;en parrafos. (ahora incrementada).

push bx ;Salvo la cantidad de mem a reservar.
mov bx, ax ;Le paso la nueva cantidad a BX.
push cs
pop es
mov ah, 4ah
int 21h

pop bx ;Popeo la cantidad de mem a reservar.
dec bx
mov ah, 48h
int 21h

dec ax
mov es, ax
mov word ptr es:[1], 8
mov word ptr es:[8],'XX' ;Opcional, un nombre al bloque.
inc ax
mov es, ax

push es ;Salvo la dir del seg. del virus
... ;blah blah blah y sigue el c¢digo ;)
...

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT