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

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


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

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

Выпуск N 052

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

Дата выхода: 2001-08-08


Вопрос №442

Скажите можно на ассемблере нарисовать круг с заданным радиусом ?

Ответ

Здравствуйте, Alex!
Все геолетрические фигуры на ассемблере рисуются точками.
Для рисования круга рекомендую использовать алгоритм Брезенхема.


Отправил эксперт: Denis K
Эксперт отправил ответов (всего): 14

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

Вопрос №443

Здравствуйте, эксперты.
Вы не в курсе,можно ли создать раздел чистой DOS,хотя бы не большой, на винтах с объемом большим 8 Гб? Если можно, то как?

Ответ

Конечно можно!!! Почему нет??!! Простой, самый обычный fdisk, позволяет это сделать без проблем (хоть весь диск целиком...)(хотя проблемы могут возникнуть с FAT, мне попадались большие диски, упорно игнорирующие FAT16...) , правда, если будешь работать токо в ДОС-е, то больше 4 Гб адресовать на нем не сможешь...
Да, не забудь все это дело отформатировать ПОСЛЕ ПЕРЕЗАГРУЗКИ ;)


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 11

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

Вопрос №443

Здравствуйте, эксперты.
Вы не в курсе,можно ли создать раздел чистой DOS,хотя бы не большой, на винтах с объемом большим 8 Гб? Если можно, то как?

Ответ

Конечно можно!!! Почему нет??!! Простой, самый обычный fdisk, позволяет это сделать без проблем (хоть весь диск целиком...)(хотя проблемы могут возникнуть с FAT, мне попадались большие диски, упорно игнорирующие FAT16...) , правда, если будешь работать токо в ДОС-е, то больше 4 Гб адресовать на нем не сможешь...
Да, не забудь все это дело отформатировать ПОСЛЕ ПЕРЕЗАГРУЗКИ ;)


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 12

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

Вопрос №444

Здравствуйте, эксперты. Может знает кто-нибудь, где в инете можно найти описания всех SIMD команд, вплоть до XMM блока в PentiumIII. Ну или хоть каких-нибудь:-)
С Уважением, Рэнсом.

Ответ

Здравствуйте, Ransom!
http://vzone.al.ru/hard/m2/p3.htm
http://www.cp.comizdat.com/99/6/6n99y2a.htm
http://surik.newmail.ru/pentiumiii/command/pentiumiii.htm

вроде все


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 14

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

Вопрос №416

мЮПНД ОНДЯЙЮФХРЕ ХКХ ЙХМЭРЕ КСВЬЕ ЯНПЖХЧ ОПНЦПЮЛЛЙХ...
ЙНРНПЮЪ ЯВХРЮЕР ЯЙНПНЯРЭ ОПНЖЕЯЯНПЮ....
Ю ЕЯКХ МЕРС ЯНПЖХЕБ РН НАЗЪЯМХРЕ ВЕПЕГ ВЕЦН РНВМН ЩРН ОПНХЯУНДХР... РН ВРН ВЕПЕГ rdtsc...ДЮ..ЛМЕ РНЙЮ ОН ЬЮЦЮЛ МЮДН ПЮГЗЪЯМХРЭ ВРН ДЕКЮРЭ МЮДН ДКЪ БХВХЯКЕМХЪ ЯЙНПНЯРХ ОПНЖЕЯЯНПЮ

Ответ

гДПЮБЯРБСИРЕ, DDKJ_MIX!
йНЛЮМДЮ rdtsc ЯКСФХР ДКЪ ОНКСВЕМХЪ ВХЯКЮ РЮЙРНБ ОПНЖЕЯЯНПЮ Я ЛНЛЕМРЮ ОНЯКЕДМЕИ ОЕПЕГЮЦПСГЙХ.
вХЯКН РЮЙРНБ ГЮОХЯШБЮЕРЯЪ Б БХДЕ 64bit Б ПЕЦХЯРПШ EDX:EAX.
щРС ЙНЛЮМДС ЛНФМН ХЯОНКЭГНБЮРЭ ДКЪ БШВХЯКЕМХЪ РЮЙРНБНИ ВЮЯРНРШ ОПНЖЕЯЯНПЮ, ЕЯКХ ОНДЯВХРЮРЭ ВХЯКН РЮЙРНБ ГЮ ЯЕЙСМДС ХКХ АНКЭЬЕ.


