NASM following this tutorial (bölüm 4) kullanarak daha dürüst bir dünya üzerinde çalışıyorum. Bu öğretici temel olarak komut satırı girişini nasıl ele alacağınızı öğretir.pop Talimat, NASM kullanarak 64-bit modda desteklenmiyor mu?
section .text
global _start
_start:
pop ebx ; arg count
pop ebx ; arg[0] the program name
pop ebx ; arg[1-n] the remainder of the args
; must each be indiviually popped
kod hataları üzerinden en az 3 pop talimatlarına atıfta error: instruction not supported in 64-bit mode
ile derleme sırasında:
Bu, söz konusu kod snippet'idir. Upon viewing the docs öyle görünüyor ki bu kod sadece 32 bit sistemler için çalışıyor.
64 bit pop
talimatı var mı? Bakabileceğim pop
'u kullanarak 64 bit dersi var mı?
Öğreticinin 32 bit olduğunu biliyor musunuz? Çıktı formatını "elf" yerine "elf" yerine ayarlayarak 32 bit kod oluşturabileceğinizi düşünüyorum, bu da 64 bitlik bir makinede bile bu eğiticiyi takip etmenizi sağlar ... –
@Aedin - Evet Bu eğiticiyi izlerseniz 32 bit modunda kalın. Kayıt isimleri sadece 64 bit kullanıldığında farklı değildir, aynı zamanda çağrı kuralları da vardır. Sadece 'pop' yerine geçmek işe yaramıyor. –