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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 439
от 11.12.2002, 01:20

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 2104
Отправлено ответов: 6440
Активность: 306.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Maverick
Статус: Профессиональный
Общий рейтинг: 138.27
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
St
Статус: Опытный
Общий рейтинг: 115.62
[Подробней >>]
Portnov
Статус: Профессиональный
Общий рейтинг: 115.89
URL: Мой сайтик...
[Подробней >>]
 
DiGiT[old]
Статус: Опытный
Общий рейтинг: 106.95
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 149.9
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 119.26
[Подробней >>]
 
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 123.07
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.11
[Подробней >>]
Andrew Vext
Статус: Доверительный
Общий рейтинг: 108.56
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 153.2
[Подробней >>]
igorash
Статус: Профессиональный
Общий рейтинг: 114.98
Телефон: 8(903)251-86-01
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 111.6
URL: Beeblebrox / TMA HomePage
[Подробней >>]
 
LIFO
Статус: Профессиональный
Общий рейтинг: 122.53
URL: наш сайт
Телефон: 8 01710 24758
[Подробней >>]
keleb-glin
Статус: Доверительный
Общий рейтинг: 114.85
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 2042. Здравствуйте, уважаемые!!! Просмотрела ваш форум, и странно - ни один вопрос не остался без ответа. ... (ответов: 4)
Вопрос № 2043. Доброе время суток, Эксперты! Меня напрягли из интерпритатора сделать компилятор (с синтаксисом Си).... (ответов: 2)
Вопрос № 2044. Прошу прощения за элементарный вопрос но никак не могу открыть файл в отладчике AFD.Как прописать пу... (ответов: 3)
Вопрос № 2045. Здравствуйте эксперты! Подскажите, пожалуйста, алгоритм решения следующей задачи: Создать кольцо(???... (ответов: 2)
Вопрос № 2046. Здравствуйте! Помогите, кто-нибудь добрым советом, как в программе на Masmе организовать поддержку п... (ответов: 1)
Вопрос № 2047. Вопрос хоть и не в тему рассылки, но у вас тут хоть все умные... писал по теме, ответ один :проверь ... (ответов: 4)
Вопрос № 2048. Ув.Эксперты помогите чайнику с докой для начинающего. Хочу, научится писать на Ассемблере. Профессор... (ответов: 3)
Вопрос № 2049. На сегодня уменя к вам созрели такие квэстчены 1. Чем отличается объектный файл (*.obj), от исполняе... (ответов: 9)

Вопросов: 8, ответов: 28


 Вопрос № 2042

Здравствуйте, уважаемые!!!
Просмотрела ваш форум, и странно - ни один вопрос не остался без ответа.
Не могли бы вы подсказать где скачать turbo assembler?
или можно использовать что-то более удобное?
Заранее спасибо



Вопрос отправлен: 05.12.2002, 22:56
Отправитель: Ольга (galateya2003@yahoo.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Приветствую Вас, Ольга!
Если тебе для программирования под ДОС, то лучше TASM.
В интернете его навалом, я поглядел на www.filesearch.ru там куча ссылок, например:
ftp.ibc.net.ua/pub/dos/Programming/TASM.RAR
ftp.icmoscow.ru/pub/bcchelp/b5tasm.zip
ftp.ipc.shizuoka.ac.jp/pub/misc/ham/funet/arrl/qex/tasm.zip

P.S. Девушка программист-это круто :)))
хе, а вирмейкер еще лучше


Ответ отправлен: 06.12.2002, 11:40
Отправитель: Maverick


Отвечает St

Привет, Ольга!
Насколько я понял вопросы без ответов просто не попадают с рассылку :)
Можно набрать tasm5 в поисковых системах (yandex.ru, google.com, filesearch.ru)
Или сходить на wasm.ru в раздел компиляторов
St

Ответ отправлен: 06.12.2002, 18:41
Отправитель: St


Отвечает Portnov

Здравствуйте, Ольга!
Я бы посоветовал Nasm - www.cryogen.com/nasm. Бесплатный, доступны исходники, есть версии для DOS, Win32, Win16, Linux и мн.др., поддрежнивает кучу форматов объектных и исполняемых файлов, имеет макроязык, значительно более мощный, чем в masm/tasm, понимает инструкции как минимум до Pentium безо всяких спец. директив и к тому же дает более полный контроль над формируемым объектным/исполняемым кодом, чем masm/tasm.
С уважением, Portnov.

