span class=postbodyMS-DOS 의 시스템콜을 개략적으로 이해하기 쉽도록 만들었던 겁니다.
br /
이거 그대로 쓰려고 하지 마시고 자신의 라이브러리로 만들어 버리세요~
br /
br /
참고로 모든 함수는 Pascall 호출규칙입니다.
br /
br /
br /
/spantable align=center border=0 cellpadding=3 cellspacing=1 width=90%tbodytr tdspan class=genmedb코드:/b/span/td /tr tr td class=code
br /
COMMENT #
br /
br /
NOTE : 2000.10.07 (SAT)
br /
br /
nbsp; - MZLIB : DOS.LIB
br /
br /
#
br /
br /
br /
br /
DEF_ASM_DOSnbsp; nbsp; nbsp; nbsp; EQU DOS.ASM
br /
br /
br /
br /
INCLUDEnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; COMMON.INC
br /
br /
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_chdir
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_findfirst
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_findnext
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_getcurdir
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_getcwd
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_getdisk
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_mkdir
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_rmdir
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_setdisk
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_creat
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_open
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_close
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_unlink
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_read
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_write
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_lseek
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_getfileattr
br /
br /
PUBLICnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DOS_setfileattr
br /
br /
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ASSUME CS:CODE_DOS, DS:DATA_DOS, ES:NOTHING, SS:STACK_DEFAULT
br /
br /
CODE_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;SEGMENT
br /
br /
DOS_chdirnbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_chdir(void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3B00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Path string pointer (End of ASCII_ENDSTRING)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4
br /
br /
DOS_chdirnbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_findfirstnbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_findfirst(void far *, void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 1A00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name list string
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4E00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Attrib
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 0Ch]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; DTA
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 4 + 2
br /
br /
DOS_findfirstnbsp; nbsp; nbsp; ENDP
br /
br /
DOS_findnextnbsp; nbsp; nbsp; nbsp;PROC FAR ; unsigned int far pascal DOS_findnext(void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 1A00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; DTA
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4F00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4
br /
br /
DOS_findnextnbsp; nbsp; nbsp; nbsp;ENDP
br /
br /
DOS_getcurdirnbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_getcurdir(unsigned int, void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4700h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV DX, WORD PTR [BP + 0Ah]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS SI, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2 + 4
br /
br /
DOS_getcurdirnbsp; nbsp; nbsp; ENDP
br /
br /
DOS_getcwdnbsp; nbsp; nbsp; nbsp; nbsp;PROC FAR ; void far * far pascal DOS_getcwd(void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;SUB SP, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DEC SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;CALL FAR PTR CODE_DOS:DOS_getdisk
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ADD AL, 'A'
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LES DI, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;CLD
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;STOSB
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AL, ':'
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;STOSB
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AL, '\'
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;STOSB
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;SUB AX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;DEC AX
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH AX
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DEF_Null
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH SS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH AX
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;CALL FAR PTR CODE_DOS:DOS_getcurdir
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP AX
br /
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH SS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV SI, AX
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;SUB CX, 0004h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;CLD
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;REPZ MOVSB
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;XOR AL, AL
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;STOSB
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, WORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Low Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV DX, WORD PTR [BP + 0Ah]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; High Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV SP, BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 2
br /
br /
DOS_getcwdnbsp; nbsp; nbsp; nbsp; nbsp;ENDP
br /
br /
DOS_getdisknbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_getdisk(void)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 1900h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;XOR AH, AH
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETFnbsp;
br /
br /
DOS_getdisknbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_mkdirnbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_mkdir(void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3900h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Directory name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4
br /
br /
DOS_mkdirnbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_rmdirnbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_rmdir(void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3A00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Directory name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4
br /
br /
DOS_rmdirnbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_setdisknbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_setdisk(unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 0E00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV DX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Disk number
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;XOR AH, AH
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2
br /
br /
DOS_setdisknbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_creatnbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_creat(void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3C00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Attrib
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;JNC SHORT L_DOS_creat_00
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 0FFFFh
br /
br /
L_DOS_creat_00nbsp; nbsp; nbsp;LABEL SHORT
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 2
br /
br /
DOS_creatnbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_opennbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PROC FAR ; unsigned int far pascal DOS_open(void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3D00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Attrib
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;JNC SHORT L_DOS_open_00
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 0FFFFh
br /
br /
L_DOS_open_00nbsp; nbsp; nbsp; LABEL SHORT
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 2
br /
br /
DOS_opennbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ENDP
br /
br /
DOS_closenbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_close(unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3E00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Handle
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2
br /
br /
DOS_closenbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_unlinknbsp; nbsp; nbsp; nbsp; nbsp;PROC FAR ; unsigned int far pascal DOS_unlink(void far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4100h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4
br /
br /
DOS_unlinknbsp; nbsp; nbsp; nbsp; nbsp;ENDP
br /
br /
DOS_readnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PROC FAR ; unsigned int far pascal DOS_read(unsigned int, void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 3F00h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BX, WORD PTR [BP + 0Ch]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Handle
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;JNC SHORT L_DOS_read_00
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 0FFFFh
br /
br /
L_DOS_read_00nbsp; nbsp; nbsp; LABEL SHORTnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2 + 4 + 2
br /
br /
DOS_readnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ENDP
br /
br /
DOS_writenbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_write(unsigned int, void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4000h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BX, WORD PTR [BP + 0Ch]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Handle
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Length
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Buffer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;JNC SHORT L_DOS_write_00
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 0FFFFh
br /
br /
L_DOS_write_00nbsp; nbsp; nbsp;LABEL SHORTnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2 + 4 + 2
br /
br /
DOS_writenbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_lseeknbsp; nbsp; nbsp; nbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_lseek(unsigned int, unsigned long, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AH, 42h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AL, BYTE PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Mode
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BX, WORD PTR [BP + 0Ch]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Handle
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 0Ah]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; High Offset
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV DX, WORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Low Offset
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 2 + 4 + 2
br /
br /
DOS_lseeknbsp; nbsp; nbsp; nbsp; nbsp; ENDP
br /
br /
DOS_getfileattrnbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_getfileattr(void far *, unsigned int far *)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4300h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 0Ah]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS BX, DWORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; Attrib value pointer
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV WORD PTR [BX], CX
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 4
br /
br /
DOS_getfileattrnbsp; nbsp; ENDP
br /
br /
DOS_setfileattrnbsp; nbsp; PROC FAR ; unsigned int far pascal DOS_setfileattr(void far *, unsigned int)
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV BP, SP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;PUSH DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV AX, 4301h
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;MOV CX, WORD PTR [BP + 06h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;; Attrib
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;LDS DX, DWORD PTR [BP + 08h]nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ; File name
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;INT DEF_INT_Dos
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP DS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;POP BP
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;RETF 4 + 2
br /
br /
DOS_setfileattrnbsp; nbsp; ENDP
br /
br /
CODE_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ENDS
br /
br /
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ASSUME CS:CODE_DOS, DS:DATA_DOS, ES:NOTHING, SS:STACK_DEFAULT
br /
br /
DATA_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;SEGMENT
br /
br /
DATA_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ENDS
br /
br /
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;ASSUME CS:CODE_DOS, DS:BSS_DOS, ES:NOTHING, SS:STACK_DEFAULT
br /
br /
BSS_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; SEGMENT
br /
br /
BSS_DOSnbsp; nbsp; nbsp; nbsp; nbsp; nbsp; ENDS
br /
br /
nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp; nbsp;END
br /
br /
br /
br /
; End of source
/td/tr/tbody/table
받은 트랙백이 없고,
댓글이 없습니다.

글
댓글을 달아 주세요
댓글 RSS 주소 : http://blog.minzkn.com/rss/comment/38댓글 ATOM 주소 : http://blog.minzkn.com/atom/comment/38