Size: a a a

Ассемблер

2020 September 28

RS

Rusty Shackleford in Ассемблер
s54816
sizeof.ИМЯСТРУКТУРЫ автоматически создаётся фасмом. Можно сделать что-нибудь типа:

struc array spec* {
 match type[count],spec \{
   virtual
     . type
   end virtual
   rept count index:0 \\{
      \\.\\#index type
    \\}
 \}
}

xxx array RECT[3]

mov eax,[xxx.0.left]
mov ecx,[xxx.1.top]
mov edx,[xxx.2.right]
lea ecx,[xxx+sizeof.RECT*2]
да, я в кусре, просто иногда использую $ для разнообразия )
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Саша Брославский
Всем доброй ночи, киньте пожалуйста книги по ассемлеру, хотябы руководство. Очень интересно познать дзен ассемблера. Заранее спасибо
ищи тег book
источник

RS

Rusty Shackleford in Ассемблер
можно через виртуал сделать еще, наверное проще всего будет, но я в своих практиках стараюсь как можно меньше использовать возможностей фасма и больше чистого асма
источник

СБ

Саша Брославский... in Ассемблер
ок, спасибо
источник

RS

Rusty Shackleford in Ассемблер
6 инструкций virtual будет, первой завиртуалить общее пространство памяти где лежат все экземпляры, и в нем сделать еще 5 виртуалов на каждую структуру
источник

RS

Rusty Shackleford in Ассемблер
тогда получается доступ будет вообще без лишней арифметики указателей, просто по меткам
источник

s

s54816 in Ассемблер
Rusty Shackleford
можно через виртуал сделать еще, наверное проще всего будет, но я в своих практиках стараюсь как можно меньше использовать возможностей фасма и больше чистого асма
Я обновил макрос, можно ещё подумать на эту тему и получить настоящие массивы. Только какой в них смысл, если индекс всё равно обычно динамический?
источник
2020 September 29

RG

R G in Ассемблер
s54816
Всё она выводит, просто она по макроопределениям не ходит:
include 'macro/proc32.inc'
proc x
local thisislocal:DWORD
endp
call x
выхлоп symbols:
x: 0x0000000000000000, defined in ...
flag?1: 0x0000000000000000, defined in ...
loc?6: 0x0000000000000004, defined in ...
localbytes?4: 0x0000000000000004, defined in ...
parmbytes?3: 0x0000000000000000, defined in ...
x%: 0x0000000000000000, defined in ...
current?5: 0x0000000000000004, defined in ...
..var?7: -0x0000000000000004+ebp, defined in ...
^^^ А вот это локальная переменная, но она потеряла имя по пути, и его надо доставать из данных препроцессора. Поэтому я и говорю, что будет зависеть от реализации макросов.
да, имена переменных теряются, это плохо
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
мда, имя теряется/заменяется. надо инклуды править чтоб все нормс было в fas
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
а вот таким способом определять - норм все
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
почему так сразу не сделали ??? 🥴
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Rusty Shackleford
1_proc_var_1    equ qword [RBP-8]
1_proc_var_2   equ  qword [RBP-16]
к примеру, а в конце просто обнуляю директивы все
подключайся. в твоем варианте как символы определяются?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Rusty Shackleford
1_proc_var_1    equ qword [RBP-8]
1_proc_var_2   equ  qword [RBP-16]
к примеру, а в конце просто обнуляю директивы все
и с цифры метка не может начинаться вроде
источник

RS

Rusty Shackleford in Ассемблер
я без символов дебажу )
источник

RS

Rusty Shackleford in Ассемблер
для моего уровня программирования на асме пока этот вопрос еще не стоит так остро, по сему и не вникал в проблему еще
источник

RG

R G in Ассемблер
Rusty Shackleford
я без символов дебажу )
ну это до поры до времени, когда будут тысячи функций и переменных, как в ядре колибри
источник

RS

Rusty Shackleford in Ассемблер
R G
ну это до поры до времени, когда будут тысячи функций и переменных, как в ядре колибри
угу, согласен, весьма поверхностно знаком с этим когда немного касался отладки ядра в windbg
источник

RG

R G in Ассемблер
но bochs годится только для kernelmode отладки, с обычными прогами на фасме вопрос пока не полностью решен
источник

RG

R G in Ассемблер
кстати олю поставить надо
источник

RS

Rusty Shackleford in Ассемблер
раньше как-то люди обходились без отладочных символов
источник