Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:docs:dos:api:int21:63:00 [2021/08/06 03:18] – created prokushev | en:docs:dos:api:int21:63:00 [2025/07/20 01:39] (current) – prokushev | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{page> | {{page> | ||
- | ====== Int 21H, AH=33H, AL=06H ====== | + | ====== Int 21H, AH=63H, AL=00H ====== |
===== Version ===== | ===== Version ===== | ||
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 ===== |