народ помогите сделать условное ассемблирование как сделать так чтобы при установленном бите 1 в константе vid выполнялось условие. или просто как в условии написать если бит 1=1 то... так компилируется vid equ 1111b if ... сдесь код который должен компилироваться при установленном бите end if а так пропускается vid equ 1110b if ... сдесь код который должен компилироваться при установленном бите end if что надо написать вместо точек. не чего не получается. остальные биты в vid тоде используются но для других условий.
Не смущает то, что (vid or 1) всегда равно 1111b при заданных условиях, гуру? ----8<---- abcd008, Думаю, if vid and 1 поможет.
А не проще выделить отдельную переменную, равную 1? А переменную vid объявлять, как сумму какого-то числа и этой волшебной переменной
выделить можно, но тогда пользователям которые будут собирать программу предется изменять переменных 20, а так просто пару биты в одном месте
Кто, куда и что не катит? Код (Text): vid equ 1110b if (vid) and 1 display "vid and 1: true" else display "vid and 1: false" end if display 13, 10 if (vid) and 2 display "vid and 2: true" else display "vid and 2: false" end if display 13, 10 Если vid — численная а не символическая константа, скобки не нужны.
l_inc, Ага, программистская байка. Ходит, значится, программист с фонарём под глазом (т.е. его уже осудили аналогично) и ищет камень. Ибо настоящий киник, как и Диоген.
нет сначало я писал просто vid equ 1..2..3 ,а потом vid equ 01b.. но без скобок почему-то не работало. может это связано с версией fasm? я сейчас новую скачал и твой пример во всю использую. Спасибо.