system_invoke.asm

来自「哈工大的几个人开发的操作系统pyos的部分源码」· 汇编 代码 · 共 30 行

ASM
30
字号
[BITS 32]
[GLOBAL pyos_asm_invoke_video_print]
[EXTERN pyos_true_invoke_video_print]
[GLOBAL pyos_asm_invoke_video_clear]
[EXTERN pyos_true_invoke_video_clear]
[SECTION .text]

pyos_asm_invoke_video_print:
  ;取得第四个参数( char style )
  mov eax , [esp+20]
  ;取得第三个参数( char ch )
  mov ebx , [esp+16]
  ;取得第二个参数( unsigned int y_pos )
  mov ecx , [esp+12]
  ;取得第一个参数( unsigned int x_pos )
  mov edx , [esp+8]
  ;再次压入参数,供C++程序调用
  push eax  
  push ebx  
  push ecx  
  push edx
  ;调用相应的C++处理函数
  call pyos_true_invoke_video_print
  add esp,16
  ;返回
  retf

pyos_asm_invoke_video_clear:
  call pyos_true_invoke_video_clear
  retf

⌨️ 快捷键说明

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