Sum and Read Input Numbers:
source code
This assembly program takes two single-digit numeric inputs from the user, calculates their sum, and then displays the result. It utilizes various system calls for input and output operations. Here's a breakdown of the program's functionality:
The program uses symbolic constants (
SYS_EXIT
,SYS_READ
,SYS_WRITE
,STDIN
, andSTDOUT
) to represent system call numbers and standard input/output file descriptors.In the
.data
section, two messagesmsg1
andmsg2
are defined to prompt the user for input, andmsg3
is defined to display the sum. The lengths of these messages are calculated using thelen1
,len2
, andlen3
equates.The
.bss
section reserves memory fornum1
(2 bytes),num2
(2 bytes), andres
(1 byte), which will store the user inputs and the result.In the
.text
section, the_start
label marks the program's entry point.The program uses the
SYS_WRITE
system call to displaymsg1
, asking the user to enter a digit.The
SYS_READ
system call is used to read a digit from the user and store it in thenum1
variable.Similarly, the program prompts the user for the second digit using
msg2
and reads it into thenum2
variable.The program uses
msg3
to display the message "The sum is: ".The ASCII values of the digits in
num1
andnum2
are converted to decimal by subtracting the ASCII value of '0'. These decimal values are added together.The sum is then converted back to ASCII by adding the ASCII value of '0' before storing it in the
res
variable.Finally, the program uses the
SYS_WRITE
system call to print the sum stored inres
on the screen.The program exits using the
SYS_EXIT
system call.
Example:
Suppose the user enters the first digit as '4' and the second digit as '9'. The program will display the following output:
This example illustrates how the assembly program interacts with the user, performs calculations, and displays the sum of the entered digits. It provides a basic introduction to using assembly language for input, processing, and output tasks.
Last updated