TITLE ADD TWO 8-BYTE NUMBER USING 32-BIT REGISTERS IN THE 386 PAGE 60,132 .MODEL SMALL .386 .STACK 200H .DATA DATA1 DQ 548FB9963CE7H ORG 0010H DATA2 DQ 3FCD4FA23B8DH ORG 0020H DATA3 DQ ? .CODE BEGIN: MOV AX,@DATA MOV DS,AX CLC ;clear carry before first addition MOV SI,OFFSET DATA1 ;SI is pointer for operand1 MOV DI,OFFSET DATA2 ;DI is pointer for operand2 MOV BX,OFFSET DATA3 ;BX is pointer for the sum MOV CX,02 ;CX is the loop counter BACK: MOV EAX,DWORD PTR [SI] ;move the operand to EAX ADC EAX,DWORD PTR [DI] ;add the operand to EAX MOV DWORD PTR [BX],EAX ;store the sum INC SI ;point to next dword of operand1 INC SI INC SI INC SI INC DI ;point to next dword of operand2 INC DI INC DI INC DI INC BX INC BX ;point to next dword of sum INC BX INC BX LOOP BACK ;if not finished, continue adding MOV AH,4CH INT 21H ;go back to DOS END BEGIN