Wie zu verwenden IMUL
und MUL
in emu8086? .. movzx
in emu8086Wie verwendet man IMUL und MUL Anweisungen in emu8086?
wie zum Beispiel movzx in emu8086 nicht erlaubt ist, würde diese Alternative mir erlauben, den Befehl zu verwenden, tut emu8086 so etwas wie diese Alternative hat, so kann ich Befehle verwenden IMUL/MUL?
1 movzx bx,centerBot ;not allowed in emu8086
2
3 mov bh,00 ;alternative of line 1
4 mov bl,centerBot ;to move centerBot to bx
;in emu8086
ist es so etwas wie dies mit den IMUL
/MUL
in emu8086 so kann ich diese Anweisungen?
Ihr Code enthält keine MUL oder IMUL und Sie fragen nach einer völlig anderen Anweisung. Was versuchst du eigentlich? –
Mögliches Duplikat von [Problem beim Verständnis von mul & imul-Anweisungen der Assemblersprache] (http://stackoverflow.com/questions/1948058/problem-in-understanding-mul-imul-instructions-of-assembly-language) –
Sie don brauche keine Alternative zu "imul" oder "mul"; Die Ein-Operanden-Form war Teil von 8086, später nicht hinzugefügt. (Siehe [das x86-Tag-Wiki] (http://stackoverflow.com/tags/x86/info) für einen Link, der anzeigt, wann jedes Formular jeder Anweisung hinzugefügt wurde). Um mit kleinen Assemble-Zeitkonstanten zu multiplizieren, lohnt es sich oft, eine Verschiebung zu verwenden und zu addieren oder zu subtrahieren anstatt zu multiplizieren ... Oder zumindest wäre es, wenn "shl r, imm8" verfügbar wäre. Natürlich haben moderne Intel-CPUs eine sehr schnelle Multiplikation (3-Zyklus-Latenzzeit für "imul r64, r64, imm32".) –