?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download

  1.         DEVICE ZXSPECTRUM128
  2.         include "../_sdk/sys_h.asm"
  3.  
  4. READ_BUF_SZ=8*256
  5.  
  6.         org PROGSTART
  7. cmd_begin
  8.  
  9.         LD DE,FILE_NAME
  10.         OS_OPENHANDLE
  11.         OR A
  12.         JP NZ,ERR_EXIT    ;обработка ошибок
  13.         LD A,B
  14.         LD (handle),A    ;сохраняем дескриптор
  15.  
  16.                 LD B,2
  17.                 LD HL,0
  18.                 LD IX,0
  19. t0              PUSH BC
  20.                 ld B,#A0
  21.  
  22. t1              PUSH BC
  23.                 PUSH HL
  24.  
  25.                 LD A,(handle)
  26.         LD B,A
  27.  
  28.                 LD DE,READ_BUF
  29.                 LD HL,READ_BUF_SZ;2048
  30.         OS_READHANDLE
  31.         OR A
  32.         JP NZ,ERR_EXIT    ;обработка ошибок
  33.         LD A,H
  34.         OR L
  35.         JP Z,END_READ    ;данных для чтения нет, либо указатель чтения\записи указывает на конец файла
  36.                 POP HL
  37.  
  38.                 PUSH HL
  39.                 LD B,0
  40.                 LD DE,READ_BUF
  41.                 LD A,READ_BUF_SZ/256;8
  42.                 OS_WRITESECTORS ;b=drive, de=buffer, ixhl=sector number, a=count
  43.                 POP HL
  44.                
  45.                 LD BC,8
  46.                 ADD HL,BC
  47.                 POP BC
  48.                 DJNZ t1
  49.                 POP BC
  50.                 DJNZ t0
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. END_READ
  58.  
  59.  
  60.  
  61.  
  62. CLOSE_ERR_EXIT
  63.         LD A,(handle)
  64.         LD B,A
  65.         OS_CLOSEHANDLE
  66.         ;OR A
  67.         ;JP NZ,ERR_EXIT    ;обработка ошибок
  68. ERR_EXIT
  69.         QUIT
  70.                
  71.  
  72. FILE_NAME:
  73.            DEFB "source.trd",0  
  74.  
  75. handle
  76.            DEFB 0
  77.  
  78. READ_BUF
  79.         DEFS READ_BUF_SZ
  80.  
  81. cmd_end
  82.  
  83.  
  84.         ;display "Size ",/d,cmd_end-cmd_begin," bytes"
  85.  
  86.         savebin "wrtrd.com",cmd_begin,cmd_end-cmd_begin
  87.  
  88.         LABELSLIST "../../us/user.l"
  89.