Задача на АССЕМБЛЕРЕ

компьютеры программирование Наука assembler ассемблер

;echo.asm;
.model small;
.data;
.code;
mov ax, @data;
mov ds, ax;
a:
mov ah, 1;
int 21h;

cmp al, 33bh; ;или 21

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 37; ;буква K
mov dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 31; ; буква S
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 24; ;Буква O
mv dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 18; буква E
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 19; ;Буква R
mv dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 19; буква R
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 49; ;Буква N
mv dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 34; буква G
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 18; ;Буква E
mv dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 18; буква E
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 18; ;Буква E
mv dl, 10;
int 21h;

mov ah, 57; ;пробел
mov dl, 10;
ine 21h;

mov ah, 21; буква Y
mov dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;

mov ah, 47; ;Буква V
mv dl, 10;
int 21h;

mov ah, 2; ; Пустая строка
mov dl, 10;
int 21h;
;
jne a;

int 21h;
mov ah, 4ch;
end

Это мой код, он криворукий сразу говорю... Работает н правильно, подскажите что сделать, чтобы при нажатии клавиши PgUp у меня выходила моя имя и фамилия в столбик с условиями: 1 столбик - фамилия, 2 столбик - полностью пустой, 3 столбик - Имя, и после всего в конце присутствовал Один Enter, типа пустая строка.

Примечание:
мне нужно что бы по нажатию клавиши происходил показ моей записи снова! Пожалуйста с кодом( Первая программа ваще ничего не понимаю((((

Примечание:
Вся проблема именно в коде(((
Ответы:
С ассемблером я последний раз работал ну очень давно, но думаю, что нужно в таком направлении действовать:
В двух местах храните целиком фамилию и имя.
Выбираете самую длинную строку из них.
Проходите по этой строке и выводите поочерёдно букву из фамилии (или пробел, если кончились), пробел, букву из имени (или пробел, если кончились), перевод строки.
Выводите перевод строки.
Должно получиться компактно и универсально. Код я уже точно не смогу написать, слишком много лет прошло :)


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.