![]() |
|
![]() ![]() ![]() |
|
NECsoft |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.6.2007 Репутация: нет Всего: нет |
здравствуйте немогу понять почему затираються значения в двухмерном массиве, упростил прогу до максимума, а в проблеме так и не разобрался =(
помогите пожалуйста когда вывожу значения массива на экран то вижу вместо 123456, 145456 =( вот код...
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
||||
|
||||
NECsoft |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 24.6.2007 Репутация: нет Всего: нет |
незнаю, inc bx роли не сыграет, даже если представить код в таком виде, всеравно записывает какую то муть...
![]()
Добавлено через 9 минут и 59 секунд блин, пытался представить bx в виде bx*12 чтобы перейти на следующую "строчку", а надо было просто тупо прибавить - bx+12... тупо... вопрос снят ![]() |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
если бы ты внимательно прочитал то, что написано в вышеуказанной ссылке, то понял бы свою ошибку.
ассемблер, в отличие от языков высокого уровня, не имеет "умной" операции индексации по массивам. смещения в массивах задаются в байтах. точка. даже если ты напишешь A[2][3][4], то это будет просто A[2+3+4], т.е. A[9]. причем это будет не 9-ый элемент массива, а элемент, находящийся в массиве со смещением 9 байт от его начала. именно поэтому в "твоем" коде присутствует такой кусок: чтобы перейти к следующей строке массива, нужно прибавить к "опорному" индексу, отвечающему за начало строки, размер одной строки массива в байтах. в твоем случае - 12. ps. пока писал, ты уже сам все понял. ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |