vak: (бэсм-6)
Serge Vakulenko ([personal profile] vak) wrote2025-04-09 04:01 pm
Entry tags:

B calling conventions

Пока что для Би на БЭСМ-6 я пришёл к следующему соглашению о связях. Вызов фукнции:
    result = foobar(a, b, c)
транслируется как:
       ,xta, a
       ,xts, b
       ,xts, c
    14 ,vtm, 3
    13 ,vjm, foobar
       ,atx, result
Заметьте: на регистре 14 передаётся количество аргументов. Это нужно, чтобы функции с переменным количеством аргументов могли правильно отыскать в стеке свой первый параметр. Иначе printf() не сможет работать.

Получается односторонняя совместимость с Фортраном. Из Би можно будет вызывать фортрановские функции. Но не наоборот.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org