home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
tutorial
/
y_asm
/
bios_dos.inc
< prev
next >
Wrap
Text File
|
1987-10-30
|
9KB
|
247 lines
; ************************************************************************
; ** **
; ** bios_dos.inc **
; ** **
; ** This file defines the services provided by the ROM BIOS and **
; ** DOS of the IBM-PC family of computers. **
; ** **
; ************************************************************************
; ROM BIOS
; --------
rom_prt_sc equ 05H ; ROM PRINT SCREEN INTERRUPT
rom_vid equ 10H ; ROM VIDEO INTERRUPT
; VIDEO INTERRUPT SERVICES
wr_vid_mode equ 00H ; WRITE VIDEO MODE
wr_cur_size equ 01H ; WRITE CURSOR SIZE
wr_cur_pos equ 02H ; WRITE CURSOR POSITION
rd_cur_pos equ 03H ; READ CURSOR POSITION
rd_pen_pos equ 04H ; READ LIGHT PEN POSITION
wr_act_page equ 05H ; WRITE ACTIVE PAGE
scroll_up equ 06H ; SCROLL WINDOW UP
scroll_down equ 07H ; SCROLL WINDOW DOWN
rd_char_attr equ 08H ; READ CHARACTER AND ATTRIBUTE
wr_char_attr equ 09H ; WRITE CHARACTER AND ATTRIBUTE
wr_char equ 0AH ; WRITE CHARACTER
wr_col_pal equ 0BH ; WRITE COLOR PALETTE
wr_pixel equ 0CH ; WRITE PIXEL
rd_pixel equ 0DH ; READ PIXEL
wr_tty equ 0EH ; WRITE TTY CHARACTER
rd_vid_mode equ 0FH ; READ VIDEO MODE
wr_pal_reg equ 10H ; PC-JR WRITE COLOR PALETTE REGISTER
wr_string equ 13H ; PC-AT WRITE STRING
rom_equ equ 11H ; ROM EQUIPMENT INTERRUPT
rom_mem equ 12H ; ROM MEMORY SIZE INTERRUPT
rom_disk equ 13H ; ROM DISKETTE INTERRUPT
; DISKETTE INTERRUPT SERVICES
rst_disk equ 00H ; RESET DISKETTE SYSTEM
rd_disk_stat equ 01H ; READ DISKETTE STATUS
rd_disk_sect equ 02H ; READ DISKETTE SECTOR
wr_disk_sect equ 03H ; WRITE DISKETTE SECTOR
ver_disk_sect equ 04H ; VERIFY DISKETTE SECTOR
fmt_disk_trk equ 05H ; FORMAT DISKETTE TRACK
rd_disk_parm equ 08H ; PC-AT READ DISKETTE PARAMETERS
init_disk_parm equ 09H ; PC-AT INITIALIZE DISKETTE PARAMETERS
rd_disk_long equ 0AH ; PC-AT READ DISKETTE LONG
wr_disk_long equ 0BH ; PC-AT WRITE DISKETTE LONG
disk_seek equ 0CH ; PC-AT SEEK DISKETTE TRACK
alt_reset_disk equ 0DH ; PC-AT ALTERNATE DISKETTE RESET
test_disk_rdy equ 10H ; PC-AT TEST FOR DISKETTE READY
recal_disk equ 11H ; PC-AT RECALIBRATE DISKETTE
disk_diag equ 14H ; PC-AT DISKETTE DIAGNOSTICS
rd_disk_type equ 15H ; PC-AT READ DISKETTE TYPE
chg_disk_stat equ 16H ; PC-AT CHANGE DISKETTE STATUS
wr_disk_type equ 17H ; PC-AT WRITE DISKETTE TYPE
rom_serial equ 14H ; ROM SERIAL PORT INTERRUPT
; SERIAL PORT INTERRUPT SERVICES
init_port equ 00H ; INITIALIZE SERIAL PORT
tx_char equ 01H ; TRANSMIT CHARACTER
rx_char equ 02H ; RECEIVE CHARACTER
rd_port_stat equ 03H ; READ SERIAL PORT STATUS
rom_dev equ 15H ; ROM DEVICE INTERRUPT
; DEVICE INTERRUPT SERVICES
cass_on equ 00H ; TURN CASSETTE MOTOR ON
cass_off equ 01H ; TURN CASSETTE MOTOR OFF
cass_rd equ 02H ; READ CASSETTE DATA BLOCK
cass_wr equ 03H ; WRITE CASSETTE DATA BLOCK
open_dev equ 80H ; PC-AT OPEN DEVICE
close_dev equ 81H ; PC-AT CLOSE DEVICE
term_dev equ 82H ; PC-AT TERMINATE DEVICE
event_wait equ 83H ; PC-AT EVENT WAIT
joystick equ 84H ; PC-AT JOYSTICK
sys_req equ 85H ; PC-AT Sys Req KEY
wait equ 86H ; PC-AT WAIT
move_block equ 87H ; PC-AT MOVE BLOCK
rd_ext_mem equ 88H ; PC-AT READ EXTENDED MEMORY SIZE
virtual_mem equ 89H ; PC-AT SWITCH TO VIRTUAL MEMORY
dev_busy equ 90H ; PC-AT DEVICE BUSY LOOP
complete_int equ 91H ; PC-AT SET FLAG AND COMPLETE INTERRUPT
rom_key equ 16H ; ROM KEYBOARD INTERRUPT
; KEYBOARD INTERRUPT SERVICES
rd_key equ 00H ; READ KEYBOARD
test_key equ 01H ; TEST KEYBOARD
rd_shift equ 02H ; READ SHIFT STATUS
key_delay equ 03H ; PC-JR TYPEMATIC DELAY
key_click equ 04H ; PC-JR KEYBOARD CLICK
rom_print equ 17H ; ROM PRINTER INTERRUPT
; PRINTER INTERRUPT SERVICES
print_char equ 00H ; PRINT CHARACTER
init_print equ 01H ; INITIALIZE PRINTER
rd_print_stat equ 02H ; READ PRINTER STATUS
rom_basic equ 18H ; ROM START BASIC INTERRUPT
rom_reboot equ 19H ; ROM REBOOT INTERRUPT
rom_time equ 1AH ; ROM REAL TIME CLOCK INTERRUPT
; REAL TIME CLOCK INTERRUPT SERVICES
rd_count equ 00H ; READ CLOCK COUNT
wr_count equ 01H ; WRITE CLOCK COUNT
rd_time equ 02H ; PC-AT READ TIME
wr_time equ 03H ; PC-AT WRITE TIME
rd_date equ 04H ; PC-AT READ DATE
wr_date equ 05H ; PC-AT WRITE DATE
set_alarm equ 06H ; PC-AT SET ALARM
reset_alarm equ 07H ; PC-AT RESET ALARM
; DOS
; ---
dos_term equ 20H ; DOS PROGRAM TERMINATION INTERRUPT
dos_func equ 21H ; DOS FUNCTION INTERRUPT
; FUNCTION INTERRUPT FUNCTIONS
term equ 00H ; DOS1 - TERMINATE PROGRAM
key_in_echo equ 01H ; DOS1 - KEYBOARD INPUT WITH ECHO
disp_out equ 02H ; DOS1 - DISPLAY OUTPUT
serial_in equ 03H ; DOS1 - SERIAL INPUT
serial_out equ 04H ; DOS1 - SERIAL OUTPUT
printer_out equ 05H ; DOS1 - PRINTER OUTPUT
console_io equ 06H ; DOS1 - DIRECT CONSOLE I/O
dir_key_in equ 07H ; DOS1 - DIRECT KEYBOARD INPUT
key_in equ 08H ; DOS1 - KEYBOARD INPUT WITHOUT ECHO
disp_string equ 09H ; DOS1 - DISPLAY STRING
buf_key_in equ 0AH ; DOS1 - BUFFERED KEYBOARD INPUT
chk_key_stat equ 0BH ; DOS1 - CHECK KEYBOARD STATUS
clr_key_func equ 0CH ; DOS1 - CLEAR KEY BUFFER AND PERFORM FUNCTION
reset_disk equ 0DH ; DOS1 - RESET DISK
sel_drive equ 0EH ; DOS1 - SELECT CURRENT DRIVE
open_file equ 0FH ; DOS1 - OPEN FILE
close_file equ 10H ; DOS1 - CLOSE FILE
search_first equ 11H ; DOS1 - SEARCH FOR FIRST MATCHING FILE
search_next equ 12H ; DOS1 - SEARCH FOR NEXT MATCHING FILE
delete_file equ 13H ; DOS1 - DELETE FILE
rd_seq_rec equ 14H ; DOS1 - READ SEQUENTIAL RECORD
wr_seq_rec equ 15H ; DOS1 - WRITE SEQUENTIAL RECORD
create_file equ 16H ; DOS1 - CREATE FILE
rename_file equ 17H ; DOS1 - RENAME FILE
rd_cur_drive equ 19H ; DOS1 - REPORT CURRENT DRIVE
set_dta equ 1AH ; DOS1 - SET DISK TRANSFER AREA FUCNTION
rd_fat_1 equ 1BH ; DOS1 - READ CURRENT DRIVE'S FAT
rd_fat_2 equ 1CH ; DOS1 - READ ANY DRIVE'S FAT
rd_ran_rec1 equ 21H ; DOS1 - READ RANDOM FILE RECORD
wr_ran_rec1 equ 22H ; DOS1 - WRITE RANDOM FILE RECORD
rd_file_size equ 23H ; DOS1 - REPORT FILE SIZE
set_ran_rec equ 24H ; DOS1 - SET RANDOM RECORD FIELD SIZE
set_int_vec equ 25H ; DOS1 - SET INTERRUPT VECTOR
create_seg equ 26H ; DOS1 - CREATE PROGRAM SEGMENT FUCNTION
rd_ran_rec2 equ 27H ; DOS1 - READ RANDOM FILE RECORD
wr_ran_rec2 equ 28H ; DOS1 - WRITE RANDOM FILE RECORD FUCNTION
parse_name equ 29H ; DOS1 - PARSE FILENAME
get_date equ 2AH ; DOS1 - GET DATE
set_date equ 2BH ; DOS1 - SET DATE
get_time equ 2CH ; DOS1 - GET TIME
set_time equ 2DH ; DOS1 - SET TIME
set_verify equ 2EH ; DOS1 - SET DISK WRITE VERIFICATION MODE
get_dta equ 2FH ; DOS2 - GET DISK TRANSFER AREA ADDRESS
get_ver equ 30H ; DOS2 - GET DOS VERSION NUMBER
keep equ 31H ; DOS2 - ADVANCED TERMINATE BUT STAY RESIDENT
cntrl_brk equ 33H ; DOS2 - GET/SET CONTROL BREAK STATUS
get_int_vec equ 35H ; DOS2 - GET INTERRUPT VECTOR
get_space equ 36H ; DOS2 - GET DISK FREE SPACE
get_country equ 38H ; DOS2 - GET COUNTRY INFORMATION
mkdir equ 39H ; DOS2 - MAKE DIRECTORY
rmdir equ 3AH ; DOS2 - REMOVE DIRECTORY
chdir equ 3BH ; DOS2 - CHANGE CURRENT DIRECTORY FUCNTION
create equ 3CH ; DOS2 - CREATE FILE
open equ 3DH ; DOS2 - OPEN FILE
close equ 3EH ; DOS2 - CLOSE FILE
read equ 3FH ; DOS2 - READ FILE/DEVICE
write equ 40H ; DOS2 - WRITE FILE/DEVICE
delete equ 41H ; DOS2 - DELETE FILE
move_pointer equ 42H ; DOS2 - MOVE FILE POINTER
chmod equ 43H ; DOS2 - CHANGE FILE MODE
ioctl equ 44H ; DOS2 - DEVICE I/O CONTROL
dup equ 45H ; DOS2 - DUPLICATE FILE HANDLE
cdup equ 46H ; DOS2 - FORCE FILE HANDLE DUPLICATION
get_dir equ 47H ; DOS2 - GET CURRENT DIRECTORY
allocate equ 48H ; DOS2 - ALLOCATE MEMORY
free equ 49H ; DOS2 - FREE MEMORY
set_block equ 4AH ; DOS2 - MODIFY ALLOCATED MEMORY BLOCK
exec equ 4BH ; DOS2 - LOAD/EXECUTE PROGRAM
term_proc equ 4CH ; DOS2 - TERMINATE PROCESS
get_code equ 4DH ; DOS2 - GET SUBPROGRAM RETURN CODE
find_first equ 4EH ; DOS2 - FIND FIRST FILE MATCH
find_next equ 4FH ; DOS2 - FIND NEXT FILE MATCH
get_verify equ 54H ; DOS2 - GET FILE WRITE VERIFY STATE
rename equ 56H ; DOS2 - RENAME FILE
date_time equ 57H ; DOS2 - GET/SET FILE DATE/TIME
get_err equ 59H ; DOS3 - GET EXTENDED RETURN CODE
create_temp equ 5AH ; DOS3 - CREATE TEMPORARY FILE
create_new equ 5BH ; DOS3 - CREATE NEW FILE
file_lock equ 5CH ; DOS3 - LOCK/UNLOCK FILE ACCESS
get_psp equ 62H ; DOS3 - GET PROGRAM SEGMENT PREFIX ADDRESS
dos_rd_abs equ 25H ; DOS ABSOLUTE DISK READ INTERRUPT
dos_wr_abs equ 26H ; DOS ABSOLUTE DISK WRITE INTERRUPT
dos_term_res equ 27H ; DOS TERMINATE/RESIDENT INTERRUPT
dos_spool equ 2FH ; DOS PRINT SPOOLER INTERRUPT
; PRINT SPOOLER INTERRUPT FUNCTIONS
spool_query equ 00H ; INSTALLED QUERY
spool_submit equ 01H ; SUBMIT FILE
spool_cancel equ 02H ; CANCEL FILE
spool_canall equ 03H ; CANCEL ALL FILES
spool_queue equ 04H ; EXAMINE QUEUE
spool_null equ 05H ; NULL