Вопрос № 153979: Здравствуйте эксперты. Я читатель книги "Assembler это просто. Учимся програмировать". У меня такой вопрос. В этой книке я столкнулся с проблемой вывода символа на экран прямым отображением в видеобуфер. Программа выполняется, но с...
Вопрос № 154007: Добрый вечер, необходима помощь в программе... Задание: разработать алгоритм и написать резидентную программу, выводящую на экран текущую дату. Принажатии комбинации
клавиш ctrl/S - выводить на экран;ctrl/E - удалять с экрана;ctrl/x - выгружать из...
Вопрос № 153.979
Здравствуйте эксперты. Я читатель книги "Assembler это просто. Учимся програмировать". У меня такой вопрос. В этой книке я столкнулся с проблемой вывода символа на экран прямым отображением в видеобуфер. Программа выполняется, но символа нет. Для гарантии я с ассемблировал исходный код самого автора программы из файлов приложении и получается тоже самое. Все пусто. Хотя я сам уже дальше но сейчас мне это нужно стало. Незнаю что делать. Win XP SP2.
Отправлен: 11.12.2008, 19:06
Вопрос задал: Алексей2 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Systemnick
Здравствуйте, Алексей2! Скорее всего у вас не переключается видеорежим и видеостраница: mov ax, 3 ;видео режим 3 + очистка экрана int 10h mov ax, 500h ;видеостраница 0 int 10h Хорошо было бы приложить Ваш код. Попробуйте скомпилировать как в приложении.
Приложение:
Ответ отправил: Systemnick (статус: 1-й класс)
Ответ отправлен: 11.12.2008, 19:34
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 238327 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо
Вопрос № 154.007
Добрый вечер, необходима помощь в программе... Задание: разработать алгоритм и написать резидентную программу, выводящую на экран текущую дату. Принажатии комбинации клавиш ctrl/S - выводить на экран;ctrl/E - удалять с экрана;ctrl/x - выгружать из оперативной памяти... моя программа ниже и она работает у меня на пк, но в компьютерном классе при выведении даты на экран она повисает, и при выгрузке, преподаватель сказал что дело в 21ом прерывании, и сказал чтобы переделал программу на bios прерывание..(я
так понял необходимо использовать прерывание 1Ah и функцию 04h) Пожалуйста, помоги переделать программу.. проверьте ее на ошибки, если ее можно сделать покороче обьясните пожалуйста..или напишите комменты для программы.
Приложение:
Отправлен: 11.12.2008, 21:58
Вопрос задал: Nobodyl (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Nobodyl! Я вижу только одну принципиальную ошибку, она влияет только на выгрузку. Это:
Код:
push CS pop ES ; Функция 49h требует, чтобы начало осбождаемого блока памяти MCB было по адресу ES:0 (а не DS) mov AH,49h ; Освобождаем память int 21h;... sti
MOV CX,EXIT_LEN
;длинна сообщения MOV SI,OFFSET EXIT
Дальше должно работать и так. Можно,конечно, поменять вывод в OUT_CHAR
Код:
or ax,30h ;выводим mov ah, 0eh int 10h ; int 29
h loop isOut ;выводим разделяющий пробел mov al,20h mov ah, 0eh int 10h ; int 29h popa ret
У меня работает и с int 29h И последнее, хочу порекомендовать после выгрузки резидента и вывода сообщения "запихнуть" в буфер клавиатуры код клавиши Enter, чтобы командный интерпретатор перешел на новую строчку..
Код:
BEG_OUT_5: LODSB MOV AH,0EH MOV BX,7 INT 10H LOOP BEG_OUT_5
mov ah, 05 mov cx, 1c0dh ; скан- и ASCII-код клавиши Enter int 16h JMP IRET_09H
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Специалист)
Ответ отправлен: 12.12.2008, 16:19
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 238422 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо...
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.