0
ich diese Zeilen schrieb:LEA Parameter sind falsch
num1 dw 7
num1_ptr dw 0
num1_ptr_ptr dw 0
lea num1_ptr, num1
lea num1_ptr_ptr, num1_ptr
mov bx, num1_ptr_ptr
mov bx, [bx]
mov ax, [bx]
call printNum ;printNum is 100% working. it prints the number in ax.
das Problem ist, dass der Compiler sagt, dass die beiden lea Anweisungen falsche Parameter. Weiß jemand warum?
es ist eine Schulaufgabe, also muss ich die Zeiger mit 0 initialisieren und Lea auf den Zeigern verwenden, damit es num1 am Ende druckt. –
@GuyShilman Sie können ein Scratch-Register verwenden und dann seinen Wert speichern: 'lea ax, num1' /' mov [num1_ptr], ax' (und dasselbe für den anderen Zeiger). Beachten Sie, dass es hier keine wirkliche Verwendung für 'lea' gibt, eine mehr idiomatische' mov ax, OFFSET num1' (oder 'mov ax, num1' auf NASM) reicht aus. –