Отправил эксперт: Kulachatov (http://kulachatov.i-am.ru - йНККЕЙЖХЪ ПЮГПЮАНРНЙ ЮБРНПЮ)
Эксперт отправил ответов (всего): 15

Экспертная группа: нАЫХЕ БНОПНЯШ ОН ОПНЦПЮЛЛХПНБЮМХЧ МЮ юЯЯЕЛАКЕПЕ ОНД DOS

Вопрос №446

Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.

Ответ

Здравствуйте, Алексей!
www.intel.com
www.intel.ru
www.infa.ru
halyava.ru


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

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

Вопрос №449

Уважаемые эксперты, возможно я и не по теме,но прошу Вас помочь мне в написании не большой проги на ассемблере для однокристалки at89c51. Идея такая: хочу сделать автоматическую водокачку, для дачи. Есть емкость для воды, которая заполняется самотеком и два датчика уровня (металлические штыри), насос, который при наполнении должен сливать воду в другую емкость. Если возможно, напишите свои комментарии в программе.
Заранее благодарен.

Ответ

Здравствуйте, Александр!
То что не по теме - мелочь, мы не немцы, это у них бзик на выполнении только своих точно очерченых обязанностей :)
А по сути вопроса - в Правилах написано - "не писать вопрос напишите программу"
И это не просто так - времени много-то нет :(
Ты напиши сам что-то, опиши как и через что передаешь сигналы и т.п. и обращайся к нам, я тогда помогу
Удачи!


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

Экспертная группа: Оптимизация программ

Вопрос №446

Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.

Ответ

Здравствуйте, Алексей!
www.intel.ru


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

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

Вопрос №450

Здравствуйте, эксперты!
У меня не вопрос, а скорее просьба.
Я недавно начал изучать Ассемблер, вещь хорошая, ну вот по ходу изучения написал программу, которая выводит на экран наш родной триколор.
Отсюда просьба, кому не лень, взгляните, как ее можно оптимизировать, и если можно с пояснениями, какой оператор что делает. Извините за беспокойство, знаний не хватает, а писать охота.
С уважением, Вадим.

Ответ

Здравствуйте, Вадим Сурин!
Лови программу, оптимизация - команда STOSW

Приложение:


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

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

Вопрос №446

Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.

Ответ

Здравствуйте, Алексей!
Попробуй_http://www.intel.com


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

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

Вопрос №451

Здравствуйте, эксперты!
У меня не вопрос, а скорее просьба.
Я недавно начал изучать Ассемблер, вещь хорошая, ну вот по ходу изучения написал программу, которая выводит на экран наш родной триколор.
Отсюда просьба, кому не лень, взгляните, как ее можно оптимизировать, и если можно с пояснениями, какой оператор что делает. Извините за беспокойство, знаний не хватает, а писать охота.
С уважением, Вадим.

Ответ

Здравствуйте, Вадим Сурин!
Вот вам глюк № раз. НАФИГА ИСПОЛЬЗОВАТЬ ЦИКЛ ЕСЛИ ВЫХОДИШЬ ИЗ НЕГО ВСЕ РАВНО ПО JE?!! Поставь просто jmp (быстрее).
2. Экономишь на метках, поэтому у тебя внутри цикла каждый раз идет ненужный mov ax,символ с атрибутом.
3. Процедура на фиг не нужна, есть строковые команды!
4. А ты думал какой у тебя видео режим?!
Короче смотри что получилось.

З.Ы. А Вообще мой родной флаг - см прогу 2

Приложение:


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

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

Вопрос №448

Уважаемый эксперт Broken Sword!

Вы в ответе на вопрос про режим V86 сильно ошибались!
Реальный режим не есть режим V86!

Режим V86 это отдельная задача, которая исполняется
в защищЈнном режиме, где в EFLAGS установлен флаг VM.
А вы говорите про "нереальный режим", т.е.
реальный режим с границами сегментов 4Гб.

В нереальном режиме вы работаете на нулевом кольце, а
в V86 - на третьем, да ещЈ можно включить страничную
адресацию.

Есть разница ?????????????????????????????????? RTFM!!!

ЗЫ: Остальные эксперты, пожалуйста проигнорируйте это
письмо!!

Всего хорошего! Эксперт Nik. :)

