Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU
(Тестовый режим)

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 42
от 21.01.2005, 15:10

Администратор:Калашников О.А. (adm@rusfaq.ru)
В номере:Вопросов: 1, Ответов: 6


Вопрос № 16012
Начал навирать программы с задачника. Первые 3 окомпилировал и запуслил на компе нармально.
А вот начиная с четвертой появились проблеммы. При компиляции ошибок машина не выдает, а вот при запуске программы на экране ничего не происходит.
Привожу текст программы.
Вопрос: В чем проблемма?

Приложение:

Отправлен: 16.01.2005, 08:28
Вопрос задал: Кокухин, Алексей, Евгеньевич (статус: Читатель)
Всего ответов отправлено: 6

Отвечает: Dark_Lord
Здравствуйте, Кокухин, Алексей, Евгеньевич!
Если у вас стоит WinXP, то проблема в том, что приложение расчитано на видеорежимы, где видеопамять начинается по адресу 0B800h, а в WinXp по умолчанию стоит другой режим. Поэтому для нормальной работы программы нужно в начале установить нужный видеорежим,
mov ax,03h
int 10h
полную программу смотри в приложении.

Приложение:

Ответ отправил: Dark_Lord (статус: Профессионал)
Отправлен: 16.01.2005, 11:29

Отвечает: Евгений Иванов
Здравствуйте, Кокухин, Алексей, Евгеньевич!
Боже...
Это известная проблема.
Почитайте наконец-то rusfaq faq от Калайджана!
Или просто подумайте, что нужно сначала устанавливать видеорежим, а потом работать в нём. А так ведь неизвестно, какой видеорежим у вас и какая активная страница.
Удачи!
Ответ отправил: Евгений Иванов (статус: Профессор)
Отправлен: 16.01.2005, 12:32

Отвечает: Undertaker
Здравствуйте, Кокухин, Алексей, Евгеньевич!
Поэксперементируйте со значениями регистров AL/AH в строках 8-9.
Где AL - символ, AH - атрибут
Ответ отправил: Undertaker (статус: 2-ой класс)
Отправлен: 16.01.2005, 18:00

Отвечает: Tigran K. Kalaidjian
Здравствуйте, Кокухин, Алексей, Евгеньевич!
В третью строчку впишите
assume cs:cseg
Использовал параметры:
tasm /t/m
tlink /t/x
Ответ отправил: Tigran K. Kalaidjian (статус: Профессионал)
Отправлен: 16.01.2005, 19:35

Отвечает: Ayl
Здравствуйте, Кокухин, Алексей, Евгеньевич!
ОС Windows XP? Поставь в начале программы следующий код:
mov ax, 3
int 10h
В XP при запуске DOS по умолчанию устанавливается 1-я текстовая страница. А в программе вывод производится в нулевую.
Ответ отправил: Ayl (статус: Профессор)
Отправлен: 17.01.2005, 14:23

Отвечает: YAA
Привет, Кокухин, Алексей, Евгеньевич.
Не будь ламом, пиши так:
mov AX, 3101h ; сначала AH, затем AL.
...
mov CX, 2000
rep stosw ; пишет слово из AX в ES:[DI], инкрементирует AX by 2. Цикл, пока CX != 0.
Кстати: в видео памяти по чётным адресам (0, 2, 4, 6...) символ, а по нечётным (1, 3, 5, 7...) аттрибут (i.e. mov AX, 0131h).
Ответ отправил: YAA (статус: 2-ой класс)
Отправлен: 18.01.2005, 16:00


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, Россия, Москва. Идея, дизайн, программирование: Калашников О.А.


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.faq
Отписаться

В избранное