This is my code.Как правило, рекомендуется использовать как можно меньше регистров?
Я пишу как программу в сборке x86, которая вычисляет среднее значение четырех классов. В настоящее время я использую четыре регистра (RAX
,, RCX
и RDX
) для хранения четырех разрядов, которые указаны в моем разделе .data
. У меня также есть quot
, rem
, total
и ans
инициализированы 0.
Мой общий подход к этой цели является добавление четырех регистров вместе и хранить в общей сложности в переменной total
. Я изначально собирался просто сохранить общее количество в RAX
, но потом я решил сохранить его в переменной, чтобы я мог повторно использовать RAX
и RDX
.
Это хорошая идея или я просто генерирую больше кода для себя? Я возвращаю регистры и RDX
в 0, так что я могу использовать их для расчета моего деления (всего/4). Книга, за которой я следую, использует регистры и RDX
, поэтому я подумал, что это то, что я должен был делать.
Код не завершен, поэтому на последней строке игнорируется IDIV
.
segment .data
a dq 100
b dq 57
c dq 74
d dq 23
quot dq 0
rem dq 0
total dq 0
ans dq 0
segment .text
global main
main:
mov rax, [a]
mov rbx, [b]
mov rcx, [c]
mov rdx, [d]
add rax, rbx
add rcx, rdx
add rax, rcx
mov [total], rax
mov rax, 0
mov rdx, 0
mov rax, [total]
mov rdx, 0
http://stackoverflow.com/help/mcve – xxbbcc
Пожалуйста, поместите свой код в вопрос, а не привязывайте его к правилам сайта. –
@EliSadoff извините, было просто сложно ввести код сборки из-за расстояния, которое я использовал. Я сейчас поработаю над этим. – Onikouzou