Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
2 / 2 / 0
Регистрация: 28.11.2011
Сообщений: 20

Пишу транслятор ассемблера, косвенная адресация

29.04.2012, 21:36. Показов 2039. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу упрощенный транслятор ассемблера на Java(язык реализации не важен).
Мой транслятор должен обрабатывать обрабатывать программу следующего формата:
Assembler
1
2
3
4
5
6
7
8
9
NAMESEG SEGMENT
...область команд
...
NAMEDATA    DB
DW
....область данных
....
NAMESEG   ENDS
END
Команды которые транслятор должен транслировать:
MOV регистр, регистр
MOV регистр, непосредственный операнд
MOV регистр, ОП(косвенная адресация)
MOV ОП(косвенная адресация), регистр
OR регистр, регистр
OR регистр, непосредственный операнд
OR регистр, ОП(косвенная адресация)
OR ОП(косвенная адресация), регистр
IMUL (косвенная адресация)
JG смещение
RET

Обработка директив - SEGMENT,END,ENDS,OFFSET,DB,DW

Вопрос: каким образом формировать объектный код (HEX) из того, что я считаю с файла?(я отдельно разбираю все метки, имена команд, операндов)
и вопрос по косвенной адресации, можете привести примеры,
вот такого типа OR регистр, ОП(косвенная адресация)
OR ОП(косвенная адресация), регистр
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.04.2012, 21:36
Ответы с готовыми решениями:

косвенная адресация
В ESI находится адрес начала строки mov start_adr, BYTE PTR ESI; почему на эту строку компилятор ругается? пишет что неверное...

Косвенная адресация
Составьте программу, которая пересылает содержимое регистра Dx в память. используйте косвенную адресацию с регистром Si. (TASM)

Возможна ли косвенная адресация для обмена с ymm регистрами?
Всем доброго времени! Правильно ли я понимаю что для инструкций movaps и аналогичным им нельзя использовать в качестве указателя...

4
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
30.04.2012, 08:11
Для начала изучите формат ассемблерных мнемоник. Можно с этих статей начать. Также программы svin'a обязательно скачайте. Там как раз есть примеры коссвенной адресации. Ну и PE формат изучайте. Или же вам com на выходе нужен.

Добавлено через 2 минуты
Вот для 16-битной адресации.
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
30.04.2012, 08:33
ahito1, вот ссылка на неплохой источник:http://www.intel.com/content/w... nuals.html
0
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
30.04.2012, 08:41
Цитата Сообщение от _lucius_
Ну и PE формат изучайте.
А кто сказал, что будет нужен именно вынь-РЕ? Жаба кроссплатформенна, так что не обольщайтесь. К тому же транслятор - это не компилятор и не "редактор связей" компоновщик. Кмк, предпочтительным выходным форматом будет всё-таки COFF/ELF
0
 Аватар для _lucius_
391 / 179 / 2
Регистрация: 14.03.2012
Сообщений: 443
30.04.2012, 09:05
Microsoft PE and COFF Specification
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.04.2012, 09:05
Помогаю со студенческими работами здесь

Транслятор с ассемблера
Интересует такая вот тема : компиляторы с языков высокого уровня могут быть написаны на самих же языках высокого уровня. Интересно на чём...

Косвенная адресация
Как тут сделать обращение к элементам массива через косвенную адресацию?#include <iostream> /* run this program using the...

Косвенная адресация
здравствуйте, друзья! вопрос такой, есть таблица из 2ух столбцов: А - код товара, В - стоимость. указывая в ячейке Е1 код товара,...

Косвенная адресация объектов
Здравствуйте есть необходимость собрать адреса созданных объектов в массив количество их известно . ну к примеру 5 штук. QObject ** Obj...

Косвенная адресация в T-SQL
Опять я со своими проблемами… На этот раз у меня не база данных, а скорее БАНК данных, т.е. структура не соответствует правилам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru