1 #ifndef ASM_X86_INTERNAL_H
2 #warning Do not include this file directly
3 #else
4 
asm_pushl(struct assembler_state_t * state,const uint32_t src)5 static inline void asm_pushl(struct assembler_state_t *state, const uint32_t src)
6 {
7 	state->esp -= 4;
8 	if (state->esp & 0x00000003)
9 	{
10 		fprintf(stderr, "#AC(0) exception occured here\n");
11 		return;
12 	}
13 	x86_write_memory(state, state->ss, state->esp, 4, src);
14 }
asm_pushw(struct assembler_state_t * state,const uint16_t src)15 static inline void asm_pushw(struct assembler_state_t *state, const uint16_t src)
16 {
17 	asm_pushl(state, src);
18 }
asm_pushb(struct assembler_state_t * state,const uint8_t src)19 static inline void asm_pushb(struct assembler_state_t *state, const uint8_t src)
20 {
21 	asm_pushl(state, src);
22 }
23 
24 #endif
25