DosBox エミュレーターを使用して x86 のアセンブリを学習しています。乗算を実行しようとしています。仕組みがわかりません。次のコードを書くと:
mov al, 3
mul 2
エラーが発生します。私が使用しているリファレンスでは、乗算で述べられていますが、AX が常にプレースホルダーであると想定しているため、次のように記述します。
mul, 2
値を 2倍al
します。しかし、私にはうまくいきません。
次のことを試すと:
mov al, 3
mul al,2
int 3
axで結果9を取得します。明確にするために、この図を参照してください。
別の質問: メモリの場所を直接使用して乗算できますか? 例:
mov si,100
mul [si],5