私が書いているコンパイラによって生成された次のASMファイルがあります。
; This code has been generated by the 7Basic
; compiler <http://launchpad.net/7basic>
; Uninitialized data
SECTION .bss
v_0 resb 4
v_4 resb 4
v_8 resb 4
; Code
SECTION .text
push 1
pop eax
mov v_0, eax
push 2
pop eax
mov v_4, eax
mov eax, v_0
push eax
mov eax, v_4
push eax
pop ebx
pop eax
imul eax,ebx
push eax
pop eax
mov v_8, eax
コンパイルしようとすると、次のエラーが発生します。
test.asm:16:エラー:オペコードとオペランドの組み合わせが無効です
test.asm:19:エラー:オペコードとオペランドの組み合わせが無効です
test.asm:29:エラー:オペコードとオペランドの組み合わせが無効です
NASMのドキュメントによると、次のことが許可されているため、これは実際には意味がありません。
MOV mem_offs、reg_eax 386
なぜこの操作を実行できないのですか?