Dział montażu [duplikat]

To pytanie ma już tutaj odpowiedź:

Dlaczego EDX ma być 0 przed użyciem instrukcji DIV? [duplikować] 2 odpowiedzi

W moim programie liczba szesnastkowa jest dzielona przez dziesięć, a reszta jest sprawdzana.

Pierwsza dywizja działa dobrze; jednak po drugim podziale program nie działa. Jestem nowy w montażu i nie mogłem znaleźć miejsca, w którym jest problem ...

Oto segment kodu:

ORG 1000

    MOV AX, 0x04B4 (1204 decimal value )
    MOV BX, 0x000A ( 10 decimal value )
    MOV CX, 0x0000

    DIV BX ( After this part, AX is 120 decimal and DX 4 decimal )

    CMP DX, 0x0000
    JE eq1

    ADD CX, 0x0002
    JMP con1

    eq1:    ADD CX, 0x0001  

    con1:

    DIV BX ( But, after this division AX becomes 6677 ( 26231 decimal and DX remains 4 decimal )
    CMP DX, 0x0000

Dzięki za pomoc!

questionAnswers(2)

yourAnswerToTheQuestion