Estoy tratando de interpretar por este programa en Assembler, el cual multiplica el numero 4 por el 5 … me arroja en el registro AX de 0010 …. No entiendo por que … acaso no debiera quedar alojado en AX el 24 …..??????
C:\>debug
-a
1554:0100 mov ax,4
1554:0103 mov bx,5
1554:0106 mul ax,bx
1554:0108 int 20
1554:010A
-t
AX=0004 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0103 NV UP EI PL NZ NA PO NC
1554:0103 BB0500 MOV BX,0005
-t
AX=0004 BX=0005 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0106 NV UP EI PL NZ NA PO NC
1554:0106 F7E0 MUL AX
-t
AX=0010 BX=0005 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0108 NV UP EI PL NZ NA PO NC
1554:0108 CD20 INT 20
Ahora si invierto el almacenamiento de los numero el resultado almacenado en AX es 0019 …. Tampoco entiendo
C:\>debug
-a
1554:0100 mov ax, 5
1554:0103 mov bx, 4
1554:0106 mul ax,bx
1554:0108 int 20
1554:010A
-t
AX=0005 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0103 NV UP EI PL NZ NA PO NC
1554:0103 BB0400 MOV BX,0004
-t
AX=0005 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0106 NV UP EI PL NZ NA PO NC
1554:0106 F7E0 MUL AX
-t
AX=0019 BX=0004 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1554 ES=1554 SS=1554 CS=1554 IP=0108 NV UP EI PL NZ NA PO NC
1554:0108 CD20 INT 20
Tambien agradecería me pudieran dar ejemplos con respecto a la Division que tampoco entiendo la forma en que procesa los números.
Gracias