Матрица с ячейкой в 2 байт - Assembler

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Как мне сделать трех мерную матрицу с ячейкой 2 байта. Ячейка 4 байта, ясно. mov edx,[eax+4*(1*9+2*3+0)] // b[1,2,0] 1-строка, 2-столбец, 0-глубина. А 2 байта mov edx,[eax+2*(1*9+2*3+0)] // b[1,2,0] 1-строка, 2-столбец, 0-глубина. Покажите пример, пожалуйста. Заранее благодарю.

Решение задачи: «Матрица с ячейкой в 2 байт»

textual
Листинг программы
lea ebx,b
xor edx, edx
mov dx, [ebx+2*(1*9+2*3+0)]
mov r,edx

Объяснение кода листинга программы

  1. lea ebx,b - это команда, которая загружает в регистр ebx адрес переменной b.
  2. xor edx, edx - это команда, которая устанавливает значение регистра edx в 0.
  3. mov dx, [ebx+2*(1*9+2*3+0)] - это команда, которая загружает в регистр dx значение ячейки памяти, адрес которой находится в регистре ebx. Значение в ячейке памяти вычисляется как 2(19+23+0), то есть как 2(18+6+0), что равно 2*24, что равно 48.
  4. mov r,edx - это команда, которая загружает значение регистра edx в переменную r.

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы