![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 01.03.2013
Сообщений: 39
|
![]()
Здравствуйте, объясните пожалуйста почему
при выводе на консоль в переменной e число - 12928, а в переменной f - 180892288, а не 128(ebx+2, второй элемент от нуля)? Код:
1 1 50 50 12928 180892288 Если можно поподробнее. С Уважением Алексей. Последний раз редактировалось Stilet; 06.03.2013 в 21:50. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]()
а вот это Вам ни о чем не говорит?
Код:
Правильно поставленная задача - три четверти решения.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
![]()
Alexey_68, попробуйте все переменные dword`ами объявить.
|
![]() |
![]() |
![]() |
#4 | |
Пользователь
Регистрация: 01.03.2013
Сообщений: 39
|
![]() Цитата:
На этом остановился... |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
![]()
Что-то насчёт двордов херню я сморозил.
Alexey_68, у Вас массив байт, вы кладёте в переменные e и f 2 и 4 байта. Вот и вывод соответственный. Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 01.03.2013
Сообщений: 39
|
![]()
я просто подумал что если я кладу в WORD (2 байта по адресу ebx со сдвигом 2)mov ax, word ptr [ebx]+2,
то я получу 2 байта - BYTE ar[6] = {1,12,128,50,200,10}; числа 128 и 50, а DWORD (mov eax, dword ptr [ebx]+2) - 128 50 200 100 четыре байта и на выводе 12850 12850200100 и в каком отладчике (компилирую codegear c++ 2007) посмотреть в оле? |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
![]() Цитата:
вы в регистр ax загружаете два байта из памяти по данному адресу, в первом из которых находится 128, а во втором 50, т.е. в регистр al попадет 128 (80h), а в регистр ah попадет 50 (32h). А это означает, что в регистре ax находится 3280h = 12928. со второй переменной аналогично, но с поправкой, что там считывается 4 байта...
Правильно поставленная задача - три четверти решения.
|
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 01.03.2013
Сообщений: 39
|
![]() Цитата:
С Уважением Алексей. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ip адресация | Якъ | Помощь студентам | 3 | 24.07.2012 08:18 |
WP и адресация... | Maksimall89 | WordPress и другие CMS | 1 | 10.01.2012 20:03 |
линейная адресация | геннадий522 | Visual C++ | 1 | 16.12.2011 19:46 |
адресация в формулах | andrewx | Microsoft Office Excel | 2 | 29.06.2009 17:44 |
StringGrid:=адресация | Nemesisking | Компоненты Delphi | 12 | 02.03.2007 02:20 |