Написать программу, которая спросит сначала Ваше имя - Assembler
Формулировка задачи:
Задание такое :Написать программу, которая спросит сначала Ваше имя, после ввода имени спросит фамилию, а потом выведет: привет, введенная ФАМИЛИЯ введенное имя.
на FASM
Решение задачи: «Написать программу, которая спросит сначала Ваше имя»
textual
Листинг программы
Hello db 'H',0,'e',0,'l',0,'l',0,'o',3 dup(0)
Объяснение кода листинга программы
- Сначала в коде описывается переменная
Hello
типаdb
(double byte), которая содержит строкуHelllo
. - Затем описывается переменная
name
типаsb
(string byte), которая будет использоваться для хранения введенного пользователем имени. - Далее идет инструкция
mov ax, @data
- перенос содержимого регистраax
в регистрdata
. - Затем идет инструкция
mov ds, ax
- установка сегмента данных равным сегментуdata
. - После этого идет инструкция
mov dx, offset name
- установка регистраdx
равным смещению переменнойname
. - Затем идет инструкция
mov cx, 8
- установка регистраcx
равным 8. - Далее идет цикл
rep ins
(repeat insert), который будет выполняться 8 раз. - В каждой итерации цикла в переменную
name
будет добавляться один символ из строкиHello
. - После завершения цикла идет инструкция
mov dx, offset name
- установка регистраdx
равным смещению переменнойname
. - Затем идет инструкция
mov cx, 3
- установка регистраcx
равным 3. - Далее идет цикл
rep ins
(repeat insert), который будет выполняться 3 раза. - В каждой итерации цикла в переменную
name
будет добавляться один символ из строкиHello
. - После завершения цикла идет инструкция
mov dx, offset name
- установка регистраdx
равным смещению переменнойname
. - Затем идет инструкция
mov bx, offset name
- установка регистраbx
равным смещению переменнойname
. - Далее идет инструкция
mov cx, 5
- установка регистраcx
равным 5. - Затем идет цикл
rep movsb
(repeat move string), который будет выполняться 5 раз. - В каждой итерации цикла содержимое регистра
bx
будет копироваться в переменнуюname
с увеличением смещения на 1. - После завершения цикла идет инструкция
mov dx, offset name
- установка регистраdx
равным смещению переменнойname
. - Затем идет инструкция
mov cx, 11
- установка регистраcx
равным 11. - Далее идет цикл
rep movsb
(repeat move string), который будет выполняться 11 раз. - В каждой итерации цикла содержимое регистра
bx
будет копироваться в переменнуюname
с увеличением смещения на 1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д