Size: a a a

2021 April 13

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Это не инструкция, это директива fasm.
Инструкция есть stos (stosb, stosw, stosd).
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Конкретно что должен делать макрос?
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
И какие параметры ему передаются?
источник

n

nano in pro.asm
Попробу описать.

Вообщем я вызываю макрос внутри другого.

Первый выглядит примерно так
macro test1 [arg] {

  if arg = 0
     test2 2
  else if arg <= $FFFF
     test2 1
  end if
}


Второй уже так.

macro test2 bit {
 
  store byte bit at adr1
}



Далее где вызывается первый макрос в коде.

;Начало кода
adr1:
rb 64

test1 $AF
test1 $5
test1 $DF45
;...

adr2:
rb 64


Пишу по памяти с телефона, поэтому могу ошибиться. Вот я урезал версию моего макроса. Проблема в том, что я не могу перезаписать директивой store по адресу после нее, но до ее вызова могу. Тобишь во втором макросе
store byte bit at adr1 сработает, а store byte bit at adr2 нет
источник

n

nano in pro.asm
Забыл добавить еще, что после каждого store должен идти adr+1 byte но не суть это не важно
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
А почему этот макрос нельзя поместить после метки adr2 и rb?
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
В теории можно сделать ещё и так. Макрос делает не store, а db и потом rb 64-($-test_start)
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Вообще, в fasm много стрёмных моментов, когда нельзя сделать то, что хочется или что-то работает с нюансом. Если нельзя писать вперёд, значит нельзя. Либо придётся танцевать с бубном и как-то изголяться, но всё равно будет не на 100% так, как хочется.
источник

n

nano in pro.asm
Потому что там где он вызывается, на месте записываются данные
источник

n

nano in pro.asm
И мне чисто эстетически нужно эти данные положить в самый конец
источник

n

nano in pro.asm
Просто мне казалось, что store, раз он работает в самом конце (после компиляции) , то ему должно быть пофиг где какой адрес
источник

n

nano in pro.asm
Ну я сделал танец с бубном, макросом сделал вывод внутри virtual, а после вторым store в самом конце из него копирнул куда надо
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Кто сказал, что в конце? На этапе компиляции.
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Да, норм вариант.
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Но в конце надо макрос добавлять только.
источник

EK

Eugene Krasnikov (ᴊɪ... in pro.asm
Хотя я не изучал этот момент, но по логике ты же можешь его в if вставить.
источник

n

nano in pro.asm
Там просто другой макрос, с другими функциями, я оставил оболочку для примера чисто
источник

n

nano in pro.asm
Видно не правильно понял документацию. Лан в любом случае разобрался. Пасиб
источник
2021 April 15

MK

Matvey Korobieinikov in pro.asm
Помогите пожалуйста, пишу лабараторную на ВинАпи и вот задание: На языке Ассемблер написать функцию формирования строки символов, соответствует бинарном представлению 32-х разрядного числа. используя эту функцию, вывести на экран состояние сегментных регистров и регистра флагов. Вообще не могу понять как это реализовать, кто-то может кинуть код как это сделать
источник

ИП

Ипупуйе Плутин... in pro.asm
Дорого
источник