|
|
|||||||||||
Вывод первого символа строки14.09.2018, 09:40. Показов 4147. Ответов 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] Поиск и замена первого вхождения символа в строку
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|