Вопрос № 160931: Доброго времени суток. Вопрос по книге Калашникова, а точнее по поводу следующего исходника: CSEG segment org 100h _beg: mov ax,0B800h mov es,ax mov di,0 mov ah,31 mov al,1 mov es:[di],ax mov ah...
Вопрос № 161001: А как можно в TMS320xxx работать с большими числами, можно ли это делать в ассемблере, так как можно сделать в С++ (LINT)? Точнее как вычесляется 2^512, 2^1024? ...Вопрос
№ 161034: Здравствуйте. Я - начинающий, поэтому, вероятно, вопрос покажется наивным. Но. Подскажите пожалуйста код с комментариями: как получить текущую (активную) раскладку клавиатуры? Заранее благодарен....
Вопрос № 160.931
Доброго времени суток. Вопрос по книге Калашникова, а точнее по поводу следующего исходника:
CSEG segment org 100h
_beg: mov ax,0B800h mov es,ax mov di,0
mov ah,31 mov al,1 mov es:[di],ax
mov ah,10h int 16h
int 20h
CSEG ends end _beg
Который должен вывести на мой экран весёлую рожицу.
Дабы отбросить сомнения по поводу правильности набора, я по итогу содрал код из прилагаемого диска с исходниками. Однако весёлой рожицы
в углу экрана так и не узрел.
В чём может быть проблема? Лично сам склоняюсь к мысли, что данный код работает только под ДОСом (У меня Виндос ХР). Однако предидущие программки у меня работали. Опять же с оговоркой на то, что "Hello, world" проскакивало очень быстро. Однако из положения я вышел дописав код остановки программы до нажатия клавиши. Т.е. без этой доработки код в принципе работает. Но реакция что бы его углядеть нужна как у мангуста.
З.
Ы. очень прошу помочь, потому как речь идёт не только о отсутствии на экране одной довольной рожици. Но и присутствии перед экраном одной недовольной-)
Отправлен: 19.02.2009, 21:26
Вопрос задал: Stazher (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Stazher!
Проблема в том, что у Вас ХР, а не Win9x. ХР не устанавливает нужный текстовый режим, у которого сегментный адрес равен 0B800h. Поставте такие строки в начале программы: _beg:mov ax,3 int 10h И наслаждайтесь работой программы. Удачи!
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 19.02.2009, 21:33
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244068 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо. Помогло.
З.Ы. Танк по смс пришлю только завтра. Баланс на мель сел.
Вопрос № 161.001
А как можно в TMS320xxx работать с большими числами, можно ли это делать в ассемблере, так как можно сделать в С++ (LINT)? Точнее как вычесляется 2^512, 2^1024?
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Muzaffar Akromov! Если вопрос только в том, "как вычисляется 2^512, 2^1024", то число, равное 2 в любой степени, строится очень просто (для случая младший байт первым): 1) обнуляем буфер 2) делим показатель степени на 8 (сдвигом на 3 вправо) - полученное число определяет адрес байта 3) делаем логическое "и" показателя и числа 7 - столько раз сдвигаем единицу влево 4) найденную маску OR-им с байтом по найденному ранее адресу
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 20.02.2009, 16:19
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244135 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 161.034
Здравствуйте. Я - начинающий, поэтому, вероятно, вопрос покажется наивным. Но. Подскажите пожалуйста код с комментариями: как получить текущую (активную) раскладку клавиатуры? Заранее благодарен.
Отправлен: 20.02.2009, 21:20
Вопрос задал: Rodbarid (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Rodbarid! Так понимаю, речь идет о программе под Windows. Заглядываем в MSDN и находим ответ: Чтобы получить активную раскладку клавиатуры, спрашиваем
Код:
invoke GetKeyboardLayout, dwLayout
где dwLayout - идентификатор потока, для которого спрашиваем
раскладку клавиатуры Для текущего достаточно указать 0
Функция возвращает в младшем слове EAX (в AX) - идентификатор языка и в старшем слове - handle устойства клавиатура Нам нужно только AX. В приложении приведены некоторые из идентификаторов
Приложение:
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 21.02.2009, 00:17
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 244157 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.