Calculadora ensambler

Solo disponible en BuenasTareas
  • Páginas : 3 (519 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de septiembre de 2010
Leer documento completo
Vista previa del texto
CALCULADORA

PILA SEGMENT STACK "STACK"

DW 100 DUP (?)
TCP LABEL WORD
PILA ENDS

DATOS SEGMENT "DATOS"

CANTIDAD1 DB (?)
CANTIDAD2 DB (?)
CANTIDAD3 DB (?)
CANTIDAD4DB (?)
CANTIDAD5 DB (?)
BANDERA EQU 00H

DATOS ENDS

CODIGO SEGMENT PUBLIC "CODIGO"

ASSUME CS: CODIGO
ASSUME DS: DATOS
ASSUME SS: PILA

CONVERSION1 PROC NEAR

MOV Ax,CANTIDAD1MUL 10H
ADD Ax,CANTIDAD2
MOV Cx,Ax
RET
ENDP

CONVERSION2 PROC NEAR

MOV Ax,CANTIDAD4
MUL 10H
ADD Ax,CANTIDAD5
MOV Dx,Ax
RET
ENDP

SUMA PROC NEAR

ADD Cx,Dx
OUTLCD,Cx
RET
ENDP

RESTA PROC NEAR

SUB Cx,Dx
OUT LCD,Cx
RET
ENDP

MULTIPLICACION PROC NEAR

CMP Cx,0
JE CERO

CMP Dx,0
JE CERO

CMP Cx,1
JE DESPDX

CMP Dx,1
JEDESPCX

MOV Ax,Cx
MUL Dx
OUT LCD,Ax

CERO:

OUT LCD,0H

DESPDX:

OUT LCD,Dx

DESPCx:

OUT LCD,Cx
RET
ENDP

DIVISION PROC NEAR

CMP Cx,0
JE ERROR

CMP Dx,0JE ERROR

CMP Cx,1
JE DESDX

CMP Dx,1
JE DESCX

MOV Ax,Cx
MUL Dx
OUT LCD,Ax

ERROR:

OUT LCD,ERROR

DESDX:

OUT LCD,Dx

DESCX:

OUT LCD,Cx
RET
ENDPn! PROC NEAR

MOV Ax,Cx
CMP Ax,0
JE FIN1

CMP Ax,1
JE FIN1

MOV Cx,Ax

CICLO:

CMP Cx,1
JE FIN
DEC Cx
MUL Cx
JMP CICLO

FIN1:

MOV Ax,1H

FIN:

OUTLCD,Ax
RET
ENDP

BANDERA0 PROC NEAR

MOV CANTIDAD1,Ax
OUT LCD,CANTIDAD1
INC BANDERA
RET
ENDP

BANDERA1 PROC NEAR

CMP Ax,SUMA
JE NUM1

CMP AX,RESTA
JE NUM1

CMPAx,MULTIPLICACION
JE NUM1

CMP Ax,DIVISION
JE NUM1

CMP Ax,n!
JE RESU

MOV CANTIDAD2,Ax
CALL CONVERSION1
OUT LCD,Cx
INC BANDERA

NUM1:

MOV CANTIDAD3,Ax
OUTLCD,CANTIDAD3
INC BANDERA
INC BANDERA
MOV Cx,CANTIDAD1

RESU:

MOV CANTIDAD3,Ax
CALL n!

RET
ENDP

BANDERA2 PROC NEAR

CMP Ax, SUMA
JE OPER

CMP Ax,RESTA
JE...
tracking img