Расширяем количество переменных, ну или что-то в этом роде.
В доп. памяти можно хранить int, float, указатели. Строки хранить нельзя, если хотите хранить строки, то нужно увеличить размер каждой ячейки буфера (00 00 00 00 00) и изменить множитель. Сейчас множитель 5, он определяется числом байт 1 ячейки (00 - байт). Размер 1 переменной 4 байта, по этому в буфере каждая ячейка записана в 5 байт, что бы было разделение между ними.
Число ячеек можно увеличить до бесконечности.
Что бы сохранить переменную юзайте 0ab1: @sVar 2 _bufVar _fromVar, где _bufVar это ячейка в буфере, а _fromVar та переменная которую надо сохранить.
Что бы загрузить переменную юзайте 0ab1: @gVar 1 _bufVar _toVar, где _bufVar так же ячейка в буфере, а _toVar переменная в которую надо загрузить инфу из буфера.
:sVar
//0ab1: @sVar 2 _bufVar _fromVar
0AC6: 2@ = label @Buffer offset
0@ *= 5
005A: 2@ += 0@ // (int)
0A8C: write_memory 2@ size 4 value 1@ virtual_protect 1
ret 0
:gVar
//0ab1: @gVar 1 _bufVar _toVar
0AC6: 1@ = label @Buffer offset
0@ *= 5
005A: 1@ += 0@ // (int)
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 1
ret 1 1@
:Buffer
hex
00 00 00 00 00 //0
00 00 00 00 00 //1
00 00 00 00 00 //2
00 00 00 00 00 //3
00 00 00 00 00 //4
00 00 00 00 00 //5
00 00 00 00 00 //6
00 00 00 00 00 //7
00 00 00 00 00 //8
00 00 00 00 00 //9
00 00 00 00 00 //11
00 00 00 00 00 //12
00 00 00 00 00 //13
00 00 00 00 00 //14
00 00 00 00 00 //15
00 00 00 00 00 //16
00 00 00 00 00 //17
00 00 00 00 00 //18
00 00 00 00 00 //19
00 00 00 00 00 //20
00 00 00 00 00 //21
00 00 00 00 00 //22
00 00 00 00 00 //23
00 00 00 00 00 //24
00 00 00 00 00 //25
00 00 00 00 00 //26
00 00 00 00 00 //27
00 00 00 00 00 //28
00 00 00 00 00 //29
00 00 00 00 00 //30
00 00 00 00 00 //31
00 00 00 00 00 //32
end // hex