Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Código Fonte - Calculadora em Assembly.

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Código Fonte - Calculadora em Assembly.

    Olá pessoal quero compartilhar com vocês o código fonte de uma calculadora em Assembly.



    Código:
    Calculadora
    
    	       PAGE    ,132
    	       TITLE   CALC
    CGROUP	       GROUP   CODESEG
    CODESEG        SEGMENT PARA PUBLIC 'CODE'
    	       ASSUME  CS:CGROUP,DS:CGROUP,ES:CGROUP
    	       PUBLIC  CALC
    
    	       ORG     100H
    
    CALC	       PROC    FAR
    	       JMP     START
    
    ;---------------------------------------------------------------------;
    ;								      ;
    ;			ÁREA DE DADOS			      ;
    ;								      ;
    ;---------------------------------------------------------------------;
    
    	       DB      'INTERRUPT NUMBER ='
    INT_NUMBER     DB      61h
    
    SCREEN_HANDLE  DW      0001h
    
    MESSAGE        DB      'PEMATH is not resident',13,10
    MESSAGE_LEN    EQU     $-MESSAGE
    
    TAG	       DB      'PEMATH'
    TAG_LEN        EQU     $-TAG
    
    ;---------------------------------------------------------------------;
    ;								      ;
    ;		    ÁREA DE CÓDIGO			      ;
    ;								      ;
    ;---------------------------------------------------------------------;
    
    START:
    ;---------------------------------------------------------------------;
    ;    TESTE DE PRESENÇA DA CALCULADORA	      ;
    ;---------------------------------------------------------------------;
    	       SUB     AX,AX
    	       MOV     ES,AX
    	       SUB     BH,BH
    	       MOV     BL,INT_NUMBER
    	       SHL     BX,1
    	       SHL     BX,1
    	       MOV     DI,ES:[BX]
    	       MOV     ES,ES:[BX+2]
    	       ADD     DI,4
    	       LEA     SI,TAG
    	       MOV     CX,TAG_LEN
    	 REPE  CMPSB
    	       JE      CALL_CALC
    	       MOV     BX,SCREEN_HANDLE
    	       MOV     CX,MESSAGE_LEN
    	       LEA     DX,MESSAGE
    	       MOV     AH,40h
    	       INT     21h
    	       JMP     SHORT CALC_EXIT
    ;---------------------------------------------------------------------;
    ;              CHAMA CALCULADORA			      ;
    ;---------------------------------------------------------------------;
    CALL_CALC:
    	       MOV     AL,INT_NUMBER
    	       MOV     BYTE PTR INT_CODE,AL
    	       DB      0CDh	  ; INT
    INT_CODE:
    	       DB      00h
    	       NOP
    	       NOP
    
    CALC_EXIT:
    	       INT     20h
    
    CALC	       ENDP
    
    CODESEG        ENDS
    	       END     CALC
    Espero que gostem ....



    WCG 147
    Last edited by WCG147; 30-06-2011, 23:40.
    sigpic

  • Font Size
    #2
    Boa WCG147 sempre trazendo novas source pra o GH.
    Continue assim vc é demais cara.

    Comment

    X
    Working...
    X