Site icon Tutor Bin

University of Guadalajara Assembly Language 32x Programming Code

University of Guadalajara Assembly Language 32x Programming Code

Description

Assembly language

Modify this code into a program that receives two numbers and prints the minimum. The program then doubles the minimum and compares it to another number. It will then print the new minimum.

Ex:

Input1 = 2

Input2=3

Minimum=2

Newinput1=4

Newinput2=3

Newminimum=3

MY CODE:

%include “asm_io.inc”
segment .data

message1 db “Enter a number: “,0
message2 db “Enter another number: “, 0
message3 db “The larger number is: “, 0

segment .bss

input1 resd 1 ; first number entered

segment .text
global asm_main
asm_main:
enter 0,0 ; setup routine
pusha

mov eax, message1 ; print out first message
call print_string
call read_int ; input first number
mov [input1], eax

mov eax, message2 ; print out second message
call print_string
call read_int ; input second number (in eax)

xor ebx, ebx ; ebx = 0
cmp eax, [input1] ; compare second and first number
setg bl ; ebx = (input2 > input1) ? 1 : 0
neg ebx ; ebx = (input2 > input1) ? 0xFFFFFFFF : 0
mov ecx, ebx ; ecx = (input2 > input1) ? 0xFFFFFFFF : 0
and ecx, eax ; ecx = (input2 > input1) ? input2 : 0
not ebx ; ebx = (input2 > input1) ? 0 : 0xFFFFFFFF
and ebx, [input1] ; ebx = (input2 > input1) ? 0 : input1
or ecx, ebx ; ecx = (input2 > input1) ? input2 : input1

mov eax, message3 ; print out result
call print_string
mov eax, ecx
call print_int
call print_nl

popa
mov eax, 0 ; return back to C
leave
ret

Have a similar assignment? "Place an order for your assignment and have exceptional work written by our team of experts, guaranteeing you A results."

Exit mobile version