|
|
|||||||||||
Вывод первого символа строки14.09.2018, 09:40. Показов 4105. Ответов 6
Метки нет (Все метки)
Эта инструкция
Почему эта программа
(для z в dl загружается 7A, т.е. в dx у меня 007A )
0
|
|||||||||||
| 14.09.2018, 09:40 | |
|
Ответы с готовыми решениями:
6
Вывод кодов ascii каждого символа строки
Вывод 1-го символа вместо строки в видеорежиме |
|
Модератор
|
|
| 14.09.2018, 10:57 | |
mov dl,ds:[0000] помещает в DL значение по адресу ds:[0000]. А функция ввода требует адрес буфера в DX.Если уж хочется разместить буфер с ячейки 0000, то mov dx, 0
1
|
|
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
||
| 14.09.2018, 12:16 | ||
![]() Читайте мануалы. При запуске программы регистр DS указывает на префикс программы, Вы регистр никак не перенастраиваете. Префикс программы, это системная область, которая доступна программе, только для чтения. и я не думаю, что ОСь даст Вам туда, что-то записать. При запуске без дебагера, запись в эту область просто игнорируется и Вы выводите символ с кодом CDh = "=', если выведите следующий символ, то там будет пробел, а вместе это CDh 20h = int 20h первые два байта префикса. Если подумать, то в эту область можно таки записать, но это уже другая тема. Под дебагером, область префикса программы воспринимается просто как некий адресуемый участок памяти, поэтому все и получается, но если попытаетесь записать в память занятую отладчиком, получите аналогичный результат(см. выше)
1
|
||
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|||||||||||||||||
| 14.09.2018, 14:09 | |||||||||||||||||
Сообщение было отмечено dserp18 как решение
Решение
Я Вам уже говорил
![]() На миниатюре видно, что: CS=26E0,DS=26D0, ES=26D0, SS=26E0. При загрузке программы префикс программы(PSP) находится сразу перед сегментом кода или сегментом данных. У Вас нет сегмента данных, поэтому получается так: Физический адрес в памяти вычисляется как xS*16+OFFSET. CS = 26E0*1616+000016 = 26E0016 DS = 26D0*1616+000016 = 26D0016 разница и даст размер PSP, т.е. 10016=25610 Но Вы должны понимать, что есть разные модели организации программы:
Будут доступны упрощенные формы определения сегментов .code, .data, .stack и другие, которые компилятором понимаются как полная форма записи по умолчанию. Чтобы все это понимать Вам нужно и , т.е. учится, учится и учится( слова не мои )Как программа хранится на диске, как выделяет память системный загрузчик под программу, что куда загружает, как передает управление программе и ещё куча всячины. Это все Вы должны сами вычитывать из книжек. Чтобы всё это написать - это страниц 200-ти без "воды" минимум. А мне клавиатуру жалко. ps:все цитаты взяты из книги Зубков С. Assembler для DOS, Windows и UNIX
2
|
|||||||||||||||||
|
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
|
|||
| 15.09.2018, 00:17 | |||
|
Проблема ТС-а не в этом. А в том, что перед этим
1
|
|||
|
|
|
| 15.09.2018, 08:54 [ТС] | |
|
Определил BX, CX, Dl - заработало
0
|
|
| 15.09.2018, 08:54 | |
|
Помогаю со студенческими работами здесь
7
Ввод и вывод в программе символа конца строки (доллара), tasm Поиск первого вхождения символа в строку Ввод символа, очистка экрана, вывод символа в центре экрана [masm32] Поиск и замена первого вхождения символа в строку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|