Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Определить свободное место на Fdd

16K
09 мая 2006 года
dnd_digger
4 / / 03.05.2006
Ребят помогите плз. Как мог разбирался с 13h и FAT12 но не смог реализовать прогу на ассемблере для определения свободного места на дискетке :(

вот код
Код:
.Model Small
.486
.Stack 200h
.Data
        fat db 512*9 dup(?)
        free dw 0
        full dw 0
        numclaster dw 0
        claster dw 512
        allclaster dw 2847
        mes1 db 13,10,' Insert disc:'  ,13,10,'$'
        mes2 db 13,10,'Bye bye!'  ,13,10,'$'
        mes3 db 13,10,'Free: ',13,10,'$'
        mes4 db 13,10,'Full: ',13,10,'$'

 m db ?
;********
.Code
start:mov ax,@data
       mov ds,ax
       mov es,ax

mov ah,0
mov al,3
int 10h  

FDD:
  mov ah,9    
  lea dx,mes1
  int 21h    
  mov ah, 08h
  int 21h  
  mov dl,0
  mov dh,0
  mov ch,0
  mov cl,2
  mov al,9
  lea bx, fat
  mov ah, 02h
  int 13h
jc FDD
  xor si,si
  mov si,3
K1:
  inc numclaster
  mov ax, allclaster
  cmp numclaster, ax
je K3
  mov ax, word ptr fat[si]
  and ax, 0FFFh ;0FFFh
  cmp ax,0
jne K2
  inc free
   
     
K2:inc numclaster
  inc si
  mov ax, word ptr fat[si]
  SHR ax,4
  cmp ax,0
  jne m4
  inc free
m4:inc si
jmp K1

[COLOR=red]то что закаментированно это я еще пытался сделать вывод на экран в цифрах свободное место ))[/COLOR]
K3:
  mov ax,free
  ;mul claster
  ;mov free,ax
  ;mov ah,9    
 ; lea dx,mes3
 ; int 21h  
 
 ; mov ax,allclaster
  ;mul claster
;  sub ax,free
; mov full, ax
;  mov ah,9    
  ;lea dx,mes4
;  int 21h      

;vivod:
;mov ah,9    
; lea dx,mes3
; int 21h  
            ;  mov ax,free
              ;xor ah,ah
              ;mov dl,10
              ;div dl
              ;add al,30h
              ;add ah,30h
             ; mov dl,al
              ;mov m,ah
          ;    mov ah,02
            ;  int 21h
              ;mov dl,m
              ;mov ah,02
              ;int 21h
;mov ah,9    
; lea dx,mes4
; int 21h
            ;  mov ax,full
          ;    xor ah,ah
           ;   mov dl,10
           ;   div dl
           ;   add al,30h
           ;   add ah,30h
           ;   mov dl,al
            ;  mov m,ah
          ;    mov ah,02
           ;   int 21h
           ;   mov dl,m
           ;   mov ah,02
           ;   int 21h
;END
  mov ah,9    
  lea dx,mes2
  int 21h    
  mov AH, 08H
  int 21H
mov ah,4ch
int  21h
End Start
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог