vm-invoke.asm

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· 汇编 代码 · 共 51 行

ASM
51
字号
; -----------------------------------------------
; $Id: vm-invoke.asm,v 1.4 2003/12/14 08:30:02 epr Exp $
;
; Java VM method invocation support code
;
; Author       : E. Prangsma
; -----------------------------------------------

	extern vm_findThrowableHandler
	extern VmMethod_Class

vm_invoke_abstract:
	%if TRACE_ABSTRACT
		push eax
	    mov eax,vm_invoke_abstract_msg1
	    call sys_print_str
	    pop eax
		push eax
	    call sys_print_eax
	    ;mov eax,[eax+VmMember_NAME_OFFSET*4]
	    ;call vm_print_string
	    pop eax
    %endif
	%if FAIL_ON_ABSTRACT
	    int 0x50
    %endif
	push dword SoftByteCodes_EX_ABSTRACTMETHOD ; Exception number
	push eax ; Address
	mov eax,SoftByteCodes_systemException
	INVOKE_JAVA_METHOD
	jmp vm_athrow
	ret

; -----------------------------------------------
; C-String constants
; -----------------------------------------------

vm_invoke_msg1: db '{inv:',0
vm_invoke_msg3: db ' (cnt:',0
vm_invoke_msg4: db ')} ',0

vm_invoke_abstract_msg1: db 'Abstract method called: ',0

vm_invoke_compile_msg1: db '@#@# compile class ',0
vm_invoke_compile_msg2: db ' #@#@ ',0

vm_invoke_init_msg1: db '{clinit:',0
vm_invoke_init_msg2: db '} ',0


⌨️ 快捷键说明

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