- 1
- 2
- 3
- 4
- 5
- 6
знает кто как шестнадцатеричные числа в np++ подсвечивать?
а то у меня даже вот такое
v
memset [@T1] 3A98h 0h
не подсвечивает.
пробовал в дополнительные символы чисел добавлять, не хочет.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
знает кто как шестнадцатеричные числа в np++ подсвечивать?
а то у меня даже вот такое
v
memset [@T1] 3A98h 0h
не подсвечивает.
пробовал в дополнительные символы чисел добавлять, не хочет.
и течёшь
Аппаратный strncpy тоже будет?
И даже небо, даже Аллах
Правда не придумал семантики ещё, и как это будет взаимодействовать с ОС.
> Vytvořil Pixelfield, s.r.o. - tvorba webových stránek
Прекрасный язык
Процесс юзает инструкции malloc и free. При этом проц помечает занятые блоки pid'ом процесса. Тут можно даже аппаратно проверить, что процесс лезет только к своим блокам.
Когда ось хочет убить процесс она вызывает инструкцию freall.
Сама ОС выделяет память для себя под pid 0.
Тегированную память или какой-нибудь HMAC придётся юзать?
signed_range<int> m
Каждый диапазонный регистр помимо адреса и размера может содержать адрес счётчика. Если адреса нету или счётчик равен 1 -- мы владеем куском памяти эксклюзивно.
Инструкцией split <rd1>, <rd2>, <rs>, <offset> можно разбить диапазон на джва. Если rd1 или rd2 не пусты или offset слишком большой -- исключение.
Инструкцией join <rd>, <rs1>, <rs2> можно склеить диапазон обратно (при этом нельзя клеить диапазоны, управляемые разными счётчиками, будет исключение).
Инструкцией share <rd>, <rs>, <rc> мы можем получить в rd расшаренную копию rs, управляемую счётчиком в диапазоне rc. При этом мы теряем владение над диапазоном rc, оно уходит процу.
Инструкцией drop <r> мы можем уменьшить счётчик на 1 и очистить регистр (проебать последнюю копию нельзя, будет исключение).
Инструкцией own <rc>, <rs> мы можем перевести диапазон rs обратно в эксклюзивный режим (счётчик должен быть 1). Заодно мы получим rc обратно.
Инструкцией my <rs> можно проверить владеем ли мы диапазоном (выставит флажок).
При старте проца в одном из регистров лежит эксклюзивный диапазон на всю оперативку, а остальные пусты.
Видимо для own надо потребовать чтобы вернули диапазон именно к такому виду, в каком он был на момент share.
Блин, надо эту хуйню формально доказывать, всяко какие-то косяки есть.
Ещё аппаратную поддержку связных списков и динамической типизации. Получится лисп-машинка)))
А её по-любому делать, иначе насрут в диапазон как в байты и порушат все инварианты.
З.Ы. Внешняя DRAM вот к сожалению без лишних битов.