📄 rdos.s
字号:
popl %ebx leave ret /*############################################################################ Name : RdosCreateSignal## Purpose....: Create signal object## Returns....: Signal handle###########################################################################*/ .global RdosCreateSignal RdosCreateSignal: pushl %ebp movl %esp,%ebp pushl %ebx UserGate create_signal_nr movzx %bx,%eax popl %ebx leave ret /*############################################################################ Name : RdosResetSignal## Purpose....: Reset signal## Parameters.: Signal handle###########################################################################*/ .global RdosResetSignal RdosResetSignal: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate reset_signal_nr popl %ebx leave ret /*############################################################################ Name : RdosIsSignalled## Purpose....: Check if signalled## Parameters.: Signal handle## Returns....: TRUE if signalled###########################################################################*/ .global RdosIsSignalled RdosIsSignalled: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate is_signalled_nr jc risdFree movl $1,%eax jmp risdDone risdFree: xorl %eax,%eaxrisdDone: popl %ebx leave ret /*############################################################################ Name : RdosSetSignal## Purpose....: Set signal## Parameters.: Signal handle###########################################################################*/ .global RdosSetSignal RdosSetSignal: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate set_signal_nr popl %ebx leave ret /*############################################################################ Name : RdosFreeSignal## Purpose....: Free signal handle## Parameters.: Signal handle###########################################################################*/ .global RdosFreeSignal RdosFreeSignal: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate free_signal_nr popl %ebx leave ret /*############################################################################ Name : RdosAddWaitForSignal## Purpose....: Add signal object to wait handle## Parameters.: Wait handle# Signal handle# ID###########################################################################*/ .global RdosAddWaitForSignal RdosAddWaitForSignal: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx movw 8(%ebp),%bx movw 12(%ebp),%ax movl 16(%ebp),%ecx UserGate add_wait_for_signal_nr popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosAddWaitForKeyboard## Purpose....: Add keyboard to wait handle## Parameters.: Wait handle# ID###########################################################################*/ .global RdosAddWaitForKeyboard RdosAddWaitForKeyboard: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx movw 8(%ebp),%bx movl 12(%ebp),%ecx UserGate add_wait_for_keyboard_nr popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosAddWaitForMouse## Purpose....: Add mouse to wait handle## Parameters.: Wait handle# ID###########################################################################*/ .global RdosAddWaitForMouse RdosAddWaitForMouse: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx movw 8(%ebp),%bx movl 12(%ebp),%ecx UserGate add_wait_for_mouse_nr popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosAddWaitForCom## Purpose....: Add com object to wait handle## Parameters.: Wait handle# Com handle# ID###########################################################################*/ .global RdosAddWaitForCom RdosAddWaitForCom: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx movw 8(%ebp),%bx movw 12(%ebp),%ax movl 16(%ebp),%ecx UserGate add_wait_for_com_nr popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosAddWaitForAdc## Purpose....: Add ADC object to wait handle## Parameters.: Wait handle# Adc handle# ID###########################################################################*/ .global RdosAddWaitForAdc RdosAddWaitForAdc: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx movw 8(%ebp),%bx movw 12(%ebp),%ax movl 16(%ebp),%ecx UserGate add_wait_for_adc_nr popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosSetTextMode## Purpose....: Set text mode###########################################################################*/ .global RdosSetTextMode RdosSetTextMode: pushl %ebp movl %esp,%ebp movw $3,%ax UserGate set_video_mode_nr leave ret /*############################################################################ Name : RdosSetVideoMode## Purpose....: Set video mode## Parameters.: &xres# &yres# &linesize# &LFB## Returns....: Bitmap handle###########################################################################*/ .global RdosSetVideoMode RdosSetVideoMode: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edx pushl %esi pushl %edi movl 8(%ebp),%edi movw (%edi),%ax movl 12(%ebp),%edi movw (%edi),%cx movl 16(%ebp),%edi movw (%edi),%dx UserGate get_video_mode_nr jc set_video_fail UserGate set_video_mode_nr jc set_video_fail pushl %edi movl 8(%ebp),%edi movzx %ax,%eax movl %eax,(%edi) movl 12(%ebp),%edi movzx %cx,%ecx movl %ecx,(%edi) movl 16(%ebp),%edi movzx %dx,%edx movl %edx,(%edi) movl 20(%ebp),%edi movzx %si,%esi movl %esi,(%edi) popl %edi movl 24(%ebp),%eax movl %edi,(%eax) movzx %bx,%eax jmp set_video_doneset_video_fail: xorl %eax,%eax movl 8(%ebp),%edi movl %eax,(%edi) movl 12(%ebp),%edi movl %eax,(%edi) movl 16(%ebp),%edi movl %eax,(%edi) movl 20(%ebp),%edi movl %eax,(%edi) movl 24(%ebp),%edi movl %eax,(%edi)set_video_done: popl %edi popl %esi popl %edx popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosSetClipRect## Purpose....: Set clip rectangle## Parameters.: Bitmap handle# xmin, xmax, ymin, ymax###########################################################################*/ .global RdosSetClipRect RdosSetClipRect: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edx pushl %esi pushl %edi movw 8(%ebp),%bx movw 12(%ebp),%cx movw 16(%ebp),%dx movw 20(%ebp),%si movw 24(%ebp),%di UserGate set_clip_rect_nr popl %edi popl %esi popl %edx popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosClearClipRect## Purpose....: Clear clip rectangle## Parameters.: Bitmap handle###########################################################################*/ .global RdosClearClipRect RdosClearClipRect: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate clear_clip_rect_nr popl %ebx leave ret /*############################################################################ Name : RdosSetDrawColor## Purpose....: Set draw color## Parameters.: Bitmap handle# Color###########################################################################*/ .global RdosSetDrawColor RdosSetDrawColor: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx movw 8(%ebp),%bx movl 12(%ebp),%eax UserGate set_drawcolor_nr popl %ebx popl %eax leave ret /*############################################################################ Name : RdosSetLGOP## Purpose....: Set draw color## Parameters.: Bitmap handle# LGOP###########################################################################*/ .global RdosSetLGOP RdosSetLGOP: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx movw 8(%ebp),%bx movw 12(%ebp),%ax UserGate set_lgop_nr popl %ebx popl %eax leave ret /*############################################################################ Name : RdosSetHollowStyle## Purpose....: Set hollow fill style## Parameters.: Bitmap handle###########################################################################*/ .global RdosSetHollowStyle RdosSetHollowStyle: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate set_hollow_style_nr popl %ebx leave ret /*############################################################################ Name : RdosSetFilledStyle## Purpose....: Set filled fill style## Parameters.: Bitmap handle###########################################################################*/ .global RdosSetFilledStyle RdosSetFilledStyle: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate set_filled_style_nr popl %ebx leave ret /*############################################################################ Name : RdosOpenFont## Purpose....: Open a font## Parameters.: height## Returns....: Font handle###########################################################################*/ .global RdosOpenFont RdosOpenFont: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%ax UserGate open_font_nr movzx %bx,%eax popl %ebx leave ret /*############################################################################ Name : RdosCloseFont## Purpose....: Close font handle## Parameters.: Font handle###########################################################################*/ .global RdosCloseFont RdosCloseFont: pushl %ebp movl %esp,%ebp pushl %ebx movw 8(%ebp),%bx UserGate close_font_nr popl %ebx leave ret /*############################################################################ Name : RdosGetStringMetrics## Purpose....: Get string metrics for text using font## Parameters.: Font handle# String# &width# &height###########################################################################*/ .global RdosGetStringMetrics RdosGetStringMetrics: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edx pushl %edi movw 8(%ebp),%bx movl 12(%ebp),%edi UserGate get_string_metrics_nr movl 16(%ebp),%edi movzx %cx,%ecx movl %ecx,(%edi) movl 20(%ebp),%edi movzx %dx,%edx movl %edx,(%edi) popl %edi popl %edx popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosSetFont## Purpose....: Set font## Parameters.: Bitmap handle# Font handle###########################################################################*/ .global RdosSetFont RdosSetFont: pushl %ebp movl %esp,%ebp pushl %eax pushl %ebx movw 8(%ebp),%bx movw 12(%ebp),%ax UserGate set_font_nr popl %ebx popl %eax leave ret /*############################################################################ Name : RdosGetPixel## Purpose....: Get pixel## Parameters.: Bitmap handle# x, y###########################################################################*/ .global RdosGetPixel RdosGetPixel: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edx movw 8(%ebp),%bx movw 12(%ebp),%cx movw 16(%ebp),%dx UserGate get_pixel_nr popl %edx popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosSetPixel## Purpose....: Set pixel## Parameters.: Bitmap handle# x, y###########################################################################*/ .global RdosSetPixel RdosSetPixel: pushl %ebp movl %esp,%ebp pushl %ebx pushl %ecx pushl %edx movw 8(%ebp),%bx movw 12(%ebp),%cx movw 16(%ebp),%dx UserGate set_pixel_nr popl %edx popl %ecx popl %ebx leave ret /*############################################################################ Name : RdosBlit## Purpose....: Blit#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -