Vous êtes sur la page 1sur 2

PAGE 60,132

TITLE MULTIPLICACION CON DESPLAZAMIENTO


;..................................................................
STACKSG SEGMENT PARA STACK 'Stack'
DW 32 DUP(0)
STACKSG ENDS
;..................................................................
DATASG SEGMENT PARA 'Data'
FLDA DB 0
FLDB DB 0
FLDC DW 0
FLDD DB "Ingrese el primer numero: "
FLDE DB "Ingrese el segundo numero: "
FLDF DB "La multiplicacion es: "
AUX1 DW 0
AUX2 DW 0
DATASG ENDS
;..................................................................
CODESG SEGMENT PARA 'Code'
BEGIN PROC FAR
ASSUME SS:STACKSG,DS:DATASG,CS:CODESG
MOV AX,DATASG
MOV DS,AX

MOV AH,40H
MOV BX,00
MOV CX,26
LEA DX,FLDD
INT 21H

MOV AH,3FH
MOV BX,00
MOV CX,04
LEA DX,FLDA
INT 21H

MOV AH,40H
MOV BX,00
MOV CX,27
LEA DX,FLDE
INT 21H

MOV AH,3FH
MOV BX,00
MOV CX,10
LEA DX,FLDB
INT 21H

MOV AH,40H
MOV BX,00
MOV CX,22
LEA DX,FLDF
INT 21H
;--------------------ETAPA DE MULTIPLICACIÓN------------------------------------
MOV AX,0
MOV BX,0
MOV CX,8
MOV DX,0
LEA DI,FLDA
LEA SI,FLDB
MOV BX,[SI]
MOV AX,[DI]
A1:
SHR AX,01
JC A2
SHL BX,01
JMP A3

A2:
ADD DX,BX
SHL BX,01
A3:
LOOP A1
MOV AX,DX
MOV FLDC,AX
;--------------------ETAPA DE MULTIPLICACIÓN------------------------------------
MOV AH,40H
MOV BX,01
MOV CX,01
LEA DX,FLDC
INT 21H
MOV AX,4C00H
INT 21H
BEGIN ENDP
CODESG ENDS
END BEGIN

Vous aimerez peut-être aussi