Просмотр полной версии : нужен макрос для sjasm
Кто подскажет Макроc для простого создания строки вида
<длина текста> <текст>
NovaStorm
25.03.2013, 22:42
string.len?
Пример приведи, не очень понятно, чего хочется.
string.len?
Пример приведи, не очень понятно, чего хочется.
чтото вроде
исходник
mess "message"
mess "1"
mess "22"
результат
defb 7,"message"
defb 1,"1"
defb 2,"22"
это способ записи когда перед текстовым сообщением идет его длина
NovaStorm
25.03.2013, 22:58
Как-то так наверное.
lua allpass
mess = function (s)
_pl(" defb "..string.len(s)..",\""..s.."\"")
end
mess("123")
endlua
macro text aaa
db .e-.b
.b db aaa
.e
endm
NovaStorm
26.03.2013, 08:03
Хы, про арифметику не подумал =)
psb, а поподробнее: как это работает?
да фиг знает как, набрутфорсил%)))
идея простая. делается такой кусок кода:
db end-start ;length
start:
db "text text text"
end:
получается, сначала вставляется байт длины (вычисляемый), потом сам текст. точки у меток - чтобы они были локальные (это в теории, я точно не в курсе, как оно работает, но результат получается правильный; кто хочет убедиться - читайте доку).
psb, да вот в том то и дело что читал :) нифига не понял.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot