################################################################# # # # Copyright 2001, 2012 Fidelity Information Services, Inc # # # # This source code contains the intellectual property # # of its copyright holder(s), and is made available # # under a license. If you do not know the terms of # # the license, please stop and do not read further. # # # ################################################################# .sbttl g_msf.si # PAGE + #----------------------------------------------- # Mumps stack frame manipulation macros # for the GNU gas i386 assembler version #----------------------------------------------- msf_rvector_off = 0 msf_l_symtab_off = 4 msf_mpc_off = 8 msf_ctxt_off = 12 msf_temps_ptr_off = 16 msf_vartab_ptr_off = 20 msf_vartab_len_off = 24 msf_temp_mvals_off = 26 msf_old_frame_off = 28 msf_typ_off = 32 msf_flags_off = 34 msf_for_ctrl_stack = 36 msf_frame_size = 44 SFT_COUNT = 0x01 SFT_DM = 0x02 SFT_REP_OP = 0x04 SFT_ZBRK_ACT = 0x08 SFT_DEV_ACT = 0x10 SFT_ZTRAP = 0x20 SFT_ZSTEP_ACT = 0x80 SFT_ZINTR = 0x100 SFF_INDCE = 0x01 SFF_ZTRAP_ERR = 0x02 SFF_DEV_ACT_ERR = 0x04 SFF_CI = 0x08 SFF_ETRAP_ERR = 0x10 .sbttl g_msf.si putframe .macro putframe movl frame_pointer,%edx movl %edi,msf_temps_ptr_off(%edx) movl %esi,msf_l_symtab_off(%edx) movl (%esp),%eax movl %eax,msf_mpc_off(%edx) .endm .extern error_return .sbttl g_msf.si getframe .macro getframe movl frame_pointer,%edi movb msf_flags_off(%edi),%dl andb $SFF_ETRAP_ERR,%dl jz lab1\@ call error_return lab1\@: movl frame_pointer, %edx movl msf_temps_ptr_off(%edx),%edi movl msf_l_symtab_off(%edx),%esi pushl msf_mpc_off(%edx) .endm .sbttl g_msf.si mrt_jsb = 0 mrt_src_len = 12 mrt_src_addr = 16 mrt_rtn_len = 24 mrt_rtn_addr = 28 mrt_var_ptr = 32 mrt_var_len = 36 mrt_lab_ptr = 40 mrt_lab_len = 44 mrt_lnr_ptr = 48 mrt_lnr_len = 52 mrt_ptxt_ptr = 56 mrt_checksum = 60 mrt_compiler_qlf = 64 mrt_oldr_ptr = 68 mrt_curr_ptr = 72 mrt_tmp_mv = 76 mrt_tmp_sz = 78