Advertisement
Guest User

Untitled

a guest
Dec 21st, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROC SkaitykBuf
  2. ;i BX paduodamas failo deskriptoriaus numeris
  3. ;i AX bus gra;˛inta, kiek simboliu; nuskaityta
  4.  
  5.     PUSH    cx
  6.     PUSH    dx
  7.     PUSH    di
  8.     push    si
  9.    
  10.     MOV di, offset einamaEilute
  11.  
  12.     neEilutesPabaiga:
  13.         MOV ah, 3Fh             ;21h pertraukimo duomenu; nuskaitymo funkcijos numeris
  14.         MOV cl, 1               ;cx - kiek baitu; reikia nuskaityti iš failo (1 baita)
  15.         MOV ch, 0               ;išvalom vyresniji; cx baita;
  16.         MOV dx, offset skBuf    ;vieta, i kuria irašoma nuskaityta informacija
  17.         INT 21h                 ;skaitymas iš failo
  18.         JC  klaidaSkaitant      ;jei skaitant iš failo ivyksta klaida, nustatomas carry flag
  19.         MOV si, dx
  20.         MOV dl, byte ptr [si]   ;isikeliam i einamaEilute
  21.         MOV byte ptr [di], dl
  22.         INC di                  ;pastumiam di
  23.         CMP dx, 0Dh             ;jei nuskaitem 0Dh tai eilutes pabaiga ir baigiam skaityt
  24.         JNE neEilutesPabaiga
  25.        
  26.   SkaitykBufPabaiga:
  27.     pop si
  28.     POP di
  29.     POP dx
  30.     POP cx
  31.     RET
  32.  
  33.   klaidaSkaitant:
  34.     MOV     ax, 0           ;Pazymime registre ax, kad nebuvo nuskaityta ne vieno simbolio
  35.     JMP SkaitykBufPabaiga
  36. SkaitykBuf ENDP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement