-
Notifications
You must be signed in to change notification settings - Fork 0
/
computer-system-architecture.txt
76 lines (66 loc) · 1.35 KB
/
computer-system-architecture.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
section .data
num1 db 0 ; variable to store first number
num2 db 0 ; variable to store second number
sum db 0 ; variable to store sum
section .bss
input resb 2 ; buffer to store user input
section .text
global _start
_start:
; prompt user for input
mov eax, 4
mov ebx, 1
mov ecx, prompt1
mov edx, prompt1_len
int 0x80
; read first number
mov eax, 3
mov ebx, 0
mov ecx, input
mov edx, 2
int 0x80
mov bl, [input]
sub bl, 0x30
mov [num1], bl
; prompt user for input
mov eax, 4
mov ebx, 1
mov ecx, prompt2
mov edx, prompt2_len
int 0x80
; read second number
mov eax, 3
mov ebx, 0
mov ecx, input
mov edx, 2
int 0x80
mov bl, [input]
sub bl, 0x30
mov [num2], bl
; add numbers
mov al, [num1]
add al, [num2]
mov [sum], al
; display result
mov eax, 4
mov ebx, 1
mov ecx, result
mov edx, result_len
int 0x80
mov eax, 4
mov ebx, 1
mov ecx, [sum]
add ecx, 0x30
mov edx, 1
int 0x80
; exit program
mov eax, 1
xor ebx, ebx
int 0x80
section .data
prompt1 db "Enter first number: "
prompt1_len equ $-prompt1
prompt2 db "Enter second number: "
prompt2_len equ $-prompt2
result db "Sum: "
result_len equ $-result