]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/FC/ITOUPPER.ASM
10 ; c = IToupper (c, routine);
12 ; c is char to be converted
13 ; routine is case map call in international table
16 cProc IToupper
,<PUBLIC>
36 ; Get pointer to LBTBL from DOS if we are running on a version
37 ; of DOS which supports it. If not, initialize the table with
38 ; a pointer to a local "default" table with KANJI lead bytes.
40 ;Input: word pointer to LONG "Lbtbl"
41 ;Output: long initialized to Lead byte pointer
44 cProc get_lbtbl
,<PUBLIC>
46 parmW pointer_to_table
48 ; on entry, low word of DWORD pointer has offset of
49 ; a default table of lead bytes defined within the C program
50 ; If function 63 is supported, the DWORD pointer to DOS'
51 ; table will be placed here instead.
55 mov bx,pointer_to_table
;get pointer
56 mov si,[bx] ;default table pointer in DS:SI
59 mov ax,6300h
;make Get Lead Byte call
61 mov ss:[bx],si ;si didn't change if non ECS dos
62 mov ss:[bx+2],ds ;store segment
71 ; test_ECS(char,DWORD_prt) test the char to find out if it is
72 ; a valid lead byte using passed DWORD
73 ; Input: char PTR to the Lead Byte table.
75 ; Output: AX=FFFF (is_lead) Lead byte table may be default in
76 ; AX=0 (not_lead) program or ECS table in DOS when
77 ; running on a version which supports it.
79 cProc test_ECS
,<PUBLIC> ;test for lead byte ;if Lead, then
87 parmD pointer
;DWORD PTR to Lead Byte Table