Can someone please help me write a NASM assembly language program "caesar.asm" that does caesar cipher involves shifting letters in the given string by a given number in the alphabet? Thank you very much for your help. (I have included an example nasm code in the attachment) The program should: Ask for user input between -30 and 30  Ask the user for a string and display the unedited string that the user entered (string from the user should be more than 8) Lastly, display the caesar cipher edited string.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Can someone please help me write a NASM assembly language program "caesar.asm" that does caesar cipher involves shifting letters in the given string by a given number in the alphabet? Thank you very much for your help. (I have included an example nasm code in the attachment)

The program should:

Ask for user input between -30 and 30 

Ask the user for a string and display the unedited string that the user entered (string from the user should be more than 8)

Lastly, display the caesar cipher edited string.

;initializing variables with print statements
shift_value:
db "Enter shift value:
len_sv
equ $-shift_value
invalid_shift_msg:
len_is
section .data
original_msg:
len_om
invalid_msg:
len_in
current_msg:
len_cm
encrypted_msg:
len_en
main:
input
shift_buf
nsg_buf
db "Error: Please enter a shift value between 0-25", 0
equ $-invalid_shift_msg
;setting the format
print_fat:
input_fmt:
float_fmt:
db "Enter original message:
equ $-original_msg
db "Error: Please enter a message between 30-120 characters", 8
equ $-invalid_msg
db "Current message: ", e
equ $-current_msg
section .bss
user_input:
db "Encryption: ", 18
equ $-encrypted_msg
mov
mov
mov
mov
syscall
db "%s", 0
db "%d",
db "%f" 8
section .text
global main
resb 4
resb 1000
resb 1000
push rbp
mov r8, 8
call user_input
rax, 1
rdi, 1
rsi, shift_value
rdx, len_sv
;reserving bytes for input & buffers
;Used for keeping track of shifts
getting user inputs
;shift value prompt
Transcribed Image Text:;initializing variables with print statements shift_value: db "Enter shift value: len_sv equ $-shift_value invalid_shift_msg: len_is section .data original_msg: len_om invalid_msg: len_in current_msg: len_cm encrypted_msg: len_en main: input shift_buf nsg_buf db "Error: Please enter a shift value between 0-25", 0 equ $-invalid_shift_msg ;setting the format print_fat: input_fmt: float_fmt: db "Enter original message: equ $-original_msg db "Error: Please enter a message between 30-120 characters", 8 equ $-invalid_msg db "Current message: ", e equ $-current_msg section .bss user_input: db "Encryption: ", 18 equ $-encrypted_msg mov mov mov mov syscall db "%s", 0 db "%d", db "%f" 8 section .text global main resb 4 resb 1000 resb 1000 push rbp mov r8, 8 call user_input rax, 1 rdi, 1 rsi, shift_value rdx, len_sv ;reserving bytes for input & buffers ;Used for keeping track of shifts getting user inputs ;shift value prompt
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY