Arquitectura de computadores

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (511 palavras )
  • Download(s) : 0
  • Publicado : 30 de janeiro de 2013
Ler documento completo
Amostra do texto
;-----------------------------------------------------------------------------
section .data

str_pede db "Introduza numero em hexadecimal: "
TAM_PEDE equ $ - str_pedestr_resultado db "Resultado: "
TAM_RESULTADO equ $ - str_resultado

str_op db "Introduza o operador (+,-,*,/): "
TAM_OP equ $ - str_op

str_eol db0xA, 0xA
TAM_EOL equ $ - str_eol

num1 dd 0
num2 dd 0
resultado dd 0

tam_buffer dd 0
MAX_BUFFER equ 80+2;-----------------------------------------------------------------------------
section .bss

buffer resb MAX_BUFFER;-----------------------------------------------------------------------------
section .text

global _start
_start:

mov eax, ds
mov es, eax

; BLOCO 1
; Pede os numeros e o operador; pede, le^ e converte num1
call pede_num
mov [num1], eax

; pede, le^ e converte num2
call pede_nummov [num2], eax

; pede operador
mov edx, TAM_OP
mov ecx, str_op
mov ebx, 1
mov eax, 4int 0x80

; le^ operador
mov edx, MAX_BUFFER
mov ecx, buffer
mov ebx, 0
mov eax, 3int 0x80

; BLOCO 2
; Executa a operacao

mov eax, [num1]
mov ebx, [num2]
mov dl, [buffer] ; le^ o 1.o caracterdo "operador"

cmp dl, '+'
je soma
cmp dl, '-'
je subtrai
cmp dl, '*'
je...
tracking img