;random access from file
.model small
.stack 64
.data
name1 label byte
maxlen db 5
actlen db ?
record db 5 dup(' '),'$'
nl db 13,10,'$'
filename db 'c:\rec.asm',00h
filehandle1 dw ?
recno dw ?
error db 10,13,"error $"
msg db 10,13,"recno:- $"
.code
main proc near
mov ax,@data
mov ds,ax
mov ah,3ch
mov cx,00
lea dx,filename
int 21h
jc end1
mov filehandle1,ax
a10:
mov ah,0ah
lea dx,name1
int 21h
cmp actlen,0
jbe a20
mov ah,40h
mov bx,filehandle1
mov cx,5
lea dx,record
int 21h
mov ah,09h
lea dx,nl
int 21h
jmp a10
a20:
mov ah,3eh
mov bx,filehandle1
int 21h
mov ah,3dh
mov al,00
lea dx,filename
int 21h
jc end1
mov filehandle1,ax
mov ah,09h
lea dx,msg
int 21h
mov ah,01h
int 21h
sub al,31h
mov ah,00
mul maxlen
mov recno,ax
mov ah,42h
mov al,00
mov bx,filehandle1
mov cx,00
mov dx,recno
int 21h
mov ah,3fh
mov bx,filehandle1
mov cx,5
lea dx,record
int 21h
mov ah,09h
lea dx,record
int 21h
mov ah,3eh
mov bx,filehandle1
int 21h
jmp end2
end1:
mov ah,09h
lea dx,error
int 21h
end2:
mov ax,4c00h
int 21h
main endp
end main
.model small
.stack 64
.data
name1 label byte
maxlen db 5
actlen db ?
record db 5 dup(' '),'$'
nl db 13,10,'$'
filename db 'c:\rec.asm',00h
filehandle1 dw ?
recno dw ?
error db 10,13,"error $"
msg db 10,13,"recno:- $"
.code
main proc near
mov ax,@data
mov ds,ax
mov ah,3ch
mov cx,00
lea dx,filename
int 21h
jc end1
mov filehandle1,ax
a10:
mov ah,0ah
lea dx,name1
int 21h
cmp actlen,0
jbe a20
mov ah,40h
mov bx,filehandle1
mov cx,5
lea dx,record
int 21h
mov ah,09h
lea dx,nl
int 21h
jmp a10
a20:
mov ah,3eh
mov bx,filehandle1
int 21h
mov ah,3dh
mov al,00
lea dx,filename
int 21h
jc end1
mov filehandle1,ax
mov ah,09h
lea dx,msg
int 21h
mov ah,01h
int 21h
sub al,31h
mov ah,00
mul maxlen
mov recno,ax
mov ah,42h
mov al,00
mov bx,filehandle1
mov cx,00
mov dx,recno
int 21h
mov ah,3fh
mov bx,filehandle1
mov cx,5
lea dx,record
int 21h
mov ah,09h
lea dx,record
int 21h
mov ah,3eh
mov bx,filehandle1
int 21h
jmp end2
end1:
mov ah,09h
lea dx,error
int 21h
end2:
mov ax,4c00h
int 21h
main endp
end main
No comments:
Post a Comment