Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Верховный Тюлень
47 / 14 / 3
Регистрация: 29.03.2015
Сообщений: 208
1

Работа с массивом

27.05.2017, 07:33. Просмотров 927. Ответов 2
Метки нет (Все метки)


Здарова, ребят. Кто может объяснить, что будет в EBX при выполнении этой команды:

Assembler
1
2
M:     DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29
LEA EBX,M
И что будет в EAX при выполнении этой команды:

Assembler
1
LP:  MOV EAX,[EBX+1]
Полный код:

Assembler
1
2
3
4
5
6
7
8
M:    DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29
       LEA EBX,M 
       MOV ECX,7
       XOR EDX,EDX
LP:   MOV EAX,[EBX+1]
       AND EAX,0FEh 
       ADD EDX,EAX 
       LOOP LP
Казалось бы, я разобрался с этим простеньким примером, но правильный ответ тут 32=2+2+4+4+6+6+8, но почему - я не понял.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2017, 07:33
Ответы с готовыми решениями:

Работа с массивом
9. Дан массив A(2*N). Постройте массивы с элементами, соответственно равными: а) a1 , aN+1 , ...

Работа с массивом
Здравствуйте, Вот какой вопросик появился: Допустим, у меня есть выборка из бд, которая...

Работа с массивом в СИ++
Нужно написать программу по вычислению массива(в функции). Сначала полученный массив сортируется, а...

Работа с массивом
Определить в одномерном целочисленном массиве количество различных элементов. Массив ввожу , а...

2
Модератор
Эксперт по электронике
7476 / 3677 / 1444
Регистрация: 01.02.2015
Сообщений: 11,454
Записей в блоге: 2
27.05.2017, 11:44 2
Лучший ответ Сообщение было отмечено Speed Fighter как решение

Решение

По 1-му вопросу ответ теоретический - в ebx будет адрес (смещение относительно ds) массива M. Но точное значение определяется расположением массива в коде программы и определяется на этапе компиляции. Глядя на отрывок кода сказать невозможно.

По 2-му вопросу.
В ходе выполнения цикла (строки 5-8) значение ebx не изменяется, значит из массива будет считываться одно и то же число ровно ecx раз.
Считываться в eax (строка 5) будет набор байт 2,3,4,5 - потому, что в ebx адрес байта 1, а в eax считывается с адреса ebx+1. Значит в eax будет число 05040302h.
После строки 6 в eax будет число 2 - т.к.
Код
00000101'00000100'00000011'00000010
and
00000000'00000000'00000000'11111110
-----------------------------------
00000000'00000000'00000000'00000010
В строке 7 содержимое edx суммируется с eax. Т.к. содержимое eax ни разу не изменяется в течение цикла (т.к. не изменяется ebx), то после завершения цикла в edx будет ecx3*eax6=7*2=14, где ecx3 - значение ecx после выполнения строки 3, eax6 - значение eax после выполнения строки 6.
1
3174 / 1750 / 467
Регистрация: 28.02.2015
Сообщений: 3,557
27.05.2017, 13:04 3
Speed Fighter, ЕВХ не изменяется, т
е. постоянно будет читаться двойка, итого правильный ответ 14
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2017, 13:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Работа с массивом
Всем привет. Необходимо реализовать допустим подсчет чего либо для нескольких людей (например...

работа с массивом
Здравствуйте, помогите уже битый день парюсь не могу разобраться : В общем из базы я получил...

Работа с массивом
Здравствуйте читающие! Как присвоить в массив все значения одного столбца? Есть ли такая...

Работа с массивом
Задание: 1) Дан массив целых знаковых чисел. Вывести на экран символы '*' в количестве, равном...

Работа с массивом
Мне нужна помощь В задании пользователь должен вводить числа и они будут добавляться в массив,...

Работа с массивом
use16 org 100h mov dx,mas mov cx, again: neg jna metka1 neg ...


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

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

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