2017-01-29 15 views
0

私が持っている初期化されていない構造体とそれを比較する:私は値が何を比較することができますどのようにして構造体のメンバにアクセスし、一定

mov rax, 123 
    ;......... 

    mov rdi, [my_struct1] 
    ;......... 

    syscall 

を:次に

struc my_struct1 
     .a resd 
     .b resb 
     .c resd 
     .d resb 
    endstruc 

それがデータで埋めますそのフィールドの1つはありますか? Cで私はこれを行うでしょう:

if (my_struct1.c == SOME_CONSTANT) { 
    //...... 
} 
+0

は、この小さなチュートリアルでは、あなたにいくつかのインスピレーションを与えるかもしれない:http://mcs.uwsuper.edu/sb/224/Intro /struct_nasm.html –

答えて

-1

あなたはこれをcでやったのと同じ方法で行うことができますか?謎のフィールドのアドレスを見つけて、あなたの定数でcmpを実行し、必要なフラグをチェックしてください。

cmp [mystruct1+4], YOUR_CONSTANT 
jz .jump_somewhere_if_fields_are_equal 

あなたが適切にここで構造体を使用する方法の完全な説明を読むことができ、http://mcs.uwsuper.edu/sb/224/Intro/struct_nasm.html

+0

これは、nasmではありません。 – Torito

+0

これは機能コードではなく、どのように見えるかという考えです。 – odin

+0

少し編集しましたが、Intel/nasmのように見えます – odin

関連する問題