.model small

.data

                  extrn sector:byte

                  extrn disk_drive_no:byte

                  extrn current_sector_no:word

.code

                  public read_sector

 

;.code

                  extrn init_sec_disp:proc

                  extrn clear_screen:proc

read_sector  proc

                  push ax

                  push bx

                  push cx

                  push dx

                  mov al,disk_drive_no ; drive number, 0:A,1:B,2:C

                  mov cx,1 ; number of sectors to be read

                  mov dx,current_sector_no ; sector starting number

                  lea bx,sector

                  int 25h

                  popf ; because int 25h & int 24h push the status flag

                       ; to the stack, so we have to retrieve it

                  pop dx

                  pop cx

                  pop bx

                  pop ax

                  ret

read_sector endp

                  end