С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
1

Вопрос

25.09.2010, 17:08. Просмотров 374. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main() {
  int p[7] = {1,6,7,90};
  int a;
  _asm {
     LEA EBX,p
     MOV ECX,DWORD PTR [EBX]
     MOV a,ECX
  }
  cout << a;
  return 0;
}
Люди когда я вывожу то выводит 1 все ок. А когда добавляю к [EBX + 3] от так какайта фигня выводится. Добавил число и вывелось 1536 как так вышло? Я думал как в языке С++ если добавить *(p+3) то будет выведено 7 а не 1536.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2010, 17:08
Ответы с готовыми решениями:

Вопрос по TASM
У меня такой вопрос: можно ли в тасм работать так, чтобы результат работы открывался в окне, а не...

Вопрос по трасировке
Почему, когда объявлен vector dw 1,2,3,4,5,6,7,8,9,10 при трасировке видно только vector - 1...

вопрос о скорости
подскажите пожалуйста. какте операции выполняться быстрее копирование из одного источника в другой...

вопрос (прерывания).
Обьясните, пожалуйста, в общих чертах, что делаю эти функции. 01h 02h 09h 0Ah Спасибо.

Вопрос по графике
Вопрос по рисованию в ассемблере. В режиме 6 адаптера CGA вывожу точку по заданным координатам...

2
turbanoff
Эксперт Java
4020 / 3755 / 742
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
25.09.2010, 17:44 2
ну так ты же 3 не в Си-шном коде прибавляешь
в ассмеблере 1 это один байт. Всегда. То есть чтобы получить 7 надо прибавить (кстати в Cи 2, а не 3)
2 * sizeof(int)
скорее всего это 8.
1
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
25.09.2010, 20:00  [ТС] 3
Спс всё я понял как эта фигня работает все дело в типе. Прост меня путанула тема на С++
что типа арифметика указателей если написать от так допустим p += 1 то мы смещаемся на элемент вперед в массиве и ненад указывать цифру 4. Блин в учебнике нефига не понятно не напишут всё самому над искать.......
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2010, 20:00

Интересный вопрос
Регист ESP указатель стека, он указывает на последний помещенный в стек элемент. #include...

Вопрос по графике
При рисовании требуется получить содержимое байта (номер байта - в bx): mov al, es: После чего...

От чайника вопрос
если можно - помогите -- на картинке (это от игры) предлагаются четыре варианта IP-соединения....


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

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

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