Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
pavel911
6 / 6 / 2
Регистрация: 02.08.2014
Сообщений: 119
1

Имена и адреса

07.12.2014, 18:05. Просмотров 248. Ответов 1
Метки нет (Все метки)

Добрый вечер. Компилятор обрабатывает переменные как адреса памяти. Возник вопрос, как именам переменных сопоставляются адреса? Например, вместо "a" в инструкции "inc a" по идее должен быть подставлен адрес памяти. Откуда он берется? Есть какая-то специальная таблица?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
typedef unsigned char BYTE;
 
void main()
{
    BYTE a = 10;
    BYTE b = 0;
 
    _asm
    {
        inc a  //-> inc byte ptr[a]
            dec b //-> dec byte ptr[b]
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2014, 18:05
Ответы с готовыми решениями:

Как сделать что бы данные хранились с адреса 900h а выводимые результаты с адреса 1000h?
Исходные данные хранятся в памяти с адреса 0900H, вычисление выражения производится на Ассемблере,...

Вывести имена пользователей, компьютеров и их IP-адреса из AD
Собственно вопрос в названии темы. Вывести все данные необходимо в файл csv, фильтр. Установить...

По заданному городу или штату найти имена и адреса
Проблема такая, что нужно вывести на экран список имен и адресов всех тех кто живет по одинаковому...

Написание DPI скрипта Juniper SRX240h для блокировки сайтов (IP адреса, имена)
Есть список запрещенных сайтов, более 24 000 Задача блокировать эти сайты Я так понимаю с помощью...

Имена и домашние адреса студентов, сдавших экзамен по математике на "4" и "5"
Помогите пожалуйста с программой, не пойму как делать Добавлено через 1 час 56 минут Вот код с...

1
sh2ezo
1126 / 260 / 9
Регистрация: 11.06.2010
Сообщений: 1,050
08.12.2014, 15:06 2
компиляторы разные бывают и переменные разные. например, "a" может быть локальной переменной или глобальной. Соответственно, локальную переменную отсчитывают от EBP(традиционно, но необязательно), а глобальную можно считать, как левая нога захочет. Если компилятор умеет, то может вообще не хранить ничего в памяти, а работать чисто с регистрами. Смещения также высчитываются по-разному, т.к. выравнивания и т.д. Проще открыть исходники какого-нибудь компилятора опен-сорсного

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2014, 15:06

Извлечь имена полей из таблицы и имена таблиц из базы данных
Здравствуйте. Прошу помочь с вопросом. Какой должен быть SQL запрос, чтобы получить имена полей...

Как изменить обычные имена массивов на имена с указателями?
надо чтобы указатели использовались #include <iostream> #include <cstdlib> #include <ctime>...

Укоротить длинные имена до размера K символов, а те имена, которые короче K символов дополнить восклицательными знаками
Дан список из N имён. Необходимо укоротить длинные имена до размера K символов, а те имена, которые...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru