TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Calculadora feita em assembly

Por:   •  1/4/2015  •  Trabalho acadêmico  •  421 Palavras (2 Páginas)  •  525 Visualizações

Página 1 de 2

.CR 8085

.TF ASMDP.hex,INT

.LF ASMDP.lst

LETECLA .EQ 02E7H ; Sinonimos utilizados abaixo

MOSTRAD .EQ 0363H ;

MOSTRAA .EQ 036EH ;

LEDS .EQ 22H

DELAY .EQ 05F1H

COMMAND .EQ 20H

.OR 2000H

LXI SP,22C0H ; Inicializa pilha

LOOP: MVI A,02H ; Porta B como saida

OUT COMMAND

MVI A,00H

OUT LEDS ; Acende o LED correspondente a A

CALL LETECLA ; LE OPRAÇÃO A SER FEITA

MVI B,00H

CMP B

JNZ CONTADD

CALL CLEAR

CONTADD: MVI B,01H

CMP B

JNZ CONTSUB

CALL AD1 ;se a operacão digitada for 1 = adição

CONTSUB: MVI B,02H

CMP B ;se a operacão digitada for 2 = subtração

JNZ CONTMUL

CALL SUB2

CONTMUL: MVI B,03H

CMP B ;se a operacão digitada for 3 = MULTIPLICAÇÃO

JNZ CONTDIV

CALL MTPL

CONTDIV: MVI B,04H

CMP B ;se a operacão digitada for 4 = DIVISÃO

JNZ CONTPOT

CALL DIV

CONTPOT: MVI B,05H

CMP B ;se a operacão digitada for 5 = PONTENCIA

JNZ CONT

CALL POTEN

CONT: JMP LOOP

CLEAR: MVI A,0H

MOV D,A

MVI E,0H

PUSH D

CALL MOSTRAD ; Apresenta primeiro numero

POP D

MVI A,0H

MOV E,A

PUSH PSW

CALL MOSTRAD ; Apresenta os dois numeros

POP PSW

CALL MOSTRAA

JMP LOOP

AD1: CALL LETECLA ; Le primeiro numero

MOV D,A

MVI E,0H

PUSH D

CALL MOSTRAD ; Apresenta primeiro numero

POP D

CALL LETECLA ; Le segundo numero

MOV E,A

ADD D ; Resultado em A

DAA

CALL MOSTRAT

SUB2: CALL LETECLA ; Le primeiro numero

MOV E,A

MOV D,A

MVI E,0H

PUSH D

CALL MOSTRAD ; Apresenta primeiro numero

POP D

CALL LETECLA ; Le segundo numero

MOV E,A

MOV A,D

CMP E

JNC CONTPOS

MOV A,E ; INVERTE OS TERMOS DA SUBTRAÇÃO

MOV C,D

SUB C

PUSH PSW

CALL MOSTRAD ; Apresenta os dois numeros

POP PSW

CALL MOSTRAA ; Apresenta resultado

MVI A,02H

OUT COMMAND ;ESTE LED INDICA QUE O REESULTADO DA SUBTRAÇÃO É NEGATIGO CASO ACESSO

MVI A,01H

OUT LEDS ; Acende o LED correspondente a A

PUSH PSW

MVI D,20H ; Atraso

CALL DELAY ; Espera para ver LED aceso

POP PSW

JMP LOOP

CONTPOS: SUB E ; subtrai o segundo numero digitado pelo primeiro

CALL MOSTRAT

MTPL: CALL LETECLA ; Le primeiro numero

MOV D,A

MVI E,0H

PUSH

...

Baixar como (para membros premium)  txt (3.4 Kb)   pdf (48.7 Kb)   docx (14 Kb)  
Continuar por mais 1 página »
Disponível apenas no TrabalhosGratuitos.com