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

Ассемблер? Это просто! Учимся программировать (FAQ)


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

Ассемблер? Это просто! Учимся программировать (FAQ)
______________________________________

Выпуск N 036

Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"

Дата выхода: 2001-07-14


Новость

Открыта рассылка "Операционная система "с нуля" на Ассемблере и С". Ведущий - эксперт Dron.
Первый выпуск можно найти здесь: http://subscribe.ru/archive/comp.soft.prog.asmos/200107/12133106.html Подписаться можно на сайте http://Kalashnikoff.ru.

Благодарность

Хочу передать огромное спасибо эксперту Sensey за помощь в написании звездного неба.

Рейтинг экспертов

Эксперт по законодательству Александр Барон набрал 205 баллов и получает одно из поощрений, предусмотренных Правилами!
Спасибо, Александр, за оперативные и грамотные ответы!

_________________

Выражаю также благодарность за исчерпывающие и оперативные ответы следующим экспертам:

ROMA MAI (32 балла)
Dron (88 баллов)
Александр (126 баллов)
Сергей (209 баллов)
Валерий (84 балла)
Галина (101 балл)
Santas (http://www.kkm.agava.ru - Законодательство о торговле и ККМ) (54 балла)
Sensey (36 баллов)

Хотел бы также сообщить одну не очень приятную (но с другой стороны...) новость, относительно поощрений экспертам.
С момента введения новой системы экспертных групп, деньги, вероятно, некоторое время не будут выплачиваться.
Вместо этого экспертам предоставятся дополнительные возможности (особенно для юр.лиц и экспертов, имеющих свой сайт в Интернете). Но об этом позже...

Вопрос №318

Отправляю письмо Вам, возможно подскажите с кем можно поговорить. Собрал плату МК-51 через порты 0 и 2 на индикатор. Прогаю примерно так:
...
BOR: ...
CLR A
MOVX @DPTR, A
LJMP BOR
так вот. Передовая адрес DPTR (DPH - данные, DPL - адрес)
зажигаем светофор. Проблема такая - при выполнении операции LJMP (JMP, CALL и пр.) происходит сдвиг адреса !? Я ничего не понимаю, может есть особенности про для процессора, сам проц: ATMEL 89C51 (12 V reP)
Поможите чем можите, люди добрые....
Питер.

Ответ

Здравствуйте, Павел!
В команде MOVX @DPTR, A порт Р2 выводит старшие восемь бит адреса, а порт Р0 мультиплексирует младшие 8 бит адреса с данными
Вот так вот:(


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 16

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №317

Я сейчас изучаю видео память. Из сего вопрос к вам.
Кто знает, как можно перезаписать палитру в 13h'м режиме? Т.е допустим раньше при записи байта WHITE_COLOR был белый цвет, а теперь зеленый или какой другой.

Ответ

Здравствуйте, Stepan Yar!
Посылаю модуль на Паскале совстроенным асмом
Мне честно лень переписывать модуль, но я думаю разберешься

Приложение:


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 17

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №316

Здравствуйте.
Как реализовать генератор случайных чисел с помощью команд ассемблера.

Ответ

Здравствуйте, Павел!
Держи
Это не мое, а от читателя рассылки-генератор не очень но на безрыбье и рак рыба :(

Приложение:


Отправил эксперт: Sensey
Эксперт отправил ответов (всего): 18

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №319

Господа эксперты!
В рассылке номер 5 , в конце есть
"программка для практики" с вложенными
циклами и выводящая "знаки из таблицы ASCII"
на экран. У меня вопрос, есть ли там какая-нибудь
опечатка? Кто-нибудь пробовал ее запускать?
У меня она не идет. Под отладчиком идет вроде-бы
правильно, а когда запускаю не выдает ни каких ошибок
и корректно завершается, не выводя правда ничего на экран.
А должна все знаки вывести, 2000 раз.
Спасибо.

Ответ

Здравствуйте, Олег!
В том же номере был дан ответ: "Если у Вас Pentium, то, боюсь, что вы не успеете заметить вывод всех символов.". В отладчике все работает, потому что там идет задержка после каждой инструкции.

Если все же хочется увидеть результат, то можно вставить после строки (10) NextScreen:
mov dx, ax ;сохраняем AX, так как используем его в другом месте
mov ax, 10h ; ждем нажатия клавиши

int 16h

mov ax, dx ;восстановим регистр AX

С уважением, Basfer.


Отправил эксперт: Basfer
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №315

привет

можно узнать насчёт softice? под вин милленниум. я
прописываю его в реестр на автозагрузку вместе с виндами, и
вылетает окошко (при загрузке винд) "the enhanced windows
386 is already running". в чём дело? извиняюсь, но больше не
у кого спросить. как заставить его работать?

quaker

Ответ

Здравствуйте, quaker!
SoftIce надо запускать до старта Windows, для этого в autoexec.bat следует прописать соответственно запуск SoftIce'а. И при перезагрузке он всегда будет грузиться, но это ни есть хорошо, поскольку могут отказаться работать некоторые программы и тормозить игры. Что бы этошо избежать делаем следующее:

В autoexec.bat прописываем так;

@ECHO OFF

cls

C:\WINDOWS\COMMAND\choice/c:YN/N/TN,5 Loading SoftIce ? ( Y or N )...

IF ERRORLEVEL 2 GOTO nosoftice

Здесь путь для запуска SoftIce'а

:nosoftice

И при каждой загрузке будет выдаваться сообщение надо-ли загрузить SoftIce, если в течении 5 секунд ответа не последовало, то подразумевается, что ответили нет.


Отправил эксперт: Andy Bitoff (http://bitoff.pisem.net - HomePage)
Эксперт отправил ответов (всего): 6

Экспертная группа: Пользовательская работа с Windows

Вопрос №320

Не так давно, я задавал вопрос (№303)относительно копирования и восстановления экрана и проблемами связанными с этим. Большое спасибо экспертам которые ответили на вопрос. Но вот не совсем ясно что имелось ввиду в ответах, хотелось бы уточнить. Привожу дословно:

-=Перед установкой прерывания старый указатель надо сохранить, а перед выходом из программы - восстановить...=-(Dron)
Не совсем понял о чем... Насчет установки прерывания и старого указателя... Это что?

При вызове процедуры ведь в стеке запоминается не только адрес возврата но и содержимое FLAGS, при выходе это все восстанавливается само. А оно не восстанавливается, потому как не выходит из процедуры, а вот почему не выходит не могу понять. RET стоит...

По правде сказать с ЯА опыта еще мало, потому и задаю такие вопросы.

Заранее спасибо за ответ.

Ответ

Привет,

речь идет о том, что когда Ваша програма устанавливает “новый”
обработчик прерывания, она должна запомнить адрес “старого”
обработчика. Когда програма закончит свою работы, она освободит
память и код “нового” обработчика станет недоступен - память будет
занята другой програмой, на пример. Поэтому, перед окончанием работы
Ваша програма должна восстановить в таблице прерываний адрес “стаpого”
обработчика, то есть обработчика который работал до запуска вашей
програмы.


Отправил эксперт: vgrin
Эксперт отправил ответов (всего): 1

Экспертная группа: Общие вопросы по программированию на Ассемблере под Win32

Вопрос №321

Уважаемый эксперт!
У меня установлены две ОС WinME и Win200Pro после их установки появилось начальное меню загрузки (выбора ОС),вопросс такой - как в это меню добавить пункт для загрузки ДОС. Меню находится в файле Boot.ini(прилагается).

Ответ

Здравствуйте, Владимир!
Попробуйте добавить в Boot.ini после или перед строкой
multi(0)disk(0)rdisk(0)partition(2)\WINNT=..........
строку следуещего плана (если у Вас DOS находиться на том же дике, что и остальные ОС)
multi(0)disk(0)rdisk(0)partition(номер партиции на которой расположен DOS)\MSDOS="DOS" /fastdetect


Отправил эксперт: Роман
Эксперт отправил ответов (всего): 1

Экспертная группа: Пользовательская работа с Windows

Вопрос №309

У меня стоит
Пень 166MMX/64Mb/32Mb RIVA TNT2/HDD 41Gb IBM

Я хочу сделать апгрейд мамки и камня. Коллеблюсь, что именно брать.
Чем отличается Athlon от Thunderbird (1 Гигагерц)? (Кроме цены)
И вообще стоит ли брать AMD? Они вроде дешевле Интела...
Какую материнку лучше брать?
Да, и еще. Какой процессор идет под Socket 370?

Ответ

Здравствуйте, Stepan Yar!
В принципе различия между двумя этими процессорами практически нет. Но если взять Athlon то под него невозможно поставить никакой Linux кроме как RedHat 7.0 либо Mandrake 7.0. Но лучше всего если позволяет возможность брать интеловский проц. Т. к. они на порядок выше по производительности и работоспособности стоят от AMD. В Socket 370 идет семейство процессоров в том числе и PIII 800Mhz - 1 Ghz Cel 800Mhz AMD 800 MHz Athlon Thunderbird.


Отправил эксперт: Роман
Эксперт отправил ответов (всего): 2

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №322

Здравствуйте, уважаемые эксперты!
Для некоторых выполнения некоторых программ на Ассемблере нужна малая скорость.В отладчике программа выполняется слишком медленно.
А если запускать не под отладчиком то ничего не успеваешь увидеть.
Вы не могли бы подсказать где найти программу(или как сделать программно) которая может "затормозить" процессор.

Ответ

Здравствуйте, Skif!
Однажды у меня была демка, размером в 52 байта но на моем компе я не успевал ничего заметить, затормозил я ее, запустив под виндоуз еще кроме проги на асме фильм в мпег4, сработало, только вот фильм надо подобрать для этого, можно и мп3шку использовать, но удачность зависит от мощности твоего компа.


Отправил эксперт: Vasis
Эксперт отправил ответов (всего): 2

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №324

Здравствуйте!
Я собираюсь покупать новый комп. И вот передо мной встали две проблемы: какой проц взять и какую видюху.
Проц: Либо AMD DURON 800 либо Celeron 500 либо AMD ATHLON 700, что посоветуее господа эксперты, если можно поподробнее.
Видео: Я сам в них мало разбираюсь. Так что посоветуйте, что взять, желательно подешевле, но это не значит похуже и т.п.
Комп нужен для игр+работы в инете+программирования (Delphi,Pascal, Asm)+работа с графикой, звуком (Офисные приложения).

Ответ

Здравствуйте, Сергей!
Я бы однозначно выбрал AMD ATHLON 700, он немного дороже Дюрона, правда отличия там не много, просто меньше кэш память, Селерон 500 как минимум в 2 раза слабее, я сам проводил тесты, говорю с уверенностью, правда под AMD'шнае камни материнские платы как правило дороже, такой конфигурации хватит и поиграть, и покодить.


Отправил эксперт: Vasis
Эксперт отправил ответов (всего): 3

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №324

Здравствуйте!
Я собираюсь покупать новый комп. И вот передо мной встали две проблемы: какой проц взять и какую видюху.
Проц: Либо AMD DURON 800 либо Celeron 500 либо AMD ATHLON 700, что посоветуее господа эксперты, если можно поподробнее.
Видео: Я сам в них мало разбираюсь. Так что посоветуйте, что взять, желательно подешевле, но это не значит похуже и т.п.
Комп нужен для игр+работы в инете+программирования (Delphi,Pascal, Asm)+работа с графикой, звуком (Офисные приложения).

Ответ

Здравствуйте, Сергей!
Ну во-первых должен спросить, что у тебя сейчас. Во-вторых, что ты еще согласен поменять, кроме проца и видюхи.
Самое лучшее это конечно Duron(он неплохо гонится), но если у тебя материнка под Интел, то тогда готовь еще около 100(скорее 130) грина, на матерь под АМД. Если ОЧЕНЬ много графики бери Athlon - большой(256КБ) кэш, работающий на частоте ядра, по идее для 3D и должен помогать. А насчет видеокарты есть несколько мыслей:
1. Для игр дешево сердито - ATI Radeon LE DDR. Говорят, что принципиальных отличий от полной версии нет. Меньшее число конвееров и программно отключенные навороты(можно включить). Позиционируется как конкурент GeForce2 MX. Да и для плоской графики ATI второй после Matrox, еще со времен ДОС'а считался.
2. Для 2D графики просто супер взять Matrox. В любом случае бери DualHead, вдруг второй монитор достанется по наследству... Но для игр это конечно не сахар. Пессемисты сравнивают её с позапрошлым поколением - Riva TNT2. Оптимисты же играми не балуются...


Отправил эксперт: Александр
Эксперт отправил ответов (всего): 52

Экспертная группа: Модели, виды и типы компьютеров (hard)

Вопрос №318

Отправляю письмо Вам, возможно подскажите с кем можно поговорить. Собрал плату МК-51 через порты 0 и 2 на индикатор. Прогаю примерно так:
...
BOR: ...
CLR A
MOVX @DPTR, A
LJMP BOR
так вот. Передовая адрес DPTR (DPH - данные, DPL - адрес)
зажигаем светофор. Проблема такая - при выполнении операции LJMP (JMP, CALL и пр.) происходит сдвиг адреса !? Я ничего не понимаю, может есть особенности про для процессора, сам проц: ATMEL 89C51 (12 V reP)
Поможите чем можите, люди добрые....
Питер.

Ответ

Здравствуйте, Павел!
Уважаю! А конкуренцию LEGO Robotics System слабо создать? Я не злой, поэтому сразу скажу что ничем помочь не могу. А ты на www.gaw.ru не пытался искать? IMHO - самое большое место посвященное электронике на русском языке. Там и ссылки и документация, так что успешных поисков.


Отправил эксперт: Александр
Эксперт отправил ответов (всего): 53

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №322

Здравствуйте, уважаемые эксперты!
Для некоторых выполнения некоторых программ на Ассемблере нужна малая скорость.В отладчике программа выполняется слишком медленно.
А если запускать не под отладчиком то ничего не успеваешь увидеть.
Вы не могли бы подсказать где найти программу(или как сделать программно) которая может "затормозить" процессор.

Ответ

Здравствуйте, Skif!
Обычно замедлители работают следующим образом - перехватывают прерывание от таймера и каждый раз при его вызове выполняют экспериментально подобранный цикл задержки. Также должен заметить, что для устранения скачкообразности выполнения программы можно увеличить количество прерываний от таймера за секунду, но тогда другие программы завязанные на таймер могут начать некорректно работать.


Отправил эксперт: Александр
Эксперт отправил ответов (всего): 54

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №325

Здравствуйте!
Может кто-нибудь располагает доступной литературой о принципах графического вывода на экран в мониторах VGA+.
Уже не очень хочется выводить все в режиме 80х25 строк. Хотя бы иметь представление о режиме 640х480 (16 цветов), который по-умолчанию поддерживает любой видеоадаптер.
Нужна также возможно более полная информация о новых командах процессоров Pentium и о командах математического сопроцессора.
Если кто-нибудь располагает литературой или даст полезную ссылку, то буду очень признателен.
С уважением
Юрий.

Ответ

Здравствуйте, Юрий!
Пожалуйсто, специаьлно отберу для тебя инфу. Напиши на expert01@inbox.ru


Отправил эксперт: Vasis
Эксперт отправил ответов (всего): 4

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Вопрос №325

Здравствуйте!
Может кто-нибудь располагает доступной литературой о принципах графического вывода на экран в мониторах VGA+.
Уже не очень хочется выводить все в режиме 80х25 строк. Хотя бы иметь представление о режиме 640х480 (16 цветов), который по-умолчанию поддерживает любой видеоадаптер.
Нужна также возможно более полная информация о новых командах процессоров Pentium и о командах математического сопроцессора.
Если кто-нибудь располагает литературой или даст полезную ссылку, то буду очень признателен.
С уважением
Юрий.

Ответ

Здравствуйте, Юрий!


Отправил эксперт: Max Ivanov (http://www.tracer.ru - Спутниковые системы сигнализации)
Эксперт отправил ответов (всего): 1

Экспертная группа: Общие вопросы по программированию на Ассемблере под DOS

Подписаться на рассылки

Рассылки Subscribe.Ru
Ассемблер? Это просто! Учимся программировать
Ассемблер? Это просто! Учимся программировать (FAQ)

Форма подачи вопроса

ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Если Вы сомневаетесь, какой подгруппе следует отправить вопрос, то направляйте его в обычном текстовом виде по адресу Experts@Kalashnikoff.ru. Вопрос будет выслан соответствующей подгруппе с некоторой задержкой (от 1 до 3-х суток).
Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!

Нажимайте кнопку "Отправить" только ОДИН раз и дождитесь полной загрузки страницы, иначе вопрос будет продублирован!


Ваше имя *:

Ваш e-mail *:

Подгруппы:

Вопрос *:

Прилагаемая программа (если необходимо):


Регистрация в качестве эксперта

Архив выпусков


Ведущий рассылки,

Калашников Олег: Assembler@Kalashnikoff.ru
ICQ No.:
68951340
URL сайта подписчиков: http://www.Kalashnikoff.ru

______________

По вопросам сотрудничества, рекламы и спонсорства обращайтесь:

  1. Публичное размещение материала из рассылки: Cooperation@Kalashnikoff.ru
  2. Реклама на сайте, в книге и рассылках: http://www.Kalashnikoff.ru/Reklama.html, Reklama@Kalashnikoff.ru
  3. Издание книги (спонсорство): Sponsor@Kalashnikoff.ru

Рассылка 'Ассемблер? Это просто! Учимся программировать (FAQ)' Рассылка 'Ассемблер? Это просто! Учимся программировать'


(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться Рейтингуется SpyLog

В избранное