При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Ассемблер? Это просто! Учимся программировать (FAQ)
Выпуск N 052 |
Вопросы, которые поступили от подписчиков рассылки
"Ассемблер? Это просто! Учимся программировать"
Дата выхода: 2001-08-08
Вопрос №442
Скажите можно на ассемблере нарисовать круг с заданным радиусом ?
Ответ
Здравствуйте, Alex!
Все геолетрические фигуры на ассемблере рисуются точками.
Для рисования круга рекомендую использовать алгоритм Брезенхема.
Вопрос №443
Здравствуйте, эксперты.
Вы не в курсе,можно ли создать раздел чистой DOS,хотя бы не большой, на винтах с объемом большим 8 Гб? Если можно, то как?
Ответ
Конечно можно!!! Почему нет??!! Простой, самый обычный fdisk, позволяет это сделать без проблем (хоть весь диск целиком...)(хотя проблемы могут возникнуть с FAT, мне попадались большие диски, упорно игнорирующие FAT16...) , правда, если будешь работать токо в ДОС-е, то больше 4 Гб адресовать на нем не сможешь...
Да, не забудь все это дело отформатировать ПОСЛЕ ПЕРЕЗАГРУЗКИ ;)
Вопрос №443
Здравствуйте, эксперты.
Вы не в курсе,можно ли создать раздел чистой DOS,хотя бы не большой, на винтах с объемом большим 8 Гб? Если можно, то как?
Ответ
Конечно можно!!! Почему нет??!! Простой, самый обычный fdisk, позволяет это сделать без проблем (хоть весь диск целиком...)(хотя проблемы могут возникнуть с FAT, мне попадались большие диски, упорно игнорирующие FAT16...) , правда, если будешь работать токо в ДОС-е, то больше 4 Гб адресовать на нем не сможешь...
Да, не забудь все это дело отформатировать ПОСЛЕ ПЕРЕЗАГРУЗКИ ;)
Вопрос №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
вроде все
Вопрос №416
мЮПНД ОНДЯЙЮФХРЕ ХКХ ЙХМЭРЕ КСВЬЕ ЯНПЖХЧ ОПНЦПЮЛЛЙХ...
ЙНРНПЮЪ ЯВХРЮЕР ЯЙНПНЯРЭ ОПНЖЕЯЯНПЮ....
Ю ЕЯКХ МЕРС ЯНПЖХЕБ РН НАЗЪЯМХРЕ ВЕПЕГ ВЕЦН РНВМН ЩРН ОПНХЯУНДХР... РН ВРН ВЕПЕГ rdtsc...ДЮ..ЛМЕ РНЙЮ ОН ЬЮЦЮЛ МЮДН ПЮГЗЪЯМХРЭ ВРН ДЕКЮРЭ МЮДН ДКЪ БХВХЯКЕМХЪ ЯЙНПНЯРХ ОПНЖЕЯЯНПЮ
Ответ
гДПЮБЯРБСИРЕ, DDKJ_MIX!
йНЛЮМДЮ rdtsc ЯКСФХР ДКЪ ОНКСВЕМХЪ ВХЯКЮ РЮЙРНБ ОПНЖЕЯЯНПЮ Я ЛНЛЕМРЮ ОНЯКЕДМЕИ ОЕПЕГЮЦПСГЙХ.
вХЯКН РЮЙРНБ ГЮОХЯШБЮЕРЯЪ Б БХДЕ 64bit Б ПЕЦХЯРПШ EDX:EAX.
щРС ЙНЛЮМДС ЛНФМН ХЯОНКЭГНБЮРЭ ДКЪ БШВХЯКЕМХЪ РЮЙРНБНИ ВЮЯРНРШ ОПНЖЕЯЯНПЮ, ЕЯКХ ОНДЯВХРЮРЭ ВХЯКН РЮЙРНБ ГЮ ЯЕЙСМДС ХКХ АНКЭЬЕ.
Вопрос №446
Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.
Ответ
Здравствуйте, Алексей!
www.intel.com
www.intel.ru
www.infa.ru
halyava.ru
Вопрос №449
Уважаемые эксперты, возможно я и не по теме,но прошу Вас помочь мне в написании не большой проги на ассемблере для однокристалки at89c51. Идея такая: хочу сделать автоматическую водокачку, для дачи. Есть емкость для воды, которая заполняется самотеком и два датчика уровня (металлические штыри), насос, который при наполнении должен сливать воду в другую емкость. Если возможно, напишите свои комментарии в программе.
Заранее благодарен.
Ответ
Здравствуйте, Александр!
То что не по теме - мелочь, мы не немцы, это у них бзик на выполнении только своих точно очерченых обязанностей :)
А по сути вопроса - в Правилах написано - "не писать вопрос напишите программу"
И это не просто так - времени много-то нет :(
Ты напиши сам что-то, опиши как и через что передаешь сигналы и т.п. и обращайся к нам, я тогда помогу
Удачи!
Вопрос №446
Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.
Ответ
Здравствуйте, Алексей!
www.intel.ru
Вопрос №450
Здравствуйте, эксперты!
У меня не вопрос, а скорее просьба.
Я недавно начал изучать Ассемблер, вещь хорошая, ну вот по ходу изучения написал программу, которая выводит на экран наш родной триколор.
Отсюда просьба, кому не лень, взгляните, как ее можно оптимизировать, и если можно с пояснениями, какой оператор что делает. Извините за беспокойство, знаний не хватает, а писать охота.
С уважением, Вадим.
Ответ
Здравствуйте, Вадим Сурин!
Лови программу, оптимизация - команда STOSW
Приложение:
Вопрос №446
Здравствуйте эксперты.
Не могли бы вы подсказать, где взять инфу по архитектуре Intel.
Ответ
Здравствуйте, Алексей!
Попробуй_http://www.intel.com
Вопрос №451
Здравствуйте, эксперты!
У меня не вопрос, а скорее просьба.
Я недавно начал изучать Ассемблер, вещь хорошая, ну вот по ходу изучения написал программу, которая выводит на экран наш родной триколор.
Отсюда просьба, кому не лень, взгляните, как ее можно оптимизировать, и если можно с пояснениями, какой оператор что делает. Извините за беспокойство, знаний не хватает, а писать охота.
С уважением, Вадим.
Ответ
Здравствуйте, Вадим Сурин!
Вот вам глюк № раз. НАФИГА ИСПОЛЬЗОВАТЬ ЦИКЛ ЕСЛИ ВЫХОДИШЬ ИЗ НЕГО ВСЕ РАВНО ПО JE?!! Поставь просто jmp (быстрее).
2. Экономишь на метках, поэтому у тебя внутри цикла каждый раз идет ненужный mov ax,символ с атрибутом.
3. Процедура на фиг не нужна, есть строковые команды!
4. А ты думал какой у тебя видео режим?!
Короче смотри что получилось.
З.Ы. А Вообще мой родной флаг - см прогу 2
Приложение:
Вопрос №448
Уважаемый эксперт Broken Sword!
Вы в ответе на вопрос про режим V86 сильно ошибались!
Реальный режим не есть режим V86!
Режим V86 это отдельная задача, которая исполняется
в защищЈнном режиме, где в EFLAGS установлен флаг VM.
А вы говорите про "нереальный режим", т.е.
реальный режим с границами сегментов 4Гб.
В нереальном режиме вы работаете на нулевом кольце, а
в V86 - на третьем, да ещЈ можно включить страничную
адресацию.
Есть разница ?????????????????????????????????? RTFM!!!
ЗЫ: Остальные эксперты, пожалуйста проигнорируйте это
письмо!!
Всего хорошего! Эксперт Nik. :)
Ответ
Уважаемый эксперт Nik!
Я сам лично ничего не придумал. Смотрим стр. 388 "Ассемблер для Дос, Виндоус, Юникс" бестселлер и т.п. ДМК кароче Зубков... и что же мы видим? Цитирую дословно: "Все, о чем рассказано до этой галвы, рассчитано на работу под управлением DOS в реальном режиме процессора (или в режиме V86), унаследованном еще с семидесятых годов..."
Я, конечно, не отрицаю, что и Зубков человек, мог ошибиться в чем-то... Я лично НИКОГДА не занимался программированием в защищенном режиме, поэтому более НИКАКИХ убедительных доводов не имею.
P.S. просьба другим экспертам проигнорировать это письмо...
Вопрос №454
Народ! Кто нибудь! Помогите разобраться с тем как
в памяти хранятся данные... я имею в виду то что, они
хранятнся задом наперед!! Я не понимаю принцепа
Объясните пожалуйста
Ответ
Здравствуйте, Voodooo!
Первым байтом в памяти сохраняется младший, а последним - старший.
Например: команда
mov word ptr [var], ax
поместит по адресу [var] значение AL, а по адресу [var+1] - AH.
PS. Уважаемый эксперт Broken Sword. А вы не смотрели страницу 527 из
той-же книги? Глава 10.9? Тогда посмотрите... А то, что вы
привели в пример, так это просто предложение неправильно
построено :( С 80-х годов унаследован был реальный режим,
а режим V86 - это почти тоже самое, но работает в защищённом
режиме.
Вопрос №453
Народ! Кто нибудь! Помогите разобраться с тем как
в памяти хранятся данные... я имею в виду то что, они
хранятнся задом наперед!! Я не понимаю принцепа
Объясните пожалуйста
Ответ
Здравствуйте, Voodooo!
Я кажеться понял о чем речь...
Тебе не понятно почему например значение 0xcocaco1a хранится в памяти как 1a c0 ca c0
Вообще-то это не всегда так, так принято на Intel, на других машинах бывает наоборот. Это называется LITLE ENDIAN BYTE ORDER или BIG ENDAIN BYTE ORDER. В Intel как раз LITLE, то есть младшие разряды храняться в младщих адресах памяти. BIG ENDIAN не помню в каких процессорах применяется, но в сети принят повсеместно.
Вопрос №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!
Подписаться на рассылки
Форма подачи вопроса
ВНИМАНИЕ!!! Пожалуйста, НЕ высылайте один вопрос сразу нескольким подгруппам! Дополнения к вопросам, на которые эксперт уже ответил НЕ следует направлять ведущему рассылки (я не успеваю!). Просто скомбинируйте первый вопрос и дополнение к нему, а затем заново отправьте его, используя приведенную ниже форму!
Регистрация в качестве эксперта
Архив выпусков
Ведущий рассылки,
Калашников Олег:
Assembler@Kalashnikoff.ru
ICQ No.: 68951340
URL сайта подписчиков:
http://www.Kalashnikoff.ru
______________
По вопросам сотрудничества, рекламы и спонсорства обращайтесь:
(C) Москва, 2001. Авторское право принадлежит Калашникову О.А. Публичное размещение материала из рассылки, а также его использование полностью или частично в коммерческих или иных подобных целях без письменного согласия автора влечет ответственность за нарушение авторских прав. |
http://subscribe.ru/
E-mail: ask@subscribe.ru | Отписаться | Рейтингуется SpyLog |
В избранное | ||