Subversion Repositories Kolibri OS

Rev

Rev 3500 | Rev 3589 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3500 Rev 3555
Line 2921... Line 2921...
2921
    to the declared rules:
2921
    to the declared rules:
2922
    for /rd/1:
2922
    for /rd/1:
2923
    * if one want to read 0 blocks, function considers,
2923
    * if one want to read 0 blocks, function considers,
2924
      that he requested 1;
2924
      that he requested 1;
2925
    * if one requests more than 14 blocks or starting block is
2925
    * if one requests more than 14 blocks or starting block is
2926
      not less than 14, function returns eax=5 (not found) è ebx=-1;
2926
      not less than 14, function returns eax=5 (not found) and ebx=-1;
2927
    * size of ramdisk root folder is 14 blocks,
2927
    * size of ramdisk root folder is 14 blocks,
2928
      0x1C00=7168 áàéò; but function returns ebx=0
2928
      0x1C00=7168 bytes; but function returns ebx=0
2929
      (except of the case of previous item);
2929
      (except of the case of previous item);
2930
    * strangely enough, it is possible to read 14th block (which
2930
    * strangely enough, it is possible to read 14th block (which
2931
      generally contains a garbage - I remind, the indexing begins
2931
      generally contains a garbage - I remind, the indexing begins
2932
      from 0);
2932
      from 0);
2933
    * if some block with the number not less than 14 was requested,
2933
    * if some block with the number not less than 14 was requested,
Line 2992... Line 2992...
2992
  * LBA-read of floppy is not supported.
2992
  * LBA-read of floppy is not supported.
2993
  * Function reads data on physical hard drive; if for any reason
2993
  * Function reads data on physical hard drive; if for any reason
2994
    data of the concrete partition are required, application must
2994
    data of the concrete partition are required, application must
2995
    define starting sector of this partition (either directly
2995
    define starting sector of this partition (either directly
2996
    through MBR, or from the full structure returned by
2996
    through MBR, or from the full structure returned by
2997
    ïîäôóíêöèåé 11 ôóíêöèè 18).
2997
    subfunction 11 of function 18).
2998
  * Function does not check error code of hard disk, so request of
2998
  * Function does not check error code of hard disk, so request of
2999
    nonexisting sector reads something (most probably it will be
2999
    nonexisting sector reads something (most probably it will be
3000
    zeroes, but this is defined by device) and this is considered
3000
    zeroes, but this is defined by device) and this is considered
3001
    as success (eax=0).
3001
    as success (eax=0).
Line 3866... Line 3866...
3866
      and at "murder" by any other process (including debugger itself)
3866
      and at "murder" by any other process (including debugger itself)
3867
  * 3 = debug exception int 1 = #DB
3867
  * 3 = debug exception int 1 = #DB
3868
    * in addition dword-image of the register DR6 is given:
3868
    * in addition dword-image of the register DR6 is given:
3869
      * bits 0-3: condition of the corresponding breakpoint (set by
3869
      * bits 0-3: condition of the corresponding breakpoint (set by
3870
        subfunction 9) is satisfied
3870
        subfunction 9) is satisfied
3871
      * áèò 14: exception has occured because of the trace mode
3871
      * bit 14: exception has occured because of the trace mode
3872
        (flag TF is set TF)
3872
        (flag TF is set TF)
3873
    * process is suspended
3873
    * process is suspended
3874
When debugger terminates, all debugged processes are killed.
3874
When debugger terminates, all debugged processes are killed.
3875
If debugger does not want this, it must previously detach by
3875
If debugger does not want this, it must previously detach by
3876
subfunction 3.
3876
subfunction 3.
Line 4438... Line 4438...
4438
  * eax = 70 - function number
4438
  * eax = 70 - function number
4439
  * ebx = pointer to the information structure
4439
  * ebx = pointer to the information structure
4440
Format of the information structure:
4440
Format of the information structure:
4441
  * +0: dword: 7 = subfunction number
4441
  * +0: dword: 7 = subfunction number
4442
  * +4: dword: flags field:
4442
  * +4: dword: flags field:
4443
    * áèò 0: start process as debugged
4443
    * bit 0: start process as debugged
4444
    * other bits are reserved and must be set to 0
4444
    * other bits are reserved and must be set to 0
4445
  * +8: dword: 0 or pointer to ASCIIZ-string with parameters
4445
  * +8: dword: 0 or pointer to ASCIIZ-string with parameters
4446
  * +12 = +0xC: dword: 0 (reserved)
4446
  * +12 = +0xC: dword: 0 (reserved)
4447
  * +16 = +0x10: dword: 0 (reserved)
4447
  * +16 = +0x10: dword: 0 (reserved)
4448
  * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are
4448
  * +20 = +0x14: ASCIIZ-name of file, the rules of names forming are