// File: /workspace/github_c_makefile_star2_O0/crcx[P]retroforth/vm/nga-c/retro.c
// Function: i_fe
V i_fe(NgaState *vm) {
  guard(vm, 1, 1, 0);
  switch (TOS) {
    case -1: TOS = ACTIVE.sp - 1; break;
    case -2: TOS = ACTIVE.rp; break;
    case -3: TOS = IMAGE_SIZE; break;
    case -4: TOS = CELL_MIN; break;
    case -5: TOS = CELL_MAX; break;
    default: TOS = vm->memory[TOS]; break;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movl $0x1, %edx
xorl %ecx, %ecx
movl %edx, %esi
callq 0x3740
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rax
imulq $0x874, %rax, %rdx      # imm = 0x874
movq %rcx, %rax
addq %rdx, %rax
movslq 0x200004(%rcx,%rdx), %rcx
movl 0x200018(%rax,%rcx,4), %eax
addl $0x5, %eax
movl %eax, %ecx
movq %rcx, -0x10(%rbp)
subl $0x4, %eax
ja 0xb1e4
movq -0x10(%rbp), %rax
leaq 0x200e(%rip), %rcx      # 0xd020
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movl (%rax), %edx
subl $0x1, %edx
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rsi
movslq 0x2043a4(%rsi), %rsi
imulq $0x874, %rsi, %rsi      # imm = 0x874
addq %rsi, %rcx
movslq (%rcx), %rcx
movl %edx, 0x14(%rax,%rcx,4)
jmp 0xb279
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movl 0x4(%rax), %edx
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rsi
movslq 0x2043a4(%rsi), %rsi
imulq $0x874, %rsi, %rsi      # imm = 0x874
addq %rsi, %rcx
movslq (%rcx), %rcx
movl %edx, 0x14(%rax,%rcx,4)
jmp 0xb279
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rdx
movslq 0x2043a4(%rdx), %rdx
imulq $0x874, %rdx, %rdx      # imm = 0x874
addq %rdx, %rcx
movslq (%rcx), %rcx
movl $0x80000, 0x14(%rax,%rcx,4) # imm = 0x80000
jmp 0xb279
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rdx
movslq 0x2043a4(%rdx), %rdx
imulq $0x874, %rdx, %rdx      # imm = 0x874
addq %rdx, %rcx
movslq (%rcx), %rcx
movl $0x80000001, 0x14(%rax,%rcx,4) # imm = 0x80000001
jmp 0xb279
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rdx
movslq 0x2043a4(%rdx), %rdx
imulq $0x874, %rdx, %rdx      # imm = 0x874
addq %rdx, %rcx
movslq (%rcx), %rcx
movl $0x7ffffffe, 0x14(%rax,%rcx,4) # imm = 0x7FFFFFFE
jmp 0xb279
movq -0x8(%rbp), %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rdx
movslq 0x2043a4(%rdx), %rdx
imulq $0x874, %rdx, %rdx      # imm = 0x874
addq %rdx, %rcx
movq -0x8(%rbp), %rdx
addq $0x200004, %rdx         # imm = 0x200004
movq -0x8(%rbp), %rsi
movslq 0x2043a4(%rsi), %rsi
imulq $0x874, %rsi, %rsi      # imm = 0x874
addq %rsi, %rdx
movslq (%rdx), %rdx
movslq 0x14(%rcx,%rdx,4), %rcx
movl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
addq $0x200004, %rax         # imm = 0x200004
movq -0x8(%rbp), %rcx
movslq 0x2043a4(%rcx), %rcx
imulq $0x874, %rcx, %rcx      # imm = 0x874
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x200004, %rcx         # imm = 0x200004
movq -0x8(%rbp), %rsi
movslq 0x2043a4(%rsi), %rsi
imulq $0x874, %rsi, %rsi      # imm = 0x874
addq %rsi, %rcx
movslq (%rcx), %rcx
movl %edx, 0x14(%rax,%rcx,4)
addq $0x10, %rsp
popq %rbp
retq
nop