![]() |
|
|
![]()
|
|
| scuter |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 13.6.2008 Репутация: 1 Всего: 1 |
первый вопрос о форматах файлов
есть такая директива format MZ — 16-битный формат, основной формат файлов .EXE в DOS. NE — 16-битный формат, использовался в Windows 3.x[2], OS/2 и MS-DOS LE — смешанный 16- и 32-битный формат, ранее использовался в OS/2 и Windows (VxD). LX — 32-битный формат, используется в OS/2. PE — 32- и 64-битный формат, используется в современных версиях Windows начиная с Windows NT и Windows 95. COFF, MS COFF, MS64 COFF — объектные файлы. ELF, ELF64 — исполняемые файлы в UNIX-подобных системах. ARM — разработка энтузиастов, можно найти на официальном форуме. Binary — файлы произвольной структуры. Указав смещение 100h (org 100h), можно получить исполняемый файл формата .COM. Также, с помощью format binary можно компилировать файлы данных. вроди бы всё просто пишешь формат и компилтся тот файл который нужен, но оказывается что всё савсем не так, эта директива меняет всю структуру построения программы к примеру, если мы пишем такой формат
то нам надо ещё вставлять секшансы
и хрен его знает какой синтаксис у этих директив и что это означает если пишем
то унас добавляются ещё какие то директивы
с MZ более менее обьеснено segment, entry, stack, heap только вот как пользовать эти сегменты ? как сегменты распределюутся по процессору? для чего они нужны? какие у них ограничения? следующий вопрос по дерективе org что это за директива, что она делает, почему разные значения этой директивы формируют разнае форматы файлов что самое интересно если поставить org 100h и запустит .com программу с dos(именно dos не MS-DOS) то можете забыть про сегментные регистры вообще они нахрен не работают директивы use16 use32 use64 что эти дерективы делают на сколько мне известно команды 32 это те же самые комманды что и 16 только дополненые комманды 64 это уже другие команды скажите когда и как эти дерективы использовать и что они в конце концов делают директива alpha что это за директива что она делает, что означает переменные директивы struc, virtual на сколько я понал эти директи создают вирлуальную модельданнах то есть у меня есть переменная f_string db 256 dup(0) в ней первые 4 байта что то означают потом ещё 2 байта что то означают потом 8 байт что то означают и так далее и для того чтобы я не делал лишних действий
для того что бы определить адрес нужных данных мне нужно использовать эти директивы только вот они не работают если использовать документацию скажите как мне эти дерективы использовить, для того чтобы грамотно организовать даннае? |
||||||||||
|
|||||||||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |