Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:docs:dos:api:int21:63:00 [2021/08/06 03:20] – prokushev | en:docs:dos:api:int21:63:00 [2025/07/20 01:39] (current) – prokushev | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| ===== Family API ===== | ===== Family API ===== | ||
| + | [[en: | ||
| ===== Input ===== | ===== Input ===== | ||
| - |          | + | * AX = 6300h | 
| ===== Return ===== | ===== Return ===== | ||
| - | CF clear if successful | + |    | 
| - | DS:SI -> lead byte table (see #01746) | + |      | 
| - | CF set on error | + |    | 
| - |   AX = error code (01h) (see #01680 at AH=59h/ | + |      | 
| - |    | + | note: NO CF flag used in some versions | 
| - | AL = error code | + | |
| - | 00h successful all other registers except CS:IP and SS:SP destroyed | + | * AL = error code | 
| - | FFh not supported | + |        | 
| + |        | ||
| ===== Macro ===== | ===== Macro ===== | ||
| Line 35: | Line 37: | ||
| ===== Notes ===== | ===== Notes ===== | ||
| - |    | + | Does not preserve any registers other than SS:SP. | 
| - |   Probably identical to AH=63h/ | + | |
| - | Format of double-byte character set lead byte table entry: | + | Probably identical to AH=63h/ | 
| - |   Offset  | + | The US version  | 
| - |   00h  2 BYTEs    | + | |
| - |   02h  2 BYTEs    | + | |
| - |    | + | |
| - |   N   2 BYTEs    | + | |
| - | ===== See also ===== | + | The US version of DOS 4.0+ accepts this function, but returns an empty list. | 
| - |   AX=6301h  | + | IBM DOS 6.1 SYS.COM assumes that CF is set on error | 
| + | |||
| + | To get the DBCS lead byte table without complicated DOS version checks, set the DS:SI registers to 0:0 before calling the API. If a valid DBCS lead byte table is returned, the DS:SI registers will be modified (the table can’t possibly be stored at 0:0). If DS:SI are still 0:0, the API is not implemented, | ||
| + | |||
| + | Format of double-byte character set lead byte table entry: | ||
| + | |||
| + | ^ Offset ^ Size ^ Description ^ | ||
| + | | 00h | 2 BYTEs | low/high ends of a range of leading byte of double-byte chars | | ||
| + | | 02h | 2 BYTEs | low/high ends of a range of leading byte of double-byte chars | | ||
| + | | ... ||| | ||
| + | | N | 2 BYTEs | 00h,00h end flag | | ||
| + | |||
| + | ===== See also ===== | ||
| ===== Note ===== | ===== Note ===== | ||




