Wie mache ich eine Addition von zwei Zahlen von 32 Bits in Assembly mit ADC?Wie mache ich eine Addition von zwei Zahlen von 32 Bits in Assembly mit ADC?
-1
A
Antwort
1
einen 8-Bit-Prozessor mit ld, st, adc Unter der Annahme, und fügen und Indexregister X & Y, die auf den Werten hinzugefügt werden, ersetzt Ergebnis * X:
ld 3,X
add 3,Y ; The first add is without carry
st 3,X
ld 2,X
adc 2,Y ; subsequent adds propagate carry.
st 2,X
ld 1,X
adc 1,Y
st 1,X
ld 0,X
adc 0,Y
st 0,X
0
ADC
steht für „Add mit Carry“, in der Tat ist es, wie zwei Werte addieren und fügen wieder den Wert des Übertrags-flag:
adc eax,ebx
ist wie:
add eax, ebx
add eax, cf
oder:
add eax, ebx
jnc dont_add
inc eax
dont_add:
...
Welche Bitness ist der Prozessor? – sharptooth
Ich muss zwei Zahlen in Assembly mit debug hinzufügen, das Programm muss 32 Bits akzeptieren. – ebed
Bitte geben Sie ein Beispiel für diese Operation. – ebed