![]() |
|
|
![]()
|
|
| Kronit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 28.9.2006 Где: МОСКВА Репутация: нет Всего: нет |
Здравствуйте..нужно решить задачу по сложению матриц, но вначале я решил попробовать просто с массивами и что-то не вышло(
только в результате мне выводится не получаемые значения, а ерунда...почему не могу понять.. И еще, можно ли реализовать сложение массивов без stos и lods или эти команды обязательны? подскажите плиз.. |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 8 Всего: 23 |
||||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Ну так обработка прерывания int 21 изменяет содержимое регистров общего назначения используемых в цикле.
-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Kronit |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 28.9.2006 Где: МОСКВА Репутация: нет Всего: нет |
Ну тогда надо сделать два цикла: один для сложения, 2-й для выведения массива на экран я переписал так:
Но почему он мне ничего не выдает, а лишь пустые символы вместо 6789 ?? Ткните меня носом в ошибку пожалуйста) |
||||
|
|||||
| anwe |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 8 Всего: 23 |
sgi1981,
Kronit, делать все можно и в одном цикле. Ошибка здесь:
Если у тебя di уже содержит адрес массима 3, то такая запись заносит элемент из третьего массива по адресу, равному адресу массива 3. И второе. Посмотри что делают stos к регистром di. Поэтому надо отвести и вернуть его:
|
||||||
|
|||||||
| Kronit |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 28.9.2006 Где: МОСКВА Репутация: нет Всего: нет |
anwe , СПАСИБО! Все работает теперь.
И еще вопрос: можно ли без команд stos и lods обойтись? т.е каким-либо образом обращаться к ЗНАЧЕНИЯМ элементов массива (а не их адресам) непосредственно -без стос, лодс.. ведь запись: add m1[si], 2 прибавит к адресу элемента массива двойку и m1[si] будет указывать на (si+2)й элемент. А если мне надо прибавить не к адресу, а к самому элементу двойку??? сори если замучил ламерскими вопросами.... Это сообщение отредактировал(а) Kronit - 10.12.2006, 23:30 |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 8 Всего: 23 |
Kronit, я же тебе уже писал, что можно без этих команд.
А для изменения элемента массива тебе сначало надо его взять. Он лежит у тебя в памяти. Как без адреса ты его возмешь? Можно варьировать по-разному, хоть написать в абсолютном зачении
Использовать можно любую. Почитай про это. P.S. Не прочтешь письмо, не отправленное по твоему адресу |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |