В принципе, возведение в квадрат значения регистра не сложно:
mov ax, [var]
mov cx, [var]
mul cx // square of answer is in DX:AX
Но я задумался - курс, который я изучаю, ассемблер для повышения призов очень высоко; разница даже на одну строчку меньше может стоить до 5 баллов.
Я понимаю, что это микрооптимизация, но будет ли следующий код работать так же?
mov ax, [var]
mul ax // is answer still in DX:AX ?
Я полагаю, гораздо более простой способ сформулировать мой вопрос: является ли AX (или AL / AH) допустимым параметром для команд mul
и imul
в сборке 8086?