Why doesn't YASM doesn't recognize the keyword "offset"?

1.3k views Asked by At

I'm trying to compile Heaven's Gate:

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

with the code below:

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

but YASM tells me:

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

Isn't offset a keyword? Why am I getting this error?

1

There are 1 answers

2
Jens Björnhager On BEST ANSWER

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