sys_msg_board

sys32.inc中的第3251行和第3252行预定义了:

process_loading db 'Kernel : Process - loading ',13,10,0
process_running db 'Kernel : Process - done',13,10,0

 

sys32.inc中的第3550行和3551行:

process_terminating db 'Kernel : Process - terminating',13,10,0
process_terminated db 'Kernel : Process - done',13,10,0

 

在add_app_parameters过程中,最后第3545行调用了sys_msg_board_str,参数放在了esi中。

在kernel.asm中的第8536行则是sys_msg_board_str过程。这个过程循环调用了sys_msg_board过程,这个过程在8554行处。

 

在8551行和8552行则定义了:

msg_board_data: times 512 db 0
msg_board_count dd 0x0

 

而在board.asm中,可以看到第63号调用。在sys32.inc中第789行可以查到对应的是sys_msg_board。

    mov eax,63
    mov ebx,2
    int 0x40

在sys_msg_board注释中,可以看到:

    ; eax=1 : write : bl byte to write
    ; ebx=2 : read : ebx=0 -> no data, ebx=1 -> data in al

mov ebx,2 意味着是读取数据。

原来debug board中的数据来源于此:

 

posted on 2022-08-23 14:27  oemwang  阅读(60)  评论(0)    收藏  举报

导航