Работа с массивом - Assembler (223122)
Формулировка задачи:
Здарова, ребят. Кто может объяснить, что будет в И что будет в EAX при выполнении этой команды:
Полный код:
Казалось бы, я разобрался с этим простеньким примером, но правильный ответ тут 32=2+2+4+4+6+6+8, но почему - я не понял.
EBX
при выполнении этой команды: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
LP: MOV EAX,[EBX+1]
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Решение задачи: «Работа с массивом»
textual
Листинг программы
00000101'00000100'00000011'00000010 and 00000000'00000000'00000000'11111110 ----------------------------------- 00000000'00000000'00000000'00000010
Объяснение кода листинга программы
- Задается двоичное значение первого числа:
00000101'00000100'00000011'00000010. - Задается двоичное значение второго числа:
00000000'00000000'00000000'11111110. - Происходит выполнение побитовой операции
ANDнад заданными числами. Результатом является число:00000000'00000000'00000000'00000010.