Вопрос может и примитивный, но нет описания на руском. Обьясните пожалуйста что на фасме означают квадратные скобки []?
Код (Text): fasm: mov eax, [ebx] masm: mov eax, dword ptr[ebx] fasm: abc dd 0 mov eax, [abc] masm: abc dd 0 mov eax, abc fasm: abc dd 0 mov eax, abc masm: abc dd 0 mov eax, offset abc Надеюсь, понятно
Я понял, что это связано с совместимостю типов, но какя разница тут? это abc dd 0 mov eax, [abc] и это abc dd 0 mov eax, abc прошу прощения я новичёк...
скобки говорят об адресации к памяти, например mov eax,666 положит в еах 666. mov [eax],666 положит 666 в ячейку памяти адрес которой лежит в еах это справедливо и для масма и для фасма и для тасма..
maestro-ant В масме никакой. В фасме в первом случае загрузишь данные из abc, во втором случае - адрес переменной abc.
IceStudent дополню tasm и wasm в этом подобны masm - a dd 555 mov eax, a mov eax, [a] mov eax, dword ptr a - равноценны, заносят в eax значение переменной a mov eax, offset a mov eax, offset [a] - заносят в eax адрес a mov eax, 666 mov eax, [666] -заносят в eax 666, причем: mov eax, dword ptr [666] - тоже, с-собака, и я как-то на этом подкололся, а чтобы зачитать содержимое по адресу 666 надо писать во как: mov eax, dword ptr [ds:666] бред, ИМХО. А fasm'овский синтаксис тоже не без греха... ближе всего мне был tasm'овский ideal, но... как говорили древние римляне consuetudo est altera natura - очень тяжко перехходить с одного на другой и обратно - и я его забросил.