помоему MOV EBX использует сегмент SS как базу по умолчанию. префикс замены сегмента DS: указать надо
а какого условие задачи
Найти поэлементно разницу массивов и сохранить в третий массив с использованием ассемблерной вставки
и каков размер элементов?
Использовала тип signed short int, это 16 бит, если не ошибаюсь
а какая длина массива?
тогда почему ты вычитаешь байты, а не слова?
Потому что в примере у препода было так написано
у примера какое условие? условия одинаковы? что у тебя что у препода?
так вы портите содержимое EBX загружая байт в BL mov bl, byte ptr......
То есть если я изначально адрес res помещу не в ebx должно сработать?
замените BL на DL например
или EBX на ЕDX
Помогло! Спасибо большое :)
только ebp через ss
как минимум 16, реализация вольна использовать любое допустимое стандартом
Регистр BL, в который записывается вычитаемое, часть регистра EBX, который используется для сохранения результата.
Ну и первая строка: mov eax, n ; без скобок, разумеется (массивы в стеке и при ошибке числа элементов будет классический buffer overrun )))
не трожь мертвую тему - пахнуть будет. давно ее уже вроде закрыли, кто желал ответил, кто мог - кодом подсабил
Добрался до решения. На насме да ещё таким стилем? Ну такое...
ты про что? кто добрался? что за стиль? ты про мой код?
До решения мертвой темы. Как думаешь, что будет, если тс, очевидный нуб в асме, предъявит такое преподу?
ничего плохого, его допилить под свой стиль и на сдачу. а какой у тя вариант решения данной задачи?
Имхо, надо было чуть подкорректировать имеющийся код с разъяснениями.
Обсуждают сегодня