Ответ отправлен: 06.12.2002, 21:46
Отправитель: Portnov


Отвечает DiGiT[old]

Добрый день, Ольга!
Имхо попробуй nasm, он без отсебятины, которая есть в масме и тасме и дока даже есть по нему русская хорошая, переведенная AsmOS группой

Ответ отправлен: 06.12.2002, 09:11
Отправитель: DiGiT[old]


 Вопрос № 2043

Доброе время суток, Эксперты!
Меня напрягли из интерпритатора сделать компилятор (с синтаксисом Си).
Я с этим делом знаком лишь частично, поэтому очень нужна
ваша помощь по следующим темам:
1. Как из внутреннего представления кода сообразить исполняемый файл (exe)
2. Что вообще нужно знать об экзешниках
3. Чем отличаются исполняемые файлы Виндовс и Юникс (Линух), компилятор
должен быть переносимым
4. Киньте любую инфу по этой теме
5. Недавно искал книги на эту тему, нашлась
одна - А. Ахо "Компиляторы (чето ещё)...", может кто знает о такой,
стоит ли покупать? 90 енотов просят!
Заранее спасибо!



Вопрос отправлен: 05.12.2002, 23:53
Отправитель: Алеша (d_den@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, Алеша!
Я с этим вопросом не сталкивался, но у Юрова описаны принципы. Он валяется в интернете, погляди, мож поможет.


Ответ отправлен: 06.12.2002, 11:40
Отправитель: Maverick


Отвечает masquer

Приветствую Вас, Алеша!
1. Сам думай, зная формат исполнимого файла
2. Ну, наверное, все нужно знать :)
3. Да всем, под винды - РЕ, под линух и иже с ним - elf. Описание есть и того и того.
4 и 5 - в инете достаточно информации обо всем этом.

Ответ отправлен: 06.12.2002, 11:43
Отправитель: masquer


 Вопрос № 2044

Прошу прощения за элементарный вопрос но никак не могу
открыть файл в отладчике AFD.Как прописать путь к файлу?
Заранее спасибо.



