Мне нужно написать код сборки, который возвращает c = | a - b |. Единственными заказами, которые мне разрешено использовать, являются:Показано, что c = | a - b | используя, используя ограниченные операции
INC
- Приведение значения, хранящегося в одном регистре.
DIC
- Уменьшение значения, хранящегося в одном регистре.
JNZ
-Перейти к пункту в коде (LABEL). Пока последняя операция была выполнена вблизи строки кода, не равна нулю.
HALT
- Остановить код.
Вы можете использовать столько регистров, сколько хотите (предпочтительнее использовать как можно меньше), а значения всех регистров инициализируются нулем.
Я пытаюсь это сделать, но, к сожалению, я все время застреваю. это то, что я в настоящее время:
Label 3
Dec a
Jnz label 1
Label 2
Inc c
Dec b
Jnz label 2
Dec c
Halt
Label 1
Dec b
Jnz label3
Label4
Inc c
Dec a
jnz label4
Halt
Это только для положительных чисел, у меня сейчас идея, что я должен сделать для отрицательных чисел.
Где вы застряли? Вы определили алгоритм? Можете ли вы сделать псевдокод или блок-схему? – Jester
Да, извините, отредактировано. – NotSure
Вы должны отредактировать его снова и исправить, чтобы использовать правильное форматирование. –