Ответ

Уважаемый эксперт Nik!
Я сам лично ничего не придумал. Смотрим стр. 388 "Ассемблер для Дос, Виндоус, Юникс" бестселлер и т.п. ДМК кароче Зубков... и что же мы видим? Цитирую дословно: "Все, о чем рассказано до этой галвы, рассчитано на работу под управлением DOS в реальном режиме процессора (или в режиме V86), унаследованном еще с семидесятых годов..."
Я, конечно, не отрицаю, что и Зубков человек, мог ошибиться в чем-то... Я лично НИКОГДА не занимался программированием в защищенном режиме, поэтому более НИКАКИХ убедительных доводов не имею.
P.S. просьба другим экспертам проигнорировать это письмо...


Отправил эксперт: Broken Sword
Эксперт отправил ответов (всего): 15

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

Вопрос №454

Народ! Кто нибудь! Помогите разобраться с тем как
в памяти хранятся данные... я имею в виду то что, они
хранятнся задом наперед!! Я не понимаю принцепа
Объясните пожалуйста

Ответ

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

Первым байтом в памяти сохраняется младший, а последним - старший.
Например: команда

mov word ptr [var], ax

поместит по адресу [var] значение AL, а по адресу [var+1] - AH.

PS. Уважаемый эксперт Broken Sword. А вы не смотрели страницу 527 из
той-же книги? Глава 10.9? Тогда посмотрите... А то, что вы
привели в пример, так это просто предложение неправильно
построено :( С 80-х годов унаследован был реальный режим,
а режим V86 - это почти тоже самое, но работает в защищённом
режиме.


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

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

Вопрос №453

Народ! Кто нибудь! Помогите разобраться с тем как
в памяти хранятся данные... я имею в виду то что, они
хранятнся задом наперед!! Я не понимаю принцепа
Объясните пожалуйста

Ответ

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

Я кажеться понял о чем речь...

Тебе не понятно почему например значение 0xcocaco1a хранится в памяти как 1a c0 ca c0
Вообще-то это не всегда так, так принято на Intel, на других машинах бывает наоборот. Это называется LITLE ENDIAN BYTE ORDER или BIG ENDAIN BYTE ORDER. В Intel как раз LITLE, то есть младшие разряды храняться в младщих адресах памяти. BIG ENDIAN не помню в каких процессорах применяется, но в сети принят повсеместно.


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

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

Вопрос №455

Уважаемые эксперты! Помогите пожалуйста с такой проблемой:
не могу приручить команду DIV. Делаю следующее:

mov ax,00EFh
mov bx,0007h
div bx
retn

под отладчиком все прекрасно делится (стандартный DEBUG, получ. 22 в HEXе), запускаю просто из доса - переполнение. В чем причина ?

Ответ

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

Ты ошибся. дело в том что на bx ты делишь не только ax но еще и dx!
то есть 32 бита dx:ax ты делишь на 16 бит bx

Ты можешь делить 16 бит ax на 8 бит bl, тогда все получится,
а иначе тебе надо обнулить регистр dx!


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

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

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

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

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

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

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


Ваше имя *:

Ваш 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

В избранное