assemble
Forum Kalfası
Kod:
CSeg Segment
Assume Cs:CSeg,Ds:CSeg,Es:CSeg,Ss:CSeg
Org 100h
Begin: Jmp Initialize
KarsiOlc Label Word
YeniIntr21h Proc Near
PushF
Cmp Ax,4B00h
Jz Evet
GeriDon: PopF
Jmp DWord Ptr Cs:[SaveIntr21h]
Evet: Mov Word Ptr Cs:[OrjDs],Ds
Mov Word Ptr Cs:[OrjDx],Dx
Push Ax Bx Cx Es Si Di
Mov Cx,64
Mov Di,Offset CalisFile
Don: Mov Byte Ptr Cs:[Di],0
Inc Di
Loop Don
Mov Si,Dx
Mov Di,Offset CalisFile
Dongu: Mov Al,Ds:[Si]
Cmp Al,00
Jz ExitDon
Mov Byte Ptr Cs:[Di],Al
Inc Di
Inc Si
Jmp Dongu
ExitDon: Push Cs Cs
Pop Ds Es
Mov Ah,2Ch
Int 21h
Mov Ax,3030h
Mov Word Ptr [Saat],Ax
Mov Word Ptr [Daki],Ax
Mov Word Ptr [Sani],Ax
KarsiBoy Equ ($-KarsiOlc)
Mov Si,Offset Saat
Mov Al,Ch
Call Cevir
Mov Si,Offset Daki
Mov Al,Cl
Call Cevir
Mov Si,Offset Sani
Mov Al,Dh
Call Cevir
Jmp DevamEt
Cevir: Inc Si
Mov Bl,10
Dongu2: Xor Ah,Ah
Div Bl
Add Ah,30h
Mov Byte Ptr [Si],Ah
Dec Si
Or Al,Al
Jnz Dongu2
Ret
DevamEt: Mov Dx,Offset FileName
Mov Ax,3D01h
Int 21h
Mov Bx,Ax
Xor Cx,Cx
Xor Dx,Dx
Mov Ax,4202h
Int 21h
Mov Ah,40h
Mov Cx,KayitBoy
Mov Dx,Offset CalisFile
Int 21h
Mov Ah,3Eh
Int 21h
Pop Di Si Es Cx Bx Ax
LDs Dx,DWord Ptr Cs:[OrjDx]
Jmp GeriDon
FileName DB ?
DB ':\RAPOR.DAT', 0
OrjDx DW ?
OrjDs DW ?
SaveIntr21h DD ?
KayTbn Label Word
CalisFile Db 67 Dup (32)
Saat Db '00:'
Daki Db '00:'
Sani Db '00'
Db 0dh,0ah
KayitBoy Equ ($-KayTbn)
YeniIntr21h EndP
Initialize: Call TsrYuklumu
Je ZatenYuklu
Mov Ah,19h
Int 21h
Add Al,41h
Mov FileName,Al
Mov Ah,4Eh
Mov Dx,Offset FileName
Mov Cx,00FFh
Int 21h
Jnc YukleCas
Call CreateFile
YukleCas: Mov Ax,3521h
Int 21h
Mov Word Ptr Ds:[SaveIntr21h],Bx
Mov Word Ptr Ds:[SaveIntr21h+2],Es
Mov Dx,Offset YukleMsj
Mov Ah,09h
Int 21h
Mov Ax,2521h
Mov Dx,Offset YeniIntr21h
Int 21h
Mov Dx,Offset Initialize
Int 27h
CreateFile: Mov Dx,Offset FileName
Mov Cx,00100000b
Mov Ah,3Ch
Int 21h
Mov Bx,Ax
Mov Dx,Offset YaratN
Mov Cx,KayitLen
Mov Ah,40h
Int 21h
Mov Ah,3Eh
Int 21h
Ret
ZatenYuklu: Mov Ah,09h
Int 21h
Mov Ah,4Ch
Int 21h
TsrYuklumu: Mov Dx,Offset YukluMsj
Mov Ax,3521h
Int 21h
Mov Di,Bx
Push Cs
Pop Ds
Mov Si,Offset YeniIntr21h
Mov Cx,KarsiBoy
RepE CmpSB
Ret
YukleMsj Db 0dh,0ah,'CASUS Ver 1.0, Written By Ozkan Can',0dh,0ah
Db 'CASUS Bellege yuklendi...',0dh,0ah,'$'
YukluMsJ Db 'CASUS Zaten Bellekte...',0dh,0ah,'$'
KayitLenOlc Label Word
YaratN Db 0dh,0ah
db '----------------------------------- R A P O R ---------------------------------',0dh,0ah
db 'DOSYA ADI CALISTIGI SAAT ',0dh,0ah
db '-------------------------------------------------------------------------------',0dh,0ah
db 0dh,0ah
KayitLen Equ ($-KayitLenOlc);
CSeg EndS
End Begin