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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education