Gepackte in ungepackte BCD-Zahl wandeln
-
Hallo
Ich will ein code schreiben, der gepackte in ungepackte BCD- zahl wandeln muss. Die Ausführung meines codes hier meldet immer ein Fehler " count routine bei der zeile shl al,4. Ich frage mich ob Ich die Verschiebung anders formulieren sollte... Könnte mir jemand helfen bitte??? Danke...
start:
mov cx,3
mov di,0
mov si,0L1: mov al,unpac[si]
shl al,4
mov cl,16
shl al,cl
inc si
add al,unpac[si]
mov pac[di],al
inc si
inc di
loop L1
-
Um das zu benutzen
shl al,4
must du wohl erst die 386 Befehle freigeben.
-
dydy schrieb:
Hallo
Ich will ein code schreiben, der gepackte in ungepackte BCD- zahl wandeln muss. Die Ausführung meines codes hier meldet immer ein Fehler " count routine bei der zeile shl al,4. Ich frage mich ob Ich die Verschiebung anders formulieren sollte... Könnte mir jemand helfen bitte??? Danke...
start:
mov cx,3
mov di,0
mov si,0L1: mov al,unpac[si]
shl al,4
mov cl,16
shl al,cl
inc si
add al,unpac[si]
mov pac[di],al
inc si
inc di
loop L1Hm, mal abgesehen von praktischen Fehlern im Code sieht das eher entfernt so aus, als sollten damit ungepackte BCD-Zahlen gepackt werden, statt andersherum.
Wie hast du dir das eigentlich mit den shifts gedacht? Ergibt IMHO alles nicht so viel Sinn... Vor allem die Zeile mit dem "shl al, cl", wenn man bedenkt, dass al nur 8Bit hat, aber auch sonst... 0_o?
-
Ist bestimmt ein Prototyp.