|
Each article in this column will be about undocumented items and/or features of DOS and DOS Apps. If you know of any undocumented items in DOS, DOS apps, Intel Instructions, etc., lease let us know and you could be the author of the article for an upcoming issue. [Ed.]
Undocumented. Well, what does this word mean? If I document something that is undocumented, then is it undocumented any more?
Microsoft defines Undocumented in this fashion: "Microsoft can not guarantee that the information in this entry will be valid for future version of MS-DOS." [Undocumented DOS, Addison Wesley, 1990].
How about something that is undocumented; is unsupported, most likely will be taken out of [DOS] at any time, and is without written references. Does that sound familiar? However, Microsoft used a highly used, highly undocumented assembler instruction called the LOADALL instruction. The LOADALL instruction allowed access to extended memory on a 286. Did you ever see any documentation of it? Did Intel ever let you know about it in their manuals? In their table of opcodes, Intel put a blank next to 0F 05, the opcode for LOADALL.
How about the DOS in-flag? Did you ever hear about this? The DOS in-flag is used very much in writing TSRs to see if it is "safe" to enter DOS.
How about the list-of-lists? How much information is needed from this list and how would you know how to access this list?
In each article of this column, we will take an undocumented topic and discuss it in detail to give you more information on an undocumented item of DOS. We will also have "tips", so-to-speak, of other small items that are undocumented.
|
For instance; how many times have you wanted to get the length of an asciiz string? There are many ways to do this:
mov si,offset string
Loop1: lodsb
or al,al
jnz short Loop1
mov cx,si
sub cx,offset string
or mov si,offset string
xor cx,cx
Loop1: lodsb
inc cx
or al,al
jnz short Loop1
or les di,string
mov cx,256
xor al,al
repne
scasb
xchg cx,ax
mov cx,256
sub cx,ax
how about les di,string
mov ax,1212h
int 2Fh
This undocumented service was included with DOS 3.x and up.
¥
|