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

📄 rdos.s

📁 Newlib 嵌入式 C库 标准实现代码
💻 S
📖 第 1 页 / 共 5 页
字号:
	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 + -