FGALEL 9 function call 60h の謎 生まれてはじめて、function call なんぞというものを使ってみました。 --------------------------------------------------- cut here #include #include main(int argc,char **argv){ union REGS inregs,outregs; struct SREGS segregs; char buf[128]; inregs.h.ah = 0x60; inregs.h.al = 0x00; segread( &segregs ); segregs.ds = FP_SEG(argv[1]); inregs.x.si = FP_OFF(argv[1]); segregs.es = FP_SEG(buf); inregs.x.di = FP_OFF(buf); intdosx( &inregs , &outregs , &segregs ); putchar('\n'); puts(buf); putchar('\n'); } --------------------------------------------------- cut here で、NEC DOS 5.0A-H での TRUENAME との比較結果です。 | |B:\>TRUENAME A: | |A:\USR\C | |B:\>FC60TEST A: | | | |B:\>TRUENAME A:. | |A:\USR\C | |B:\>FC60TEST A:. | |A:\USR\C | |B:\>TRUENAME A:F*.* | |A:\USR\C\F???????.??? | |B:\>FC60TEST A:F*.* | |A:\USR\C\FC60TEST.C | |B:\> | うーむ、謎が多過ぎて、使いこなすのはなかなか難しそう!? まあ、function 4Eh(かな?)の処理もついでにやってくれるというのは、 用途によってはありがたいでしょうし、私の場合は、きちんと大文字に変換 してくれるという所がうれしいです。                                としき