en:docs:dos:api:int21:63:00

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
en:docs:dos:api:int21:63:00 [2025/07/19 03:08] prokusheven:docs:dos:api:int21:63:00 [2025/07/20 01:39] (current) prokushev
Line 39: Line 39:
 Does not preserve any registers other than SS:SP. Does not preserve any registers other than SS:SP.
  
-Probably identical to AH=63h/AL=00h for DOS 2.25.+Probably identical to AH=63h/AL=00h for DOS 2.25, but error handling differs
  
 The US version of MS-DOS 3.30 treats this as an unused function, setting AL=00h and returning immediately, WITHOUT setting DS:SI; only the Far East versions of MS-DOS 3.2 and 3.3 supported this call. The US version of MS-DOS 3.30 treats this as an unused function, setting AL=00h and returning immediately, WITHOUT setting DS:SI; only the Far East versions of MS-DOS 3.2 and 3.3 supported this call.
Line 46: Line 46:
  
 IBM DOS 6.1 SYS.COM assumes that CF is set on error 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, the DOS is not a Far East version, and hence there are no double-byte characters and no lead byte table.
  
 Format of double-byte character set lead byte table entry: Format of double-byte character set lead byte table entry:
Line 56: Line 58:
  
 ===== See also ===== ===== See also =====
- 
-AX=6301h - AH=07h - AH=08h - AH=0Bh 
  
 ===== Note ===== ===== Note =====