Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 141 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-11-26
Вопрос №1566
И снова всем привет!
-----------------------------------------------------------
Обьясните такую фишку: "Выражения в асм. вычисляются не во время выполнения программы, а во время еЈ трансляции". Автор утверждает, что это одно из наиболее важных отличий в выражениях на асм. и выражениями на языках высокого уровня.
-----------------------------------------------------------
K EQU 30
X DB (3*K-1)/2 DUP(?); в памяти будет 44 байта
Я некогда не имел дела с дробными числами, но в данном случае программа просто его округлит (обрежет дробную часть)?
-----------------------------------------------------------
X DW 1, 2, 3, 4, 5
Y DB ?;Здесь может хранится что угодно, почему
SIZE_X EQU Y-X; SIZE_X=10?
Обьясните данное утверждение, до меня не как недойдет почему SIZE_X=10 и вообше как происходит сложение (вычетание) в данном случае (че с чем)?
-----------------------------------------------------------
Ну вРоДе ВсЕ=) .
Ответ
Здравствуйте, Alex!
Это не фишка! Это судьба :)
1) Просто все такие фиговины и не могут быть вычислены по другому - это ж целая куча команд да еще и в хитрой последовательности. Хочешь вычислять что то в программе - используй средства языка.
2) А что он должен был сделать - обматерить тебя или создать строку из 44 с половиной символов?!
3) из адреса первого байта Y вычитается адрес первого байта X - имеем 10 байт (5 слов).
Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 245
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1571
Добрый день!
У меня есть программа АвтоНормы, она требует ключ, дает какойто код, который надо отослать разработчку! А вот и вопрос, как обойти этот код? Там цифр этак 15 (5 по 3).
Форма как на Дельфи написана!
Ответ
Здравствуйте, AllAddIn!
Можешь конечно и поломать попробовать или поищи крек в инете. Можешь послать кому не лень ломать (мое мыло zajchik@beep.ru).
Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 246
Экспертная группа: Пользовательская работа с Windows
Вопрос №1585
Во-о-оо-от!!! Сразу "хлам". И пошел на... в смысле на мыло.
А между прочим у вас там в базе мои вопросики по асму и Winde. Так на "хлам" куча ответов пришла и по мылу и так, а на реальные вопросы токмо Ayl с Covaxом ответили...
Ладно, хрен с ним, с WizarXом этим, вот вам реальный вопрос:
Был глюк. Переставил Винду. После этого выплыла такая фигня - при удаленном соединении набираю имя, пароль, жму "продолжить". После этого выскакивает в окошке уд.соед. - "Проверка имени и пароля" и висит ПЯТЬ с половиной минут (я в это время общаюсь, чай пью и т.п.). После этого происходит нормальное соединение, ну и все...
Раньше (до переустановки Винды) все было нормально. Отчего это??
С уважением, Вал.Ик.
Ответ
Здравствуйте, Вал.Ик.!
У меня такая фигня была, когда ещё по модему цеплялся, на 98-м. Так вот решить её не удалось, но мне сказали, что пока это окно висит, соединение уже есть! И время идёт. Я попробовал - точно! Так что можешь чай не пить, а сразу входить с инет. (У меня, по крайней мере, так было)
Отправил эксперт: kbpS
Эксперт отправил ответов (всего): 13
Экспертная группа: Пользовательская работа с Windows
Вопрос №1576
Здравствуте эксперты.
У меня WindowsXP,хочу удалить IExplorer6
Он есть в Установка\Удаление программ,только не хочит удаляться,как можно его полностью снести?
Ответ
Здравствуйте, Max!
Не стоит удалять эту штуку. Дело в том, что IE сделан как ActiveX и используется в проводнике (обзор или как его ещё), рабочий стол (он же - explorer) и другие окна винды. Так что если его удалять через реестр, то значит угробить функциональность винды (интерфейса), а сама винда его никогда не удалит. Если смотреть на него не хочешь, то сотри все его ярлыки, поставь другой браузер и зарегистрируй на него интернетовские расширения, типа *.html
Отправил эксперт: kbpS
Эксперт отправил ответов (всего): 14
Экспертная группа: Пользовательская работа с Windows
Вопрос №1583
Уважаемые эксперты! Кто бы помог с нормальным переводом из шестнатиричной системы в десятичную, то есть у меня есть два байта информации надо с ними произвести математические действия и вывести результат на экран.
Заранее благодарен.
Dim'ka
Ответ
Здравствуйте, dim'ka!
Как раз сейчас кропел над этим вопросом. Во всех Зубковых и Абелях сильно замутно. Вообщем делается все так ;) :
.model tiny
.code
.386
org 100h
@@start:
mov eax,0FFFFFFFFh
mov ebx,0Ah
xor edx,edx
mov si,offset Number+9
mov cx,10
@@1: div ebx
or dl,30h
mov byte ptr [si],dl
dec si
xor dx,dx
loop @@1
mov ah,9
mov dx,offset number
int 21h
retn
Number db 10 dup (30h),24h
end @@start
В EAX заносишь то hex число, что тебе нада вывести на экран в dec-виде и вперед!!! принцип такой: eax в цикле десять раз делишь на 10 (наше, десятичное десять). И запоминаешь куда-нить остаток от деления (который будет в dl храниться)
Да, и кстати:
СПАСИБА ОГРОМНОЕ ВСЕМ ЭКСПЕРТАМ, КОТОРЫЕ ПООТВЕЧАЛИ НА МОИ ВОПРОСЫ (Ayl, Lom, Covox............)
Еще, че тут за движения с WizardX-ом???? это какой-нить родственник (дальний) Michele... (кто помнит?) Того ради прикола даже в десятку лучших экспертов засунули зачем-то... Или это не прикол????? ;
Кто ответит на такой вопросец:
ПОЧЕМУ КОМАНДА DIV ДЕЛИТ НЕ AX (AL, EAX) на какое либо число, как написано во всех Зубковых, Юровых, рассылках и на заборах ФАВТ-а, а
собачит каким-то левым манером к ДЕЛИМОМУ (!) регистр DX???? Т.е. если не обнулять DX в вышеприведенном примере, результат глюкнется..
Мне вообще чето кажется, что полезнее всего было бы не издание справочников, описания команд и ответов на ф.а.к.и, а именно чего то типа "Всеобщие заблуждения в ассемблере", о которых не подозревают даже сами производители процев (или специально издеваются над нами???!!!)
Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 215
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1585
Во-о-оо-от!!! Сразу "хлам". И пошел на... в смысле на мыло.
А между прочим у вас там в базе мои вопросики по асму и Winde. Так на "хлам" куча ответов пришла и по мылу и так, а на реальные вопросы токмо Ayl с Covaxом ответили...
Ладно, хрен с ним, с WizarXом этим, вот вам реальный вопрос:
Был глюк. Переставил Винду. После этого выплыла такая фигня - при удаленном соединении набираю имя, пароль, жму "продолжить". После этого выскакивает в окошке уд.соед. - "Проверка имени и пароля" и висит ПЯТЬ с половиной минут (я в это время общаюсь, чай пью и т.п.). После этого происходит нормальное соединение, ну и все...
Раньше (до переустановки Винды) все было нормально. Отчего это??
С уважением, Вал.Ик.
Ответ
Здравствуйте, Вал.Ик.!
Позволю себе предположить :) - вариантов на самом деле много, но самое вероятное, что у тебя диалап провайдера на винде стоит, поентому рекомендую включить в настройках соединения криптование пароля и отключить все протоколы кроме TCP/IP
Отправил эксперт: lom (http://www.lom.spb.ru - )
Эксперт отправил ответов (всего): 3
Экспертная группа: Пользовательская работа с Windows
Вопрос №1584
Здравствуйте.
Хотелось бы узнать, что такое ASP, это что замена CGI ?
Ответ
Здравствуйте, Алексей!
В двух словах CGI это стандарт (не язык!!!) описывающий интерфейс для взаимодействия (передача данных) между HTTP серверами и другими программами. Эти программы традиционно называют сценариями хотя программа может быть не обязательно написана на скриптовом языке. Программа у тебя может быть скомпилированной (exe, com) так и обрабатываемая интерпретатором (PHP, ASP и т.д. .bat в конце концов :)
ASP - Active Server Page, используется язык Visual Basic Script и работает преимущественно под IIS. От себя - не рекомендую :) (памяти жрет много, тормозит сильно, и функционально беден все примочки за счет COM, а вулнерабилити для IIS ежемесячно по нескольку штук публикуются). Для простеньких WWW можно использовать PHP Или Perl а для серверов с большой нагрузкой и какой-нибудь обработкой данных - C++.
Отправил эксперт: lom (http://www.lom.spb.ru - )
Эксперт отправил ответов (всего): 4
Экспертная группа: Пользовательская работа с Windows
Вопрос №1585
Во-о-оо-от!!! Сразу "хлам". И пошел на... в смысле на мыло.
А между прочим у вас там в базе мои вопросики по асму и Winde. Так на "хлам" куча ответов пришла и по мылу и так, а на реальные вопросы токмо Ayl с Covaxом ответили...
Ладно, хрен с ним, с WizarXом этим, вот вам реальный вопрос:
Был глюк. Переставил Винду. После этого выплыла такая фигня - при удаленном соединении набираю имя, пароль, жму "продолжить". После этого выскакивает в окошке уд.соед. - "Проверка имени и пароля" и висит ПЯТЬ с половиной минут (я в это время общаюсь, чай пью и т.п.). После этого происходит нормальное соединение, ну и все...
Раньше (до переустановки Винды) все было нормально. Отчего это??
С уважением, Вал.Ик.
Ответ
Здравствуйте, Вал.Ик.!
Выбери Свойста Соединения там закладка Тип Сервера убери галочку Войти в Сеть и все будет ОК.
Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage)
Эксперт отправил ответов (всего): 25
Экспертная группа: Пользовательская работа с Windows
Вопрос №1593
Прозвучал такой вопрос:
А у меня такой вопорос: есть матричный принтер Epson FX-1180. С недавних пор у него появился некий глюк - при печати из-под Винды (в любом приложении) эта собака печатает часть страницы(например шапку документа), потом пол-страницы просто пропускает и с середины листа продолжает печать! Шо делать???
Прим.: пропускает не пол-страницы текста, а проматывает пол-листа заправленной бумаги...
ОТВЕТ:
В настройках (свойствах) принтера надо указать подачу бумаги не в ручную, а бумага с перфорацией.
Ответ
Здравствуйте, Andy Bitoff!
ну что же Здравствуйте!
Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage)
Эксперт отправил ответов (всего): 26
Экспертная группа: Пользовательская работа с Windows
Вопрос №1584
Здравствуйте.
Хотелось бы узнать, что такое ASP, это что замена CGI ?
Ответ
Здравствуйте, Алексей!
http://www.osp.ru/win2000/sql/2000/01/011.htm
http://www.relib.com/articles/articles.asp?cid=5
Отправил эксперт: UFO
Эксперт отправил ответов (всего): 49
Экспертная группа: Пользовательская работа с Windows
Вопрос №1579
Добрый день.
Вопрос Hutch, или всем кто может ответить.
Я вс+ же по технологии подключения ДЛЛлок.
Выходит - что в экзешнике, должна быть твблица на пример этой:
Имя_ДЛЛки,перечесление_экспортируемый_функций.
Дальше если рассуждать - ОСка берет экзешник читает эту таблицу и ищет ДЛЛки.
Загружает ДЛЛ и в Экзешник подставляет таблицу типа
JMP ("Дальний"_указатель_на_нужную_функцию)
Но тут встает два вопроса. На самом деле явно это не так. По скольку иногда (очень редко) у меня Экзешник говорил что нет ДЛЛки уже после того как я запустил и работал ( но тут может грабля находиться во всяких там ActiveXсах и т.д.)
?????????
Кроме того в экзешнике должны быть ссылки на заранее ведомо пустое место. Т.е. на место куда ОСка подставит таблицу переходов. Но как ОСка тогда может определить куда именно нужно подставить ссылку на нужную функцию ДЛЛки, не по алфавиту же, хотя это и выход ...
Ответ
Здравствуйте, Exilit!
Отправил эксперт: Hutch
Эксперт отправил ответов (всего): 6
Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32
Вопрос №1577
Вопрос к WizarX, как я понял вы хорошо знаете железо, ну так вот у меня вопрос я думаю достойный такого эксперта как вы!
Есть материнская плата MS-6330Lite частота FSB-100. По глупости туда был поставлен AMD Tbird-1000 с частотой 133. После чего был обратно поставлен Tbird-900 с частатой 100. Теперь комп включается только после того как после Power нажат Reset. Единственное, что попробовал перепрошить BIOS,
безрезультатно. Хотя бы объясните из-за чего это происходит, совсем хорошо если предложете как решить.
Если что в вопросе не понятно, пишите, уточню.
Ответ
Здравствуйте, ILYA!
Скинь CMOS джампером.
ЗЫ. После прошивки биоса на моей мамке MSI-BXMaster тоже такое появлялось.
Отправил эксперт: DivX
Эксперт отправил ответов (всего): 40
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1598
Есть ISAшный 3COMмодем, но нет слота на маме (Гигабайт на 815), могут ли существовать в природе переходники, если они
есть то необходжимо ли ПО.
Или это просто все чушь?
Ответ
Здравствуйте, oleg!
Таких переходников НЕТ, из-за чистейшей электрической несовместимости с другими шинами, есть неофициальная поддержка ISA слота в новых мамах , а переходника в природе не существует.
Отправил эксперт: DivX
Эксперт отправил ответов (всего): 43
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1599
Здраствуйте эксперты!
Скажите где можно достать FAQ по Си?
(если вас не затруднить неподскажете почему прототип функции random() обьявленной в файле stdlib.h неработает?)
Ответ
Здравствуйте, Alex!
FAQ под Си, что-то новенькое ;) В сущности такого быть не должно (уж больно много этих Q ;) Для Си есть только хорошая литература, а для с++ MSDN.
ЗЫ Уважаемые носители вопросов, я в последнее время стал замечать, что в категорию "Пользовательская работа с Windows" стали попадать вопросы подобного. Конечно я смогу ответить вам на вопрос типа:
Ада - это...
а) язык програмирования
б) придурки жившие в 19 веке
в) страшное место
... но все-таки думаю , что более объективный ответ вы получите у наших коллег из разделов программирования...
Отправил эксперт: DivX
Эксперт отправил ответов (всего): 44
Экспертная группа: Пользовательская работа с Windows
Вопрос №1587
Мужики! Кто там пишет HTML вопросы, что аж браузер на него ругается? Рассылку невозможно нормально почитать. Может быть в архивированном виде прилагать код, что ли?
Ответ
Здравствуйте, kbpS!
если ответил только один Я, то это по-моей вине,а писать предлагаю так (муторно конечно) - заместо символа "начало тега" писать к примеру - "[", а заместо символа конца тега - символ "]" Потом в любом редакторе командой "Replace" заменять эти символы на стандартные знаки тегирования(во как сказал :).
А за неудобства , сори ;)
Отправил эксперт: DivX
Эксперт отправил ответов (всего): 45
Экспертная группа: Пользовательская работа с Windows
Вопрос №1600
Доброго времени суток!
Народ кто может - ай нид хелп как говорил брат...но к делу.
Трабла такая... Мама VIA MVP3 с Socket7 AGP2x прекрасно стоит на ней S3 видюшник, когда вознамерился заменить на Riva TNT2 она в наглую не ставала.. тоесть совсем... мастдай еЈ видит, ПРАВИЛЬНО определяет, а дрова не кушаются...на такой точно матери друг ставил жефорж, то же самое... суть вопроса- станет ли на эту маму Voodoo_banshee_или_ATI RAGE ??? если возможно - ответьте выстрее, а_то больно уж карту сменить хочется!!!!
З.Ы. прошу прощения за стилистику, но Микроглюк Оутглюк пробел_то юз то не юз...
Ответ
Здравствуйте, White_Devil!
Поставь новые AGP-драйвера на маму. Они находятся в комплекте драйверов Via-Service Pack 4in1 (www.via.com.tw). Только устанавливай самые последние.
Отправил эксперт: DivX
Эксперт отправил ответов (всего): 48
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1601
Здравствуйте эксперты!
Эх, никто пока ничего путного не ответил.:(
2NonAMe к сожалению данная мамка MSI-6330L гонится только по средствам программ, в БИВИСЕ ничего нет.:(
2DivX если бы вы знали сколько раз я джамперочек переставлял, надеясь, что вот вот она начнет работать нормально!:)
Только одна надежда на то, что может действительно батарейка села, тестера под рукой нет, как будет проверю.
У кого-нибудь еще какие-нибудь предложения есть?
Ответ
Здравствуйте, ILYA!
А вопрос задать слабо еще раз???
Отправил эксперт: progmas (a-kireev,narod.ru - HOMEPAGE)
Эксперт отправил ответов (всего): 13
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1599
Здраствуйте эксперты!
Скажите где можно достать FAQ по Си?
(если вас не затруднить неподскажете почему прототип функции random() обьявленной в файле stdlib.h неработает?)
Ответ
Здравствуйте, Alex!
Используй Borland C++Builder. Будет работь все!
Отправил эксперт: progmas (a-kireev,narod.ru - HOMEPAGE)
Эксперт отправил ответов (всего): 14
Экспертная группа: Пользовательская работа с Windows
Вопрос №1598
Есть ISAшный 3COMмодем, но нет слота на маме (Гигабайт на 815), могут ли существовать в природе переходники, если они
есть то необходжимо ли ПО.
Или это просто все чушь?
Ответ
Здравствуйте, oleg!
Переходников не видел, но теоритически они могут существовать. Все-таки использовать из - чушь. Купи PCI модем.
Отправил эксперт: progmas (a-kireev,narod.ru - HOMEPAGE)
Эксперт отправил ответов (всего): 15
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1600
Доброго времени суток!
Народ кто может - ай нид хелп как говорил брат...но к делу.
Трабла такая... Мама VIA MVP3 с Socket7 AGP2x прекрасно стоит на ней S3 видюшник, когда вознамерился заменить на Riva TNT2 она в наглую не ставала.. тоесть совсем... мастдай еЈ видит, ПРАВИЛЬНО определяет, а дрова не кушаются...на такой точно матери друг ставил жефорж, то же самое... суть вопроса- станет ли на эту маму Voodoo_banshee_или_ATI RAGE ??? если возможно - ответьте выстрее, а_то больно уж карту сменить хочется!!!!
З.Ы. прошу прощения за стилистику, но Микроглюк Оутглюк пробел_то юз то не юз...
Ответ
Здравствуйте, White_Devil!
Такая проблема не редкость, необходимо установить драйвера от мамки, дело в том, что Рива и Виа вместе плохо уживаются. Тебе надо найти дрова (/VIA/AGP), и там запустить setup.exe. Если не получится пиши - подумаем еще.
Удачи. Dim'ka.
Отправил эксперт: dim'ka
Эксперт отправил ответов (всего): 1
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1598
Есть ISAшный 3COMмодем, но нет слота на маме (Гигабайт на 815), могут ли существовать в природе переходники, если они
есть то необходжимо ли ПО.
Или это просто все чушь?
Ответ
Здравствуйте, oleg!
Такого переходника нет и быть не может, можешь поменять свой модем на PCI, но я бы не советывал, лучше на внешний, PCI работают в эмуляции СОМ-порта и на наших линиях хоть и показывают скорость 42-56Кбод, но на самом деле скорость скачивания файлов лежит в пределе 500-700 б/сек.
Отправил эксперт: dim'ka
Эксперт отправил ответов (всего): 2
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1594
плиз форвадните
Здравствуйте!
У меня проблема, на моем винте загнулась (да не просто, а даже внутрь чуть-чуть вошла) одна нога в разъеме, куда втыкается широкий шлейф. Нога находиться выше и на одну ногу левее пустого места в середине снизу. Что это за нога, и что делать если она отломится?
Ответ
У меня такаяже тема. Либо это кривые челы питались шлейф воткнуть да неправильно(перед продажей тестировть пытались не вынимая из пакета) либо так и должно быть.
У меня винч вот уже 2 года работает в такой теме и проблем нет. Если этот штырь не болтается, и всё контачит нормально,
то лучше не трогать помоему.
Ответ
Здравствуйте, vicktech!
Если я правильно понял это 23 нога, на ней находится сигнал /IOW (Write Strobe), если винт работает нормально, то скорее всего контакт все-же есть, на всякий случай капни со стороны платы клеем или пластификатором.
Удачи. Dim'ka.
Отправил эксперт: dim'ka
Эксперт отправил ответов (всего): 3
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1599
Здраствуйте эксперты!
Скажите где можно достать FAQ по Си?
(если вас не затруднить неподскажете почему прототип функции random() обьявленной в файле stdlib.h неработает?)
Ответ
Здравствуйте, Alex!
Mojet vy imeli v vidu function rand()??? Ona vozvrashaet psevdosluchaynoe chislo ot 0 do RAND_MAX.
Отправил эксперт: See
Эксперт отправил ответов (всего): 5
Экспертная группа: Пользовательская работа с Windows
Вопрос №1605
Здравствуйте эксперты!
У меня к вам вопрос, как при вызове процедуры передать ей некоторые параметры.
Например, не писать каждый раз:
...
mov dx,offset [чего-то]
call write
...
write proc
mov ah,9
int 21h
ret
endp write
а сделать так, чтобы при вызове процедуры передавать в нее имя строки для вывода, а в процедуре уже находилось бы ее смещении и она выводилась на экран, т.е.
write proc
mov ah,9
mov dx,offset [чего передано в процедуру]
int 21h
ret
endp write
Ответ
Здравствуйте, ILYA!
............
см. п.2.
2. Если я неправильно понял, то тебе вообще нужен МАКРОС. Все будет выглядеть так:
write macro stroka
mov ah,9
mov dx,offset stroka
int 21h
endm
Ты спросишь, при чем здесь макрос??? А притом, что только именно в макрос можно передавать параметры типа "имя переменной", т.е. чтобы вывести строки на экран тебе достаточно вызвать макрос с именем строки:
write mes1
write mes2
и т.д.
Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 216
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1592
Доброе
Вот некоторые пишут, что пора бы уже к прогированию на асме под виндами переходить. Но мне кажется, что был, есть и будет нужен настоящим специалистам только чистый АСМ. Нет, я против АСМа под виндой ничего не имею, но посудите сами, ведь легче взять тот же Билдер или ВисуалВасик и не мучаться, АСМ - язык низкого уровня, под виндой врядли так необходим (правда, драйвера на нЈм хорошие получаются).
Но это лично моЈ мнение. :)
А вот ,собственно ,мой вопрос:
в институте мы проходим советский проц КР580ИК80(А)
(аналог - i8080). Такое задание:
надо запрограммировать интерфейс (на эмуляторе проца. Прога - avsim85.exe) и если код нажатой кнопки пренадлежит 1-ой колонке кнопок (на подобии компа, собранном на данном проце [в народе - "чемодан" ] ) то на 7-ми сегментном индикаторе (АЛС324А1) выводится некое имя, заранее заложенное по определенному адресу в памяти, иначе код нажатой кнопки мигает до нажатия следующей клавиши. Расположение кнопок такое:
1 4 7
2 5 8
3 6 9
0
Я так понял, что само сканирование кнопок происходит путем опроса контактов по ряду шин (шины по оси X и Y). А вот что дальше делать - нету времени думать! Курсачи висят! Может, кто поможет?
Заранее благодарен.
Ответ
Здравствуйте, niceman!
.... ты конечно извини, но у вас сильно навароченные компы в универе вашем!!! мы до сих пор на КР580ИК55(!) сидим... но вообще они довольно прикольные, эти микрокалькуляторы размером с холодильник!!! ;) я (и бригада моя туда же), кстати, по ним больше всех лаб сдали!!! передовики!!! так что кинь прогу эту .... Exe... если не влом!!! то то наши обрадуются... ;)
Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 217
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1605
Здравствуйте эксперты!
У меня к вам вопрос, как при вызове процедуры передать ей некоторые параметры.
Например, не писать каждый раз:
...
mov dx,offset [чего-то]
call write
...
write proc
mov ah,9
int 21h
ret
endp write
а сделать так, чтобы при вызове процедуры передавать в нее имя строки для вывода, а в процедуре уже находилось бы ее смещении и она выводилась на экран, т.е.
write proc
mov ah,9
mov dx,offset [чего передано в процедуру]
int 21h
ret
endp write
Ответ
Здравствуйте, ILYA!
Воспользуйся например стэком, хотя можешь просто передавать параметры в регистрах или переменных.
Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 248
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1600
Доброго времени суток!
Народ кто может - ай нид хелп как говорил брат...но к делу.
Трабла такая... Мама VIA MVP3 с Socket7 AGP2x прекрасно стоит на ней S3 видюшник, когда вознамерился заменить на Riva TNT2 она в наглую не ставала.. тоесть совсем... мастдай еЈ видит, ПРАВИЛЬНО определяет, а дрова не кушаются...на такой точно матери друг ставил жефорж, то же самое... суть вопроса- станет ли на эту маму Voodoo_banshee_или_ATI RAGE ??? если возможно - ответьте выстрее, а_то больно уж карту сменить хочется!!!!
З.Ы. прошу прощения за стилистику, но Микроглюк Оутглюк пробел_то юз то не юз...
Ответ
Здравствуйте, White_Devil!
Помоему это проблема большинства матерей под socket 7 (super 7). Атишка вроде бы должна нормально жить. (по крайней мере то что я смог поставить без ущерба здоровью (это я про S3 Trio 3d) на свою 5ali61 оказалась ATI Rage Pro (тоже не сахар, но стабильна)).
Отправил эксперт: Painbringer (http://limanski.narod.ru - нечто наподобие домашней страницы)
Эксперт отправил ответов (всего): 249
Экспертная группа: Модели, виды и типы компьютеров (hard)
Вопрос №1607
Здравствуйте.
Не объяснит ли мне кто-нибудь, что такое кольца защиты Windows?
Ответ
Здравствуйте, Warewolf!
Кольца защиты это по сути уровни привилегий. Представь себе вложенные концентрические окружности. Чем кольцо ближе к центру тем выше уровень привилегий. Если рассматривать с точки зрения i386 железа, то есть 4 уровня привилегий : 0 (супервизора), 1(высокий), 2(средний), 3(низкий).
Если с точки зрения ОС то их принято считать от 0 до 3, где 0 это уровень ядра, 1 - дрова, 2 всякие большие проги типа серверов но не являющиеся частью ОС, и 3 это собственно ендюзеровский софт.
Все это чисто условно, важно что, чем дальше объект от 0 тем меньше у него прав. Соответсвенно процесс с ring[n] имеет доступ к сегменту с уровнем доступа m, если n>=m. Таким макаром для доступа в винде к функциям ring0 юзайте DeviceIoControl. Это кстати к предыдущим вопросам по поводу как открыть сидюк, определить объем дисков и т.п. Вообще всю эту бодягу довольно долго описывать, в нете ее вал ищи описание управления памятью в i386 (CPL там DPL и etc). В основном народ старается найти пути для быстрого и безопасного перехода в ring0,иногда это удается. Все пополз в кроватку для лучшего усвоения пива. Всем значит привет.
P.S. А что думает по этому поводу WizarX? :)
Отправил эксперт: lom (http://www.lom.spb.ru - )
Эксперт отправил ответов (всего): 5
Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32
Вопрос №1605
Здравствуйте эксперты!
У меня к вам вопрос, как при вызове процедуры передать ей некоторые параметры.
Например, не писать каждый раз:
...
mov dx,offset [чего-то]
call write
...
write proc
mov ah,9
int 21h
ret
endp write
а сделать так, чтобы при вызове процедуры передавать в нее имя строки для вывода, а в процедуре уже находилось бы ее смещении и она выводилась на экран, т.е.
write proc
mov ah,9
mov dx,offset [чего передано в процедуру]
int 21h
ret
endp write
Ответ
Здравствуйте, ILYA!
А так разве сложно. К тому же это если ближняя процедура может и проканает. А если дальняя, то другой cs там будет. А всего два параметра сегмент и смещение это не сложно.
Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 87
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Вопрос №1608
Здравствуйте уважамые Эксперты!
Странно... Задавал вопрос, вроде в базу ушел - и ни ответа ни привета... Видимо по проводам размазался ;) Ну тогда если не возражаете я его повторю:
1. Многие вири садясь резидентами в память перехватывают прерывание(я) просто корректируя таблицу векторов - ну это все знают. В одной книженции вычитал что для того чтобы никакой вирь не смог сесть в память резидентно необходимо и достаточно перед запуском подозрительной проги сохранять таблицу векторов а после выполнения подозрительной проги - восстанавливать ее. Но ведь многие вири не свой обработчик назначают а врезаются в существующий, например длинным межсегментным CALL'ом! Как в таком случае обезопаситься? Сохранять и таблицу и сами обработчики в виде двоичного файла? Ну, просьба такая - киньте простенький пример как именно врезаться в обработчик не сильно калеча его. А то теорию-то знаю а вот практически...
2. Ковыряя дизасмом один вирь (Win32.Aliz) наткнулся на команду CALL EBX. Как в данном случае работает CALL? Выполнение участка проги или чего-то там по значению смещения в EBX? Или как-то еще?
З.Ы. Тут я еще много писал насчет помирания рассылки, все повторять не буду а то длинно получается, скажу суть - рассылка жила, жива и будет жить, как великое Дело Ленина ;) Вот только подняли вопрос убить реальный режим и отвечать на вопросы только о защищенном... Мне грустно, я плакалъ, так как еще толком в реале освоится не могу - что ж, на полпути бросать ? Неохота как-то...
С уважением, Диман
Ответ
Здравствуйте, Диман!
Вот хакером захотел стать. Так ты например вместо IRET'а вставь jmp far ptr metka. Правда первый занимает 1 байт а последний 5 байтов. Там по конкретному обработчику надо выбирать место где запихнуть вызов на свой.
Отправил эксперт: DiGiT
Эксперт отправил ответов (всего): 88
Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS
Форма подачи вопроса
ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!
Регистрация в качестве эксперта
Архив выпусков
Управляющий рассылкой,
Калашников Олег:
Assembler@Kalashnikoff.ru
ICQ No.: 68951340
URL сайта подписчиков:
http://www.Kalashnikoff.ru
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав. |
Реклама на сайте Kalashnikoff.ru
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||