Size: a a a

Ассемблер

2021 September 09

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
или чего то недогоняю, или у кого то разные термины для меток и анонимных меток
источник

d

disba1ancer in Ассемблер
подобную конструкцию на фасме сделать можно?
jmp 0f
...
jmp 1f
...
0:
...
1:
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
ну да и пофиг, где надо поставлю _1f, или _0f и буду обращаться к ним напрямую
источник

и

искрим in Ассемблер
Ну давай, используй в с++11 инициализацию структуры через точку
источник

A

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

d

disba1ancer in Ассемблер
суть в том что ты можешь иметь по несколько анонимных меток как снизу так и сверху, и из нескольких выбрать на какую прыгнуть, иногда бывает удобно, особенно если проблемы с придумыванием имён
источник

E

Entusiast in Ассемблер
Возможный идентичный вариант:
@@:
       db @1
@1:
       db @2
@2:
       db @f
@@:
       db @b
@1:
       db @2
@2:
       db @f
@@:
       db @1
@1:
       db @2
@2:
       db @3
@3:    


1. Обсуждение https://board.flatassembler.net/topic.php?t=20783

2. Переход на обсуждение несколько лет назад: https://board.flatassembler.net/topic.php?t=4870

3. Абсолютно идентичный вариант с FASM, как на GAS:
define @f @f1
define @ff @f2
define @b @b1
define @bb @b2

macro @@ tail
       match label, @f1?
               label tail
       end match
       local anonymous
       @b3? reequ @b2
       @b2? reequ @b1
       @b1? reequ @f1
       @f1? reequ @f2
       @f2? reequ @f3
       @f3? reequ anonymous
end macro

struc dummy
end struc
repeat 3
       @@ dummy
end repeat
purge dummy    

Далее:
        jmp     @f2     ; -> 2
@@: ; 1
       jmp     @b      ; -> 1
       jmp     @f2     ; -> 3
@@: ; 2
       jmp     @b2     ; -> 1
@@: ; 3
       jmp     @b3     ; -> 1

(Макрос сделан только до @3, но можно с помощью цикла автоматизировать для всех меток. Просто, чтобы было понятно, что делает этот макрос)

И вот ещё вариант, который допускает определять несколько меток @1, @2, и т.д:
repeat 10

       macro @#% tail
               match label, @#%#f?
                       label tail
                       @#%#b? equ @#%#f?
               end match
               local anonymous
               @#%#f? equ anonymous
       end macro

       define @#%#f?
       @#%

end repeat    
Работает:
@1: ; a
       jmp     @1f     ; -> b
       jmp     @2f     ; -> c
       jmp     @1b     ; -> a
@1: ; b
       jmp     @1b     ; -> b
@2: ; c
       jmp     @2b     ; -> c
@1: ; d
       jmp     @1b     ; -> d
источник

d

disba1ancer in Ассемблер
ну второй макрос больше похож, на искомый эффект, но в гасе оно просто работает из коробки...
источник

E

Entusiast in Ассемблер
пф... Пару строк записать
За то, если не брать эти строки в счёт (нужду в их написании), в FASM больше удобств, чем в GAS
источник

d

disba1ancer in Ассемблер
в фасме мне нравится возможность определить virtual и структуры
источник

Y

Yura in Ассемблер
А что за сервер с индастриалом ?
источник

d

disba1ancer in Ассемблер
ттюх, вроде ещё жив, но мёртв
источник

d

disba1ancer in Ассемблер
ну и сборочка там так себе, по своему железу собирал...
источник

D

Dr.web in Ассемблер
адский босс....)
источник

Y

Yura in Ассемблер
Лунни
источник

D

Dr.web in Ассемблер
знаю что луни, сериал то называется так
источник

Y

Yura in Ассемблер
Угу
источник

D

Dr.web in Ассемблер
6 серию смотрел?
источник

Y

Yura in Ассемблер
Да
источник
2021 September 10

D

Den in Ассемблер
Ну вот родил наконец, мне это пол жизни стоило :)) Модуль для сложения Unsigned чисел парой eax:edx Делюсь! там правда определения минусов еще не совсем корректно работает, но суммы до 11 значных чисел точно верные, может и больше но я не тестировал!
источник