Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
#1

Вопрос - Assembler

25.09.2010, 17:08. Просмотров 356. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вопрос (Assembler):

Вопрос по графике - Assembler
Вопрос по рисованию в ассемблере. В режиме 6 адаптера CGA вывожу точку по заданным координатам (x,y). Некоторые координаты рисует,...

Интересный вопрос - Assembler
Регист ESP указатель стека, он указывает на последний помещенный в стек элемент. #include &lt;iostream&gt; using namespace std; int...

Вопрос по отладчику! - Assembler
Здравствуйте! :) Может этот вопрос кому-то покажется глупым. Но всё же, вот вопрос: Почему когда смотришь программу в отладчике то как...

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

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

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

2
turbanoff
Модератор
Эксперт Java
3981 / 3716 / 462
Регистрация: 18.05.2010
Сообщений: 9,291
Записей в блоге: 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
Привет! Вот еще темы с ответами:

Вопрос по assembler! - Assembler
Чем отличаются цифры от букв? Как их отличает программа при работе? Как правильно обьяснить, помогите пожалуйста.

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

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

Вопрос по организации кода - Assembler
Добрый день. Сейчас я занимаюсь написанием программы, и встретился вот с чем: В задаче нужно определить, нет ли в строке других...


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

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

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