Advertisement
cyberjab

Untitled

Dec 7th, 2023
1,603
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. d_seq segment
  3.     filenamein db 'D:\file1.txt', 0
  4.     buf dw 100 dup (?)
  5.     blen dw 100  
  6.     handle dw 0
  7.     filenameout  db  'D:\file2.txt',0
  8.     descr   dw  ?
  9. d_seq ends
  10.  
  11. s_seq segment
  12. db 256 dup (?)
  13. s_seq ends
  14.                                                                          
  15. c_seq segment
  16. assume cs:c_seq, ss:s_seq, ds:d_seq
  17. start:
  18.      
  19.     mov     ax, d_seq
  20.     mov     ds, ax
  21.     mov     ax, ss
  22.     mov     ss, ax
  23.  
  24.     mov     AH, 3dh
  25.     mov     AL, 0
  26.     mov     DX, offset filenamein
  27.     int     21h
  28.     mov     handle, AX
  29.  
  30.     mov     AH, 3fh
  31.     mov     BX, handle
  32.     mov     DX, offset buf ;
  33.     mov     CX, 100
  34.     int     21h
  35.  
  36.     mov     DI, offset buf ;
  37.     mov     BX, 100 ;
  38.     mov     byte ptr [DI+BX], '$'
  39.  
  40.     mov     AH, 9 ;
  41.     mov     DX, offset buf
  42.     int     21h
  43.    
  44.  
  45.     xor     dx, dx
  46.     xor     ah, ah
  47.     mov     ah, 2
  48.     mov     dl, 0dh
  49.     int     21h
  50.    
  51.     mov     DX, offset buf
  52.    
  53.     mov bx, dx
  54.     xor ch, ch
  55.     mov cl, [bx]
  56.     mov dx, bx
  57.  
  58. @@next:
  59.     mov al, [bx]
  60.    
  61.     cmp al, 'a'
  62.     jb @@skip
  63.    
  64.     cmp al, 'A'
  65.     jb @@skip
  66.    
  67.     cmp al, 'z'
  68.     ja @@skip
  69.    
  70.     cmp al, 'Z'
  71.     jbe @@save
  72.    
  73. @@save:
  74.     xor byte ptr [bx], 20h
  75. @@skip:
  76.     inc bx
  77.     loop @@next
  78.    
  79.     mov byte ptr [bx],'$'
  80.    
  81.     mov ah, 09h
  82.     int 21h
  83.          
  84. ;----------------------------------------------------------
  85.     xor dx, dx
  86.      
  87.     mov   ah,3Ch  ;Create File
  88.     xor   cx,cx
  89.     lea   dx,filenameout
  90.     int   21h
  91.     mov   descr,ax
  92.  
  93.     mov   ah,3Dh  ;Open File
  94.     mov   al,2
  95.     lea   dx,filenameout
  96.     int   21h
  97.     mov   descr,ax
  98.    
  99.     xor   ax,ax
  100.     mov   al,100
  101.     cbw
  102.     mov   bp,ax
  103.     xor   ax,ax
  104.    
  105.     mov   bx,descr
  106.     call  write
  107.    
  108.     mov   ah,3Eh  ;Close File
  109.     mov   bx,descr
  110.     int   21h
  111.    
  112.     mov ax,4C00h
  113.     int 21h
  114. write:
  115.     xor cx,cx
  116.     mov   ah,40h  ;Record File
  117.     mov   cx,bp
  118.     lea   dx,buf
  119.     mov   cx, 65
  120.     int   21h
  121.    
  122.     int 20h
  123. c_seq ends
  124. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement