![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Временно — юрист.
Форумчанин
Регистрация: 31.03.2008
Сообщений: 204
|
![]()
Снова здравствуйте. У меня опять не работает программа из книги Питера Абеля. В этот раз компилировал как положено)).
Она должна запрашивать ввод имени с клавиатуры, после чнего выводить его на экран и подавать звуковой сигнал. Код:
1. Если FAR развернут на весь экран, то все становится черным. Строки приглашения 'Name? ' нет. Я начинаю вводить символы, при этом ничего не происходит. Когда нажимаю Ввод, то подается звуковой сигнал (ну так и должно быть), но символы так и не выводятся на экран. 2. Если FAR не развернут на весь экран, то окошко становится черным и на нем есть курсор (приглашения так же нет). Если вводить символы, то курсор двигаетя, а то, чего я ввожу не видно. После нажатия Ввода звуковой сигнал НЕ подается. И так до тех пор, пока не введу последнюю строку (так и должно быть). Запускал под отладчиком, но я даже не знаю на что обратить внимание. Заметил вот что: LEA DX,PROMPT в процедуре B10INPUT заменяется на LEA DX,[0000] (где, как я догадываюсь, [0000] - смещение в сегмент данных. По этому адресу находится мой PROMPT). Это нормально, что смещение равно нулю? Я же его в самом конце инициализировал. И когда сразу после этого вызываю прерывание 21н, то отладчик пишет что то красными буквами, но так быстро, что я даже не успеваю прочитать. Хух, вроде написал все что знаю, подскажите пожалуйста, как это все заставить работать? Последний раз редактировалось bullvinkle; 27.02.2009 в 17:41. Причина: не работает табуляция..... |
![]() |
![]() |
![]() |
#2 |
somewhere else
Участник клуба
Регистрация: 17.07.2008
Сообщений: 1,409
|
![]()
Почему оба сегмента ES и DS адресуют одну и туже память? Может
mov ax,0B800h mov es,ax ? Или я что то не понимаю?
"Тяжело в учении, легко в бою" - А.В. Суворов
|
![]() |
![]() |
![]() |
#3 |
Временно — юрист.
Форумчанин
Регистрация: 31.03.2008
Сообщений: 204
|
![]()
Ivan_32, исправил как ты сказал, но программа работает так же.
Может есть еще какие то причины? |
![]() |
![]() |
![]() |
#4 |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
![]()
У меня есть серьёзные подозрения, что вы чёрными буквами по чёрному фону рисуете. Попробуйте так:
Код:
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru Последний раз редактировалось Ulex; 27.02.2009 в 20:24. |
![]() |
![]() |
![]() |
#5 |
Временно — юрист.
Форумчанин
Регистрация: 31.03.2008
Сообщений: 204
|
![]()
Вот так работает! Спасибо.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Неправильно работает программа из книги Абеля. | bullvinkle | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 23.02.2009 10:56 |
Программа в Delphi не хочет работать. (Одномерный массив). | Kawun | Помощь студентам | 9 | 14.11.2008 16:26 |
Как работать с TCanvas - на PaintBox1 программа должна рисовать полигон | Михаил Юрьевич | Общие вопросы Delphi | 16 | 04.01.2008 15:31 |
как правильно работать с массивом TStrings | Air | Общие вопросы Delphi | 6 | 19.12.2007 17:55 |
Посмотрите пожалуйста правильно ли написана программа,если нет укажите ошибку. | Викулька | Помощь студентам | 1 | 10.12.2007 22:49 |