в архитектуре Intel 64 есть регистры rax..rdx, которые являются просто регистрами общего назначения A..D.
Но есть также регистры, называемые rsi и rdi, которые являются регистром "индекс источника" и "индекс назначения". почему эти регистры имеют фактические имена (по сравнению с просто A и т.д.)?
Что означает "индекс источника" и "индекс назначения"? И есть ли какое-то соглашение, в котором говорится, что эти регистры должны использоваться в определенных обстоятельствах?