Je voudrais multiplier bx et cx, mais il ne marche pas fonctionne comme j'utiliser la hachemultiplier bx et cx [ASM 8086]
mov ax,0AFh
mov cx,0AFh
mul cx
mon essai à multiplier bx et cx
mov bx,Ah
mov cx,5h
mul cx
"???????"
Pour en multipliant bx et cx je pense que je dois utiliser un registre temp. Quelqu'un peut-il me montrer comment faire cela?
Dans 'mov bx, Ah', la source est le registre AH, pas une constante immédiate. Peut-être que vous vouliez dire "0Ah"? Aussi, lisez simplement le manuel de http://www.felixcloutier.com/x86/MUL.html, ou toute autre instruction qui ne répond pas à vos attentes. Voir aussi les liens dans le [wiki du tag x86] (http://stackoverflow.com/tags/x86/info) –
@Shift_Left: La question dit 8086, mais 'imul r16, r/m16' n'a été introduit qu'avec 386. Le le résultat n'est pas vraiment signé ou non signé: seule la moitié supérieure du résultat complet diffère. Deux opérandes IMUL définissent des drapeaux basés sur des éléments signés, mais sinon, il n'y a pas besoin de MUL si vous n'avez pas besoin de la moitié supérieure du résultat. IMUL est certainement le bon choix si vous ne devez pas réellement cibler le matériel ancien (ou emu8086). –
@PeterCordes J'ai supprimé mon commentaire car il était complètement hors contexte. Je n'aurais jamais pensé que j'allais tirer ** The 8086 Book ** de mon étagère que j'ai acheté il y a 39 ans. –