In the main.asm file, you are to create a few arithmetic calculations using the following instructions: mov add sub Then after each expression is calculated, you will print the result using: mov rdi, XXX call print_num call print_lf The value of XXX will depend on which register your final result landed. Do this at least 3 times using only the registers (rax, rbx, rcx and rdx). For example, if you wanted to print the result of 32 + 5 - 10, you could do something like: rax, 32 add rax, 5 mov sub rax, 10 mov rdi, rax call print_num call print lf Remember that in order for the print_num subroutine to print your number, you must move the result into rdi.

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter7: Arrays
Section: Chapter Questions
Problem 7PP: (Numerical) Using the srand() and rand() C++ library functions, fill an array of 1000 floating-point...
icon
Related questions
Question

main.asm

%include "lib.asm"

section .text
global _start

_start:

;
; YOUR CODE HERE!
;

; SAMPLE
mov rdi, 65536 ; going to print 65536
call print_num ; print the number
call print_lf ; move to next line

exit:
mov rax, 60 ; exit
mov rdi, 0 ; return code
syscall

In the main.asm file, you are to create a few arithmetic calculations using the following
instructions:
mov
add
sub
Then after each expression is calculated, you will print the result using:
mov
rdi, XXX
call print_num
call print_lf
The value of XXX will depend on which register your final result landed.
Do this at least 3 times using only the registers ( rax, rbx, rcx and rdx).
For example, if you wanted to print the result of 32 + 5 - 10, you could do something like:
mov
rax, 32
add
rax, 5
sub
rax, 10
mov rdi, rax
call print_num
call print_lf
Remember that in order for the print_num subroutine to print your number, you must move the
result into rdi.
Transcribed Image Text:In the main.asm file, you are to create a few arithmetic calculations using the following instructions: mov add sub Then after each expression is calculated, you will print the result using: mov rdi, XXX call print_num call print_lf The value of XXX will depend on which register your final result landed. Do this at least 3 times using only the registers ( rax, rbx, rcx and rdx). For example, if you wanted to print the result of 32 + 5 - 10, you could do something like: mov rax, 32 add rax, 5 sub rax, 10 mov rdi, rax call print_num call print_lf Remember that in order for the print_num subroutine to print your number, you must move the result into rdi.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Linux
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr