Red de conocimiento informático - Conocimiento sistemático - Escribir un programa para multiplicar dos números binarios de 64 bits en lenguaje ensamblador

Escribir un programa para multiplicar dos números binarios de 64 bits en lenguaje ensamblador

Aquí hay otra manera. Como referencia:

CODE?SEGMENT ASSUMECS:CODE ORG100H START:?JMPBEGIN

X?DQ111111 DQ0;?Increase?Esto es para dejar espacio para el desplazamiento a la izquierda

Y?DQ111111

Z?DW8?DUP(0) BEGIN:?PUSH?CS POPDS PUSH?CS POPES MOVCX,64 @0: SHRWORD?PTR?Y+6,1 RCRWORD?PTR? Y+4,1 RCRWORD?PTR?Y+2,1 RCRWORD?PTR?Y,1 JNC@1 MOVAX,WORD?PTR?X ADDWORD?PTR?Z,AXE MOVAX, WORD?PTR?X+2 ADCWORD?PTR ?Z+2,AXE MOVAX,WORD?PTR?X+4 ADCWORD?PTR?Z+4,AXE MOVAX,WORD?PTR?X+6 ADCWORD?PTR?Z+6,AXE MOVAX,WORD?PTR?X+ ​​8 ADCWORD?PTR?Z+8,AXE MOVAX,WORD?PTR?X+10 ADCWORD?PTR?Z+10,AXE MOVAX,WORD?PTR?X+12 ADCWORD?PTR?Z+12, AXE MOVAX,WORD? ?X+14 ADCWORD?PTR?Z+14,AX @1: SHLWORD?PTR?X,1 RCLWORD?PTR?X+2,1 RCLWORD?PTR? 1 RCLWORD?PTR?X+8,1 RCLWORD?PTR? X+10,1 RCLWORD?PTR?X+12,1 RCLWORD?PTR?X+14,1 DECCX CMPCX,0 JE@2 JMP@0 @2: MOVAX,Z MOVDX,Z+2 CALL?