⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c.inc

📁 开放源码的编译器open watcom 1.6.0版的源代码
💻 INC
字号:
;*******************************************************************************
;PSP selector
;*******************************************************************************
	externdef __psp:word


;*******************************************************************************
;Command line arguments
;*******************************************************************************
	externdef __argv:dword


;*******************************************************************************
;Allocate some memory.
;
;Usage: malloc(int bytes);
;
;Returns:
;
;EAX	- memory allocated, zero if failed.
;
;*******************************************************************************
	externdef malloc:near
	externdef malloc_:near


;*******************************************************************************
;Re-allocate some memory.
;
;Usage: realloc(void *oldmem, int bytes);
;
;Returns:
;
;EAX	- new memory address, zero if failed.
;
;*******************************************************************************
	externdef realloc:near
	externdef realloc_:near


;*******************************************************************************
;Release some memory.
;
;Usage: free(void *memory);
;
;Returns:
;
;*******************************************************************************
	externdef free:near
	externdef free_:near


;*******************************************************************************
;Copy string.
;
;Usage: strcpy(char *dest, char *source);
;
;Returns:
;
;EAX	- char *dest
;
;*******************************************************************************
	externdef strcpy:near
	externdef strcpy_:near


;*******************************************************************************
;Append a string.
;
;Usage: strcat(char *dest, char *source);
;
;Returns:
;
;EAX	- char *dest
;
;*******************************************************************************
	externdef strcat:near
	externdef strcat_:near


;*******************************************************************************
;Get length of a string.
;
;Usage: strlen(char *source);
;
;Returns:
;
;EAX	- string length
;
;*******************************************************************************
	externdef strlen:near
	externdef strlen_:near


;*******************************************************************************
;Open a file.
;
;Usage: open(char *filename, int mode, [int cmode]);
;
;filename	- name of file to open.
;mode	- mode to open file in.
;cmode	- only needed for O_CREAT, defines files attributes.
;
;Returns:
;
;EAX	- file handle (zero if open failed).
;
;*******************************************************************************
	externdef open:near
	externdef open_:near
O_RDONLY	equ 0000h	; open for read only
O_WRONLY	equ 0001h	; open for write only
O_RDWR	equ 0002h	; open for read and write
O_APPEND	equ 0010h	; writes done at end of file
O_CREAT 	equ 0020h	; create new file
O_TRUNC 	equ 0040h	; truncate existing file
O_NOINHERIT	equ 0080h	; file is not inherited by child process
O_TEXT	equ 0100h	; text file
O_BINARY	equ 0200h	; binary file
O_EXCL	equ 0400h	; exclusive open

S_IRWXU 	equ 0700h	; read/write,execute,search
S_IRUSR 	equ 0400h	; read



;*******************************************************************************
;Close a file.
;
;Usage: close(int handle);
;
;handle	- handle of file to close.
;
;Returns:
;
;EAX	- zero for success, -1 for failure.
;
;*******************************************************************************
	externdef close:near
	externdef close_:near


;*******************************************************************************
;Set file pointer.
;
;Usage: lseek(int handle, int offset, int mode);
;
;handle	- file handle
;offset	- offset to set.
;mode	- seek mode.
;
;Returns:
;
;EAX	- new position.
;
;*******************************************************************************
	externdef lseek:near
	externdef lseek_:near
SEEK_SET	equ	0
SEEK_CUR	equ	1
SEEK_END	equ	2


;*******************************************************************************
;Read from a file.
;
;Usage: read(int handle, void *buffer, int bytes);
;
;handle	- file handle
;buffer	- buffer to read to
;bytes	- bytes to read.
;
;Returns:
;
;EAX	- number of bytes read, -1 on error.
;
;*******************************************************************************
	externdef read:near
	externdef read_:near


;*******************************************************************************
;Write to a file.
;
;Usage: write(int handle, void *buffer, int bytes);
;
;handle	- file handle
;buffer	- buffer to write to
;bytes	- bytes to write.
;
;Returns:
;
;EAX	- number of bytes written, -1 on error.
;
;*******************************************************************************
	externdef write:near
	externdef write_:near


	externdef kbhit:near
	externdef kbhit_:near

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -