[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Команды замените на соответствующие для Вашего МК:
main:
mov r1,parameter1
mov r2,parameter2
call function ;Функция должна сложить parameter1 c parameter2,
; результат отправить в r3, а r1 не испортить
........
function:
push r1 ;Сохраняем r1
add r1,r2
mov r3,r1
pop r1 ;Восстанавливаем r1
ret
Пример, разумеется, специально смешной (на деле все реализовалось бы двумя строчками безо всяких функций). Еще практикуется передача параметров через стек - С-компиляторы в основном именно так и делают, но это, как правило, занимает больше времени, т.к. операции с регистрами обычно вдвое быстрее, чем со стеком. Если пишете на АСМ, старайтесь не увлекаться этим способом.
Удачи!
E-mail: info@telesys.ru