Я наткнулся на следующие инструкции, найденные в src/lib/i386/rts/_sendrec.s
В самом начале выписываются следующие утверждения.
SEND = 1
RECEIVE = 2
BOTH = 3
SYSVEC = 33
SRCDEST = 8
MESSAGE = 12
Как я могу интерпретировать приведенные выше утверждения? Например, SRCDEST = 8, должен ли я читать его, поскольку SRCDEST имеет значение 8. Если это так, следующее утверждение не имеет для меня никакого смысла. Если нет, то что такое SRCDEST, MESSAGE, BOTH? это встроенные функции? Если да, то где они определены в файле .s?
Судя по комментариям, eax = dest-src
. Каковы значения dest и src? ebx = message pointer
. Означает ли это, что ebx является ссылкой на базовый указатель? Что касается mov ecx, BOTH ! _sendrec(srcdest, ptr)
, что именно здесь происходит? ценю, если кто-нибудь может пролить свет на следующие утверждения или указать мне ссылку или две. искал в Интернете в течение нескольких дней и не повезло найти информацию. Спасибо за ваше время.
__sendrec:
mov eax, SRCDEST(ebp) ! eax = dest-src
mov ebx, MESSAGE(ebp) ! ebx = message pointer
mov ecx, BOTH ! _sendrec(srcdest, ptr)