我正在尝试编译 heach的gate

yasm-1.2.0-win64.exe "Heaven's Gate.asm"
.

使用以下代码:

global main
section .text
main:
    bits 32
        db      9ah ;call 33:in64
        dd      offset in64
        dw      33h
        ;32-bit code continues here

    bits 64
    in64:
        gs mov rax, qword [30h] ;gs not fs
        mov rax, qword [rax+60h]
        mov rax, qword [rax+18h]
        mov rax, qword [rax+30h]
        mov rax, qword [rax+10h]

    bits 32
        retf
.

但是Yasm告诉我:

Heaven's Gate.asm:6: error: undefined symbol `offset' (first use)  
Heaven's Gate.asm:6: error:  (Each undefined symbol is reported only once.)
.

不是offset关键字?为什么我收到这个错误?

有帮助吗?

解决方案

offset is superfluous in yasm/nasm syntax. Remove them, as the label itself stands for its offset.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top