forked from miguelmota/x86-assembly-examples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget_name_age.asm
executable file
·111 lines (81 loc) · 2.01 KB
/
get_name_age.asm
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
; Description: User inputs name and age
TITLE MASM Template (main.asm)
INCLUDE Irvine32.inc
.data
lastName BYTE 80 DUP(0)
firstName BYTE 80 DUP(0)
middleInitial BYTE 80 DUP(0)
age BYTE 80 DUP(0)
enterLastName BYTE "Enter your last name: ",0
enterFirstName BYTE "Enter your first name: ",0
enterMiddleInitial BYTE "Enter your middle initial: ",0
enterAge BYTE "Enter your age: ",0
isStr BYTE " is ",0
yearsOldStr BYTE " years old.",0dh,0ah,0
period BYTE ".",0
space BYTE " ",0
newline BYTE 0dh,0
.code
main PROC
call Clrscr
mov edx, OFFSET enterLastName
call WriteString
mov edx, OFFSET lastName
mov ecx, SIZEOF lastName -1
call ReadString
mov edx, OFFSET newline
call WriteString
mov edx, OFFSET enterFirstName
call WriteString
mov edx, OFFSET firstName
mov ecx, SIZEOF firstName -1
call ReadString
mov edx, OFFSET newline
call WriteString
mov edx, OFFSET enterMiddleInitial
call WriteString
mov edx, OFFSET middleInitial
mov ecx, SIZEOF middleInitial -1
call ReadString
mov edx, OFFSET newline
call WriteString
mov edx, OFFSET enterAge
call WriteString
mov edx, OFFSET age
mov ecx, SIZEOF age -1
call ReadString
mov edx, OFFSET newline
call WriteString
mov edx, OFFSET firstName
call WriteString
mov edx, OFFSET space
call WriteString
mov edx, OFFSET middleInitial
call WriteString
mov edx, OFFSET period
call WriteString
mov edx, OFFSET space
call WriteString
mov edx, OFFSET lastName
call WriteString
mov edx, OFFSET isStr
call WriteString
mov edx, OFFSET age
call WriteString
mov edx, OFFSET yearsOldStr
call WriteString
exit
main ENDP
END main
; =======================================
; OUTPUT
; =======================================
COMMENT !
Enter your last name: Lee
Enter your first name: Tom
Enter your middle initial: P
Enter your age: 21
Tom P. Lee is 21 years old.
Press any key to continue . . .
!
; =======================================