smapi_bios.S (109412) | smapi_bios.S (109463) |
---|---|
1/* $FreeBSD: head/sys/i386/bios/smapi_bios.S 109412 2003-01-17 08:10:18Z mdodd $ */ | 1/* $FreeBSD: head/sys/i386/bios/smapi_bios.S 109463 2003-01-18 04:36:12Z mdodd $ */ |
2 3#include <machine/asmacros.h> 4 | 2 3#include <machine/asmacros.h> 4 |
5 .data 6smapi32_segment_tmp: .word 0 7smapi32_offset_tmp: .long 0 | |
8 .text 9/* 10 * smapi32(input_param, output_param) 11 * struct smapi_bios_parameter *input_parm; 12 * struct smapi_bios_parameter *output_parm; 13 */ 14ENTRY(smapi32) 15 pushl %ebp /* Save frame */ --- 15 unchanged lines hidden (view full) --- 31 * smapi32(offset, segment, input_param, output_param) 32 * u_int offset; 33 * u_short segment; 34 * struct smapi_bios_parameter *input_parm; 35 * struct smapi_bios_parameter *output_parm; 36 */ 37ENTRY(smapi32_new) 38 pushl %ebp /* Save frame */ | 5 .text 6/* 7 * smapi32(input_param, output_param) 8 * struct smapi_bios_parameter *input_parm; 9 * struct smapi_bios_parameter *output_parm; 10 */ 11ENTRY(smapi32) 12 pushl %ebp /* Save frame */ --- 15 unchanged lines hidden (view full) --- 28 * smapi32(offset, segment, input_param, output_param) 29 * u_int offset; 30 * u_short segment; 31 * struct smapi_bios_parameter *input_parm; 32 * struct smapi_bios_parameter *output_parm; 33 */ 34ENTRY(smapi32_new) 35 pushl %ebp /* Save frame */ |
39 movl 0x08(%esp),%ebp 40 movl %ebp,smapi32_offset_tmp 41 movw 0x0c(%esp),%bp 42 movw %bp,smapi32_segment_tmp | 36 movl %esp,%ebp |
43 | 37 |
38 movl 0x08(%ebp),%eax 39 movl %eax,smapi32_offset 40 movw 0x0c(%ebp),%ax 41 movw %ax,smapi32_segment 42 |
|
44 pushl %ds 45 pushl 0x20(%ebp) /* Output Param */ 46 pushl %ds 47 pushl 0x10(%ebp) /* Input Param */ 48 49 movl $0,%eax | 43 pushl %ds 44 pushl 0x20(%ebp) /* Output Param */ 45 pushl %ds 46 pushl 0x10(%ebp) /* Input Param */ 47 48 movl $0,%eax |
50 movw %cs,smapi32_segment_tmp 51 lcall *(smapi32_offset_tmp) | 49 movw %cs,smapi32_segment 50 lcall *(smapi32_offset) |
52 53 leave 54 ret | 51 52 leave 53 ret |