Sto lavorando a un mondo più approfondito utilizzando il NASM following this tutorial (sezione 4). Questo tutorial ti insegna essenzialmente come gestire l'input da riga di comando.
Questo è il frammento di codice in questione:pop Istruzioni non supportate in modalità a 64 bit utilizzando NASM?
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
Gli errori di codice durante la compilazione con error: instruction not supported in 64-bit mode
facendo riferimento alle istruzioni 3 pop di cui sopra. Upon viewing the docs sembra che questo codice funzioni solo per sistemi a 32 bit.
Esiste un'istruzione pop
a 64 bit? Qualcuno ha un tutorial a 64 bit usando pop
che posso guardare?
Ti rendi conto che il tutorial è per 32 bit? Credo che sia possibile generare codice a 32 bit impostando il formato di output su 'elf32' piuttosto che su' elf', che dovrebbe consentire di seguire questo tutorial anche su una macchina a 64 bit ... –
@Aedin - Sì, dovresti rimanere in modalità a 32 bit se si segue quel tutorial. Non solo i nomi dei registri sono diversi quando si usano 64 bit, quindi sono anche le convenzioni di chiamata. Sostituire semplicemente il 'pop' è improbabile che funzioni. –