Решение примера - Assembler (224428)
Формулировка задачи:
Здравствуйте. Помогите написать программу.
DX=(4*[0315]+3*[0513])^3-([0415]+[0417])^2
Заранее спасибо
Решение задачи: «Решение примера»
textual
Листинг программы
mov ax, word [0x0315] sal ax, byte 0x02 xchg bx, ax mov ax, word [0x0513] sal ax, byte 0x02 sub ax, word [0x0513] add bx, ax mov ax, bx mul ax mul bx xchg ax, bx mov ax, word [0x0415] add ax, word [0x0417] mul ax sub bx, ax
Объяснение кода листинга программы
- mov ax, word [0x0315] - Переменная 'ax' получает значение из слова, находящегося по адресу 0x0315.
- sal ax, byte 0x02 - Значение переменной 'ax' сдвигается вправо на 2 позиции (на 16-битном регистре).
- xchg bx, ax - Значения переменных 'ax' и 'bx' меняются местами.
- mov ax, word [0x0513] - Переменная 'ax' получает значение из слова, находящегося по адресу 0x0513.
- sal ax, byte 0x02 - Значение переменной 'ax' сдвигается вправо на 2 позиции (на 16-битном регистре).
- sub ax, word [0x0513] - Значение переменной 'ax' уменьшается на значение слова, находящегося по адресу 0x0513.
- add bx, ax - Значение переменной 'bx' увеличивается на значение переменной 'ax'.
- mov ax, bx - Переменная 'ax' получает значение переменной 'bx'.
- mul ax - Значение переменной 'ax' умножается на 16 (на 16-битном регистре).
- xchg ax, bx - Значения переменных 'ax' и 'bx' меняются местами.
- mov ax, word [0x0415] - Переменная 'ax' получает значение из слова, находящегося по адресу 0x0415.
- add ax, word [0x0417] - Значение переменной 'ax' увеличивается на значение слова, находящегося по адресу 0x0417.
- mul ax - Значение переменной 'ax' умножается на 16 (на 16-битном регистре).
- sub bx, ax - Значение переменной 'bx' уменьшается на значение переменной 'ax'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д