Вопрос отправлен: 06.12.2002, 07:49
Отправитель: Shannon (Shannon70@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Приветствую Вас, Shannon!
Приветствую Вас, Shannon!
А в чем проблема, ты хоть пробовал?
afdpro.exe c:sourcmyprog.com
Путь укажи тот, который тебе нужен.


Ответ отправлен: 06.12.2002, 11:40
Отправитель: Maverick


Отвечает ASMодей

Доброе время суток, Shannon!
Или указывай имя файла при запуске AFD:
afd.exe c:my.exe
или внутри AFD пиши:
l c:my.exe


Ответ отправлен: 07.12.2002, 15:48
Отправитель: ASMодей


Отвечает Dark_Lord

Добрый день, Shannon!
l имя_файла

Ответ отправлен: 08.12.2002, 12:39
Отправитель: Dark_Lord


 Вопрос № 2045

Здравствуйте эксперты!
Подскажите, пожалуйста, алгоритм решения следующей задачи:
Создать кольцо(???), его записи содержат ссылку на очередь. В записи очереди хранятся строки знаков. Среди знаков откр. и закр. скобки трех видов ([{}]). Проверить правильность расстановки скобок (например, ([)] - неправильно).
Непонятно, что за структура должна получится в итоге и алгоритм проверки.
Заранее благодарен,
EraSer



Вопрос отправлен: 06.12.2002, 08:50
Отправитель: EraSer (eraser99@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает vitya

Доброе время суток, EraSer!

Общий алгоритм работает так:
i = 0;
arr - массив символов
1. считать очередной символ (ch)
2. если это открывающая скобка ('(', '[', '{', '<'}, то
arr[i] = ch и i = i + 1.
3. иначе если это закрывающая скобка то
3.1. если i == 0, то возвратить ошибку (значит у нас есть закрывающая скобка, а открывающей ей не было)
3.2. если arr[i] == ch, то i = i - 1.
3.3. иначе вернуть ошибку (открывающая скобка была одного типа, а закрывающая другого).
4. если очеред пуста, конец алгоритма иначе 1.

Ответ отправлен: 06.12.2002, 09:17
Отправитель: vitya


Отвечает ASMодей

Приветствую Вас, EraSer!
Не знаю причем здесь очередь, но правильность расстановки скобок
обычно проверяется с помощью стека: проходим текст посимвольно и,
если встретили открывающую скобку, то заносим ее в стек, а если
встретили закрывающую скобку того же типа, что и на вершине стека,
то удаляем скобку из стека. Несоответствие типов скобок или размер
стека <> 0 после отработки алгоритма указывают на неправильную
расстановку скобок.


Ответ отправлен: 07.12.2002, 15:49
Отправитель: ASMодей


 Вопрос № 2046

Здравствуйте!
Помогите, кто-нибудь добрым советом, как в программе на Masmе организовать поддержку плагинов?
Как сделать цветную полоску в меню (как меню у кнопки пуск)?
Заранее спасибо,
С уважением Kron.



Вопрос отправлен: 06.12.2002, 10:24
Отправитель: Kron (kron@sigmanet.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Здравствуйте, Kron!
По плагинам можешь мою статью глянуть, не совсем, конечно, по теме, но для размышлений достаточно.

Ответ отправлен: 06.12.2002, 14:07
Отправитель: masquer


 Вопрос № 2047

Вопрос хоть и не в тему рассылки, но у вас тут хоть все умные... писал по теме, ответ один :проверь драйвера от видеокарты:)
Не устанавливается винда (98SE и ME), только XP...
После окончания установки, када уже выходит из режима дос-установки СИНИЙ экран с надписью "Нарушение защиты Windows"... что я там нарушил незнаю... винт уже форматил, на другой ставил, оперативку менял, видео менял. ПОМОГИТЕ плиз:(((
Началось все с того, что я себе вместо своей видео TNT2 вставил GFORCE64, дрова слители... и короче 640x480 максимум... ну я сильно не испугался... переставил винду, ну и дальше по тексту (обновления компа P4 celeron, 256 SD-Ram, Elitegroup - мамка)но с уже новым компом винду я раз уже переставлял, и все окей, тока часто висла... и вот теперь умерла:(



Вопрос отправлен: 06.12.2002, 10:26
Отправитель: Ландграф Павел

[Следующий вопрос >>] [Список вопросов]

Отвечает Andrew Vext

Добрый день, Ландграф Павел!
Могу порекомендовать следующую процедуру:
1. Коппируете дистрибутив Windows на винчестер.
2. Отключаете все платы (звук, сеть и т.п). Значения таймингов для памяти устанавливаете в BIOS в Default. В результате на компьютере должны остаться мать с процессором, видеокарта и винчестер.
3. Загружаете DOS и удаляете каталог, где ранее была установлена система (не дистрибутив).
4. Устанавливаете Windows, причем в качестве видеокарты выбираете VGA.
5. Запускаете Windows и из окна Экран (Display) меняете драйвера видеокарты. Если все слетит - вам нужны другие драйвера.
6. Если все заработало - устанавливаете остальные устройства (по одному) с их драйверами.


Ответ отправлен: 06.12.2002, 11:52
Отправитель: Andrew Vext


Отвечает Bob Johnson

Добрый день, Ландграф Павел!
Перед тем как устанавливать дрова от карты на 98SE обязательно поставь INF update - он позволяет старой версии ОС узнать новые мамы и их фичи. Этот INF update есть на диске с матерью или (если там не окажется) - на сайте производителя чипсета (у тебя, надеюсь intel?) - www.intel.com.
Без него возможно все. Но дрова ты точно без него не поставишь. Еще попробуй более новые версии драйверов. Если у тебя GF2 - тогда нормальные 23.11, для GF4 - 29.40 (в принципе, можешь смело ставить 29.40 везде). Еще посмотри, может надо отключить в BIOS встроенные какие заморочи типа звука (если не нужен) или сетевухи, но обычно они не мешают.


Ответ отправлен: 08.12.2002, 18:17
Отправитель: Bob Johnson


Отвечает igorash

Здравствуйте, Ландграф Павел!
Возможно тут дело не в видюхе, а в памяти, ведь система вроде глючила еще до смены видюхи... может чип глюченный, а может просто в биосе настройки слишком крутые для памяти стоят (тайминги, латентность), попробуй поменьше поставить...

Ответ отправлен: 07.12.2002, 04:46
Отправитель: igorash


Отвечает Dark_Lord

Добрый день, Ландграф Павел!
Может быть три проблеммы ( по крайней мере мне так кажется),
1. Кривая видеокарта, тут ничем помоч не могу...
2. Windows переустановлен не полностью, типа он сохраняет какую-то информацию о себе и с неё глючит, тут можно посоветовать либо всё хорошо удалить, но если знания того где что находится недоступны, скинуть куда-нибудь всю нужную инфу и отформатировать винчестер.
3. Возможно в биосе установлены параметры, с которыми не может работать видеокрта/проц/память, можно попробовать все параметры установить на минимум perfomance...

Ответ отправлен: 08.12.2002, 12:47
Отправитель: Dark_Lord


 Вопрос № 2048

Ув.Эксперты помогите чайнику с докой для начинающего. Хочу, научится писать на
Ассемблере. Профессор выбрал PIC16. Плиз.



Вопрос отправлен: 06.12.2002, 20:26
Отправитель: Kondrat (kondrat_i@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Portnov

Доброе время суток, Kondrat!
Не понял фразы "Профессор выбрал PIC16". Может, профессор вам что-то там посоветовал? Или это процессор ? Если так, вряд ли вам здесь сильно помогут - тут большинство специализируется на x86.
С уважением, Portnov.

Ответ отправлен: 06.12.2002, 21:58
Отправитель: Portnov


Отвечает Maverick

Приветствую Вас, Kondrat!
Для начинающего пойдет рассылка Калашникова и Зубков.
PIC16-это че такое?
Может профессор и посоветует литературу по этому пик16?


Ответ отправлен: 07.12.2002, 11:45
Отправитель: Maverick


Отвечает Beeblebrox

Здравствуйте, Kondrat!
Английский знаешь - тогда http://www.microchip.com, скачай доки к твоему пику.
Ищи в инете примеры устройств на пиках и изучай программы к ним. Обязательно найди пакет MPLAB. Я недавно спаял свое первое в жизни устройство на PIC16F84A и написал прогу. Впечатление обалденное, Intel и рядом не попадает :)

Ответ отправлен: 09.12.2002, 10:03
Отправитель: Beeblebrox


 Вопрос № 2049

На сегодня уменя к вам созрели такие квэстчены
1. Чем отличается объектный файл (*.obj), от исполняемого (*.exe)?
По моему и в один и в другой пишутся ассемблерные коды и прочая похожая инфа. И ваще, зачем нужны объектные файлы? Не легче лисразу сварганить экзешник и не мучаться.
2. Где можно достать оп-коды (opcodes)
ассемблерных инструкций под Линух (юних), если такие существую.
3. Кто нибудь видел описание формата ELF на русском языке?



Вопрос отправлен: 07.12.2002, 01:15
Отправитель: Алеша

[Следующий вопрос >>] [Список вопросов]

Отвечает Portnov

Добрый день, Алеша!
1. Тем, что объектный файл не исполняемый!
При ассемблировании ассемблер не знает таких вещей, как адреса импортируемых ф-ций и некоторых еще вещей в том же духе. Так, если вы для masm32 пишете
extern MessageBox.... (и т.д.)
а потом вызываете этот мессэйджбокс, то ассемблер не знает, по какому адресу надо будет обращаться, он просто оставляет место в объектном файле под этот адрес, и в начале объектного файла делает пометку, что мол вот этот адрес я не знаю. А вот когда вы запускаете линкер, подсовывая ему библиотеки (*.lib), он смотрит в объектном файле, где чего ассемблер не знал, справляется об этих адресах в lib-файле и подставляет их в код. Еще он формирует соответствующий исполнимый файл (*.exe). Другое применение объектных файлов - можно написать десяток файлов с исходниками (если большой ассемблерный проект), часть переменных и/или ф-ций там пообъявлять внешними/глобальными, так, чтобы из одних исходников было видно ф-ции и переменные, описанные в других, потом можно будет ассемблировать эти исходники по отдельности в obj-файлы. Достоинства такого подхода:
- реализуется модульный подход к программированию
- если изменен один из двадцати пяти asm-файлов, не надо заново ассемблировать все - достаточно только его.
Ну, а потом, ессессно, все эти obj-файлы с помощью линкера собираются в один экзешник.
2. Я ща ругаться буду! Сто раз говорили: ассемблер ориентирован не на конкретную ось (винда/дос/линух/..), а на проц (х86)! Так что под *nix-системами все инструкции вместе с опкодами - те же самые!
3. Dron в своей рассылке рассказывал... Думаю, у него есть.
С уважением, Portnov.

Ответ отправлен: 07.12.2002, 16:59
Отправитель: Portnov


Отвечает St

Привет, Алеша!
1) Вы правы, это можно было бы сделать, но тогда весь код программы должен был бы быть в одном asm-файле. Кроме того пришлось бы отказаться от возможности создания библиотек процедур и функций. В общем obj-файлы необходимы для создания отдельных модулей, которые затем можно собирать в желаемом виде в обин исполняемый файл.
2) Sorry
3) Sorry
St

Ответ отправлен: 07.12.2002, 16:37
Отправитель: St


Отвечает Maverick

Здравствуйте, Алеша!
1.Объектный файл не может быть выполнен, т.к. линковщик подсоединяет потом к основному файлу файлы с подпрограммами и настраивает связи между ними, потом изменяет формат файла и преобразует его в выполняемый.(Финогенов)
2.Процику "пофигу" под какой ты операционкой сидишь, грубо сказано, но я думаю ты понял.
3.На русском не видел, а на англ. в инете пресс.


Ответ отправлен: 07.12.2002, 11:45
Отправитель: Maverick


Отвечает LIFO

Добрый день, Алеша!
*.obj почти ничем не отличается от экзешника, за исключением того, что он содержит нужную информацию для линковщика.
2.Что значит опкоды под линукс? Так не бывает. Может тебе нужно описание синтаксиса под юникс? Тогда смотри доку к NASM.
3.http://www.opennet.ru/base/dev/elf_sml.txt.html-немного не то, но хоть что-нибудь


Ответ отправлен: 08.12.2002, 14:56
Отправитель: LIFO


Отвечает keleb-glin

Здравствуйте, Алеша!
Файл .obj содержит также инфу, благодаря которой можно связывать модули, скомпилированные отдельно разными компиляторами. Таким образом можно соединять модули, написанные на разных языках.
Насчёт опкодов - смотря что ты имеешь в виду. Набор их зависит от компилятора, но большинство - едины для всех. А вообще - читай доки по нужным тебе компиляторам.


Ответ отправлен: 08.12.2002, 20:28
Отправитель: keleb-glin


Отвечает Bob Johnson

Добрый день, Алеша!
1. Тем что объектный файл имеет совсем не такую структуру, как исполняемый. В нем остается текстовая информация об именах переменных и типах структур и классов. А надо это для того, чтобы в проекте могло быть более одного модуля. Тогда каждый из них отдельно компилируется в свой obj файл, а потом они все соединяются в один запускаемый.
2. Ха... Они ничем не отличаются от таких же под винды (т.к. зависят они не от ОС, а от процессора).


Ответ отправлен: 09.12.2002, 20:55
Отправитель: Bob Johnson


Отвечает igorash

Здравствуйте, Алеша!
2. Опкоды существуют не для ОСи, а для проца, так что в Линухе они такие же, как и в ДОСе, в винде, различается немного только синтаксис исходников и принципы программирования...

Ответ отправлен: 07.12.2002, 04:48
Отправитель: igorash


Отвечает Dark_Lord

Приветствую Вас, Алеша!
1. Тем что в объектном просто код, переведённый на машинный язык, а в ехе этот код ещё нормально соединён с ОС.
2. Такие существуют, но легче использовать nasm, который те-же коды принимает!
3.Понятия не имею!

Ответ отправлен: 08.12.2002, 12:50
Отправитель: Dark_Lord


Отвечает Andrew Vext

Доброе время суток, Алеша!
В объектном файле еще не выполнено связывание с библиотеками. Собственно говоря, объектный файл позволяет объединять вашу программу с библиотеками других программистов. Если генерить сразу exe, то придется включать все библиотеки в вашу программу в виде исходного текста.
Opcodes под Linux такие же как и под DOS и под Windows. Зависят они только от процессора. Меняется синтаксис языка ассемблера.

Ответ отправлен: 09.12.2002, 12:10
Отправитель: Andrew Vext



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (39)
C / C++ (28)
Perl (6)
Delphi (21)
Pascal (23)
Basic / VBA (9)
Java / JavaScript (10)
PHP (5)
MySQL / MSSQL (8)
Пользователю
Windows 95/98/Me (31)
Windows NT/2000/XP (22)
"Железо" (30)
Поиск информации (13)
Администратору
Windows NT/2000/XP (12)
Linux / Unix (15)
Юристу
Гражданское право (10)
Семейное право (3)
Трудовое право (6)
КоАП (3)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное