Rev 3355 | Rev 3571 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3355 | Rev 3539 | ||
---|---|---|---|
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 |