По этой книге я изучаю язык ассемблера / * nasm: http://www.pravaraengg.org.in/Download/MA/assembly_tutorial.pdf
В этой книге одним из примеров является выполнение следующих задач:
- вывод на экран
Please enter a number:
- попросить пользователя ввести на экране число
- , которое гласит:
You have entered:1234
Ниже приведен сценарий:
section .data ;Data segment
userMsg db 'Please enter a number: ' ;Ask the user to enter a number
lenUserMsg equ $-userMsg ;The length of the message
dispMsg db 'You have entered: '
lenDispMsg equ $-dispMsg
section .bss ;Uninitialized data
num resb 5
section .text ;Code Segment
global main
main:
;User prompt
mov eax, 4
mov ebx, 1
mov ecx, userMsg
mov edx, lenUserMsg
int 80h
;Read and store the user input
mov eax, 3
mov ebx, 2
mov ecx, num
mov edx, 5 ;5 bytes (numeric, 1 for sign) of that information
int 80h
;Output the message 'The entered number is: '
mov eax, 4
mov ebx, 1
mov ecx, dispMsg
mov edx, lenDispMsg
int 80h
;Output the number entered
mov eax, 4
mov ebx, 1
mov ecx, num
mov edx, 5
int 80h
; Exit code
mov eax, 1
mov ebx, 0
int 80h
Я компилирую скрипт по адресу: https://rextester.com/l/nasm_online_compiler или https://www.jdoodle.com/compile-assembler-nasm-online
, но мне никогда ничего не удается ввести, он просто выводит: Please enter a number: You have entered: