Segundo fichero de la libreria IO. En el definimos las funciones de escritura, lectrua y posicionamiento dentro del fichero.
Aunque las funciones parecen cortas, de código más corto que las macros open o close. Hay que tener en cuenta que existe el comando use y el paso de argumetos lo cual generan cada función 6 instrucciones extras que no se ven, y que se unirían a la intrucción de datos en pila por parte de la macro.
El hecho de que estas estén en librería se debe a que al ser más usadas en el programa, se amortiza este sobrecarga con las repeticiones.
FILE.ASM
; Copyright (C) 2013 José Ángel Moneo Fernández ; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; You should have received a copy of the GNU General Public License ; along with this program. If not, see <http://www.gnu.org/licenses/>.
.model compact,pascal
.code
public _fseek
public _rseek
public _read
public _write
_fseek proc near uses bx cx dx, handle,metodo,posicion
mov bx,handle
mov dx,metodo
mov ax,posicion
mov ah,42h
xor cx,cx
int 21h
ret
_fseek endp
_rseek proc near uses bx cx dx, handle,numero,registro
mov ax, numero
mov bx, registro
mul bx
mov dx,ax
mov ah,42h
mov bx,handle
xor cx,cx
mov al,0
int 21h
ret
_rseek endp
_read proc near uses bx cx dx, handle,numero,registro
mov bx,handle
mov cx,numero
mov dx,registro
mov ah,3fh
int 21h
ret
_read endp
_write proc near uses bx cx dx, handle,numero,registro
mov bx,handle
mov cx,numero
mov dx,registro
mov ah,40h
int 21h
ret
_write endp
end
No hay comentarios:
Publicar un comentario
Si tienes algún comentario, duda o sugerencia, o si quieres aportar algún código creado a partir de las librerías expuestas aquí, por favor, indícamelo.