Question : Write an assembly program that prompts the user for a character, and then for an integer. The program then prints out “The character entered was: followed by the character, and “The integer entered was: ” followed by the integer.
%include 'asm_io.inc'
segment .data
msg1 db "Enter a character : ",0
msg2 db "Enter a integer : ",0
msg3 db "Entered character was : ",0
msg4 db "Entered integer was : ",0
segment .bss
integer resd 1
character resb 1
segment .text
global _asm_main
_asm_main:
enter 0,0
pusha
;---------------------------- start ponit -----------------------
mov eax,msg1 ; move msg1 to eax register
call print_string ; print to screen msg1
call read_char ; read a character from user
mov [character],al; move the al value to character variable
mov eax,msg2 ; move msg2 to eax register
call print_string; print to screen msg2
call read_int ; read a number from user
mov [integer],al; mov al value to integer variable
mov eax,msg3; move msg3 to eax register
call print_string ; print to screen msg3
mov eax,[character]; move characker to eax register
call print_char; print to screen charecter
call print_nl; move to point new line
mov eax,msg4; move msg4 to eax register
call print_string; print to screen msg4
mov eax,[integer]; move integer to eax register
call print_int; print to screen number
;---------------------------- start end ------------------------------
popa
mov eax, 0
leave
ret