Logo Hardware.com.br
felipess01
felipess01 Novo Membro Registrado
9 Mensagens 2 Curtidas

Comparação em assembly.

#1 Por felipess01 27/04/2024 - 16:01
tenho o seguinte codigo:

section .data
valor_id db "digite 2 valores", 0xA, 0xD
size_id equ $ - valor_id
maior db "valor é maior", 0xA, 0xD
size_maior equ $ - maior
menor db "valor é menor", 0xA, 0xD
size_menor equ $ - menor
section .bss
positivo resb 1
negativo resb 1
section .text
global _start
_start:
mov eax, 0x4
mov ebx, 0x1
mov ecx, valor_id
mov edx, size_id
int 0x80
; recebe primeiro valor
mov eax, 0x3
mov ebx, 0x1
mov ecx, positivo
mov edx, 0xD
int 0x80
; recebe segundo valor
mov eax, 0x3
mov ebx, 0x1
mov ecx, negativo
mov edx, 0xD
int 0x80

mov eax, DWORD [positivo]
        mov ebx, DWORD [negativo]
cmp eax, ebx
        jg inteiro
        mov ecx, maior
mov edx, size_maior
        jmp castrado
inteiro:
mov ecx, maior
mov edx, size_maior
castrado:
    mov ecx, menor
mov edx, size_menor
mov eax, 0x1
mov ebx, 0x0
int 0x80

mas quando executo ele, ele pega os valores e finaliza, e não faz a comparação.

Atualização: 27/04/2024 16:02


felipess01 disse:
tenho o seguinte codigo:

section .data
valor_id db "digite 2 valores", 0xA, 0xD
size_id equ $ - valor_id
maior db "valor é maior", 0xA, 0xD
size_maior equ $ - maior
menor db "valor é menor", 0xA, 0xD
size_menor equ $ - menor
section .bss
positivo resb 1
negativo resb 1
section .text
global _start
_start:
mov eax, 0x4
mov ebx, 0x1
mov ecx, valor_id
mov edx, size_id
int 0x80
; recebe primeiro valor
mov eax, 0x3
mov ebx, 0x1
mov ecx, positivo
mov edx, 0xD
int 0x80
; recebe segundo valor
mov eax, 0x3
mov ebx, 0x1
mov ecx, negativo
mov edx, 0xD
int 0x80

mov eax, DWORD [positivo]
        mov ebx, DWORD [negativo]
cmp eax, ebx
        jg inteiro
        mov ecx, maior
mov edx, size_maior
        jmp castrado
inteiro:
mov ecx, maior
mov edx, size_maior
castrado:
    mov ecx, menor
mov edx, size_menor
mov eax, 0x1
mov ebx, 0x0
int 0x80

mas quando executo ele, ele pega os valores e finaliza, e não faz a comparação.

‎perdoe-me qualquer erro, sou iniciante com assembly
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal