📄 rdos.s
字号:
.global RdosDisableCts RdosDisableCts: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate disable_cts_nr popl %ebx leave ret /*############################################################################ Name : RdosEnableAutoRts## Purpose....: Enable auto RTS signal generation for RS485## Parameters.: Com handle###########################################################################*/ .global RdosEnableAutoRts RdosEnableAutoRts: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate enable_auto_rts_nr popl %ebx leave ret /*############################################################################ Name : RdosDisableAutoRts## Purpose....: Disable auto RTS signal generation for RS485## Parameters.: Com handle###########################################################################*/ .global RdosDisableAutoRts RdosDisableAutoRts: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate disable_auto_rts_nr popl %ebx leave ret /*############################################################################ Name : RdosSetDtr## Purpose....: Set DTR active## Parameters.: Com handle###########################################################################*/ .global RdosSetDtr RdosSetDtr: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate set_dtr_nr popl %ebx leave ret /*############################################################################ Name : RdosResetDtr## Purpose....: Set DTR inactive## Parameters.: Com handle###########################################################################*/ .global RdosResetDtr RdosResetDtr: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate reset_dtr_nr popl %ebx leave ret /*############################################################################ Name : RdosSetRts## Purpose....: Set RTS active## Parameters.: Com handle###########################################################################*/ .global RdosSetRts RdosSetRts: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate set_rts_nr popl %ebx leave ret /*############################################################################ Name : RdosResetRts## Purpose....: Set RTS inactive## Parameters.: Com handle###########################################################################*/ .global RdosResetRts RdosResetRts: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate reset_rts_nr popl %ebx leave ret /*############################################################################ Name : RdosGetReceiveBufferSpace## Purpose....: Get receive buffer free space## Parameters.: Com handle## Returns....: Free bytes###########################################################################*/ .global RdosGetReceiveBufferSpace RdosGetReceiveBufferSpace: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate get_com_receive_space_nr popl %ebx leave ret /*############################################################################ Name : RdosGetSendBufferSpace## Purpose....: Get send buffer free space## Parameters.: Com handle## Returns....: Free bytes###########################################################################*/ .global RdosGetSendBufferSpace RdosGetSendBufferSpace: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate get_com_send_space_nr popl %ebx leave ret /*############################################################################ Name : RdosOpenFile## Purpose....: Open file## Parameters.: Filename# Access## Returns...: File handle###########################################################################*/ .global RdosOpenFile RdosOpenFile: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edi movl 8(%ebp),%edi movb 12(%ebp),%cl UserGate open_file_nr jc OpenFileFailed movzx %bx,%eax jmp OpenFileDoneOpenFileFailed: xorl %eax,%eaxOpenFileDone: popl %edi popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosCreateFile## Purpose....: Create file## Parameters.: Filename# Attribute## Returns...: File handle###########################################################################*/ .global RdosCreateFile RdosCreateFile: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edi movl 8(%ebp),%edi movw 12(%ebp),%cx UserGate create_file_nr jc CreateFileFailed movzx %bx,%eax jmp CreateFileDoneCreateFileFailed: xorl %eax,%eaxCreateFileDone: popl %edi popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosCloseFile## Purpose....: Close file## Parameters.: File handle###########################################################################*/ .global RdosCloseFile RdosCloseFile: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate close_file_nr popl %ebx leave ret /*############################################################################ Name : RdosIsDevice## Purpose....: Check if file is device## Parameters.: TRUE if device###########################################################################*/ .global RdosIsDevice RdosIsDevice: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate get_ioctl_data_nr testw $0x8000,%dx jz ridFail movl $1,%eax jmp ridDoneridFail: xorl %eax,%eaxridDone: popl %ebx leave ret /*############################################################################ Name : RdosDuplFile## Purpose....: Duplicate file handle## Parameters.: File handle## Returns....: File handle###########################################################################*/ .global RdosDuplFile RdosDuplFile: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate dupl_file_nr jc DuplFileFailed movzx %bx,%eax jmp DuplFileDoneDuplFileFailed: xorl %eax,%eaxDuplFileDone: popl %ebx leave ret /*############################################################################ Name : RdosGetFileSize## Purpose....: Get file size## Parameters.: File handle## Returns....: Size###########################################################################*/ .global RdosGetFileSize RdosGetFileSize: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate get_file_size_nr jnc GetFileSizeDoneGetFileSizeFail: xorl %eax,%eaxGetFileSizeDone: popl %ebx leave ret /*############################################################################ Name : RdosSetFileSize## Purpose....: Set file size## Parameters.: File handle# Size###########################################################################*/ .global RdosSetFileSize RdosSetFileSize: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx movw 8(%ebp),%bx movl 12(%ebp),%eax UserGate set_file_size_nr popl %ebx popl %eax leave ret /*############################################################################ Name : RdosGetFilePos## Purpose....: Get file position## Parameters.: File handle## Returns....: Position###########################################################################*/ .global RdosGetFilePos RdosGetFilePos: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate get_file_pos_nr jnc GetFilePosDoneGetFilePosFail: xorl %eax,%eaxGetFilePosDone: popl %ebx leave ret /*############################################################################ Name : RdosSetFilePos## Purpose....: Set file position## Parameters.: File handle# Position###########################################################################*/ .global RdosSetFilePos RdosSetFilePos: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx movw 8(%ebp),%bx movl 12(%ebp),%eax UserGate set_file_pos_nr popl %ebx popl %eax leave ret /*############################################################################ Name : RdosGetFileTime## Purpose....: Get file time & date## Parameters.: File handle# &MSB, &LSB###########################################################################*/ .global RdosGetFileTime RdosGetFileTime: pushl %ebp movl %esp,%ebp pushl %ebx pushl %edi movw 8(%ebp),%bx UserGate get_file_time_nr jc GetFileTimeDone movl 12(%ebp),%edi movl %edx,(%edi) movl 16(%ebp),%edi movl %eax,(%edi)GetFileTimeDone: popl %edi popl %ebx leave ret /*############################################################################ Name : RdosSetFileTime## Purpose....: Set file time & date## Parameters.: File handle# MSB, LSB###########################################################################*/ .global RdosSetFileTime RdosSetFileTime: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx pushl %edx movw 8(%ebp),%bx movl 12(%ebp),%edx movl 16(%ebp),%eax UserGate set_file_time_nr popl %edx popl %ebx popl %eax leave ret /*############################################################################ Name : RdosReadFile## Purpose....: Read from file## Parameters.: File handle# buffer# count## Returns....: Read count###########################################################################*/ .global RdosReadFile RdosReadFile: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edi movw 8(%ebp),%bx movl 12(%ebp),%edi movl 16(%ebp),%ecx UserGate read_file_nr popl %edi popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosWriteFile## Purpose....: Write to file## Parameters.: File handle# buffer# count## Returns....: Written count###########################################################################*/ .global RdosWriteFile RdosWriteFile: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edi movw 8(%ebp),%bx movl 12(%ebp),%edi movl 16(%ebp),%ecx UserGate write_file_nr popl %edi popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosCreateMapping## Purpose....: Create file mapping## Parameters.: Size## Returns...: Filemap handle###########################################################################*/ .global RdosCreateMapping RdosCreateMapping: pushl %ebp movl %esp,%ebp pushl %ebx movl 8(%ebp),%eax UserGate create_mapping_nr movzx %bx,%eax popl %ebx leave ret /*############################################################################ Name : RdosCreateNamedMapping## Purpose....: Create named file mapping## Parameters.: Name# Size## Returns...: Filemap handle###########################################################################*/ .global RdosCreateNamedMapping RdosCreateNamedMapping: pushl %ebp movl %esp,%ebp pushl %ebx pushl %edi movl 8(%ebp),%edi movl 12(%ebp),%eax UserGate create_named_mapping_nr movzx %bx,%eax popl %edi popl %ebx leave ret /*############################################################################ Name : RdosCreateNamedFileMapping## Purpose....: Create file named file mapping## Parameters.: Name# Size# File handle## Returns...: Filemap handle###########################################################################*/ .global RdosCreateNamedFileMapping RdosCreateNamedFileMapping: pushl %ebp movl %esp,%ebp pushl %ebx pushl %edi movl 8(%ebp),%edi movl 12(%ebp),%eax movw 16(%ebp),%bx UserGate create_named_file_mapping_nr movzx %bx,%eax popl %edi popl %ebx leave ret /*############################################################################ Name : RdosOpenNamedMapping## Purpose....: Open named file mapping## Parameters.: Name## Returns...: Filemap handle###########################################################################*/ .global RdosOpenNamedMapping RdosOpenName
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -