Size: a a a

Ассемблер

2020 May 09

d

damagekidϡ in Ассемблер
Вычислять
источник

A

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

P

Prudya in Ассемблер
Помню в 2015 на первом курсе препод заставлял нас через досбокс запускать компилятор си и в нем писать код, когда рядом стоял тот же нетбинс. Даже его коллеги критиковали за этот подход. Хз из-за компилятора или из-за досбокса он постоянно сбрил и сохранял файлы через раз. Вот же он рад новому релизу.


Коммент с opennet.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
damagekidϡ
Я все задачи черз фпу делал
а как ты ветвление на fpu делаешь?
источник

ST

Saenro T in Ассемблер
Знаете, вот сколько сижу здесь, никто ни разу не предложил писать сразу мнемоникой в машинном коде, а ведь это так просто и быстро, не нужны никакие компиляторы (я ведь так и начинал писать программы в своё время). Всё сводится к тому, что вы создаёте файл нулевой длины, обозвав его *.com и начинаете заполнять этот com-файл с нуля сами, для чего вам нужен всего лишь hex-редактор типа HIEW с преобразованием машинных кодов в мнемонику. Поверьте так можно программировать. Единственная сложность будет там, где нет относительной адресации (адреса придётся прописывать ручками). Но этого вполне достаточно чтобы понять как работает программа на ассемблере и не спрашивать при этом какой компилятор ассемблера выбрать, потому как вы и без них можете обойтись.
источник

ST

Saenro T in Ассемблер
Ну и в помощь отладчик типа Insight.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Saenro T
Знаете, вот сколько сижу здесь, никто ни разу не предложил писать сразу мнемоникой в машинном коде, а ведь это так просто и быстро, не нужны никакие компиляторы (я ведь так и начинал писать программы в своё время). Всё сводится к тому, что вы создаёте файл нулевой длины, обозвав его *.com и начинаете заполнять этот com-файл с нуля сами, для чего вам нужен всего лишь hex-редактор типа HIEW с преобразованием машинных кодов в мнемонику. Поверьте так можно программировать. Единственная сложность будет там, где нет относительной адресации (адреса придётся прописывать ручками). Но этого вполне достаточно чтобы понять как работает программа на ассемблере и не спрашивать при этом какой компилятор ассемблера выбрать, потому как вы и без них можете обойтись.
ток это характерно для доса (а точнее для com программ, где код загружается с адреса 100h и начинает исполняться). а для винды линуха создали директвы, format pe, format elf, которые прописывают шапку pe сами, делают макросами секцию ресурсов, итд
источник

ST

Saenro T in Ассемблер
Речь идёт о понимании устройства работы программ на ассемблере, а не написании здоровенных приложений.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
кстати com программу можно делать многосегментной, как exe
источник

ST

Saenro T in Ассемблер
Да хоть бы и PE, при желании всё можно, но это, как по мне, уже больше для реверсинга... Где-то что-то изменить и посмотреть как это влияет на ход программы, так тоже можно изучать ассемблер на примере уже написанных кем-то кодов.
источник

ST

Saenro T in Ассемблер
Тем более HIEW поддерживает как 16, так и 32, и 64 OpSize.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
а вызнали что вин32 вин 64 можно выполнить в досе??? вот только размер этого кода очень маленький
источник

ST

Saenro T in Ассемблер
Нужно как-то использовать Kernel.dll и прочие, но я не пробовал)
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Saenro T
Нужно как-то использовать Kernel.dll и прочие, но я не пробовал)
не, все намного проще.
источник

楽園松本 in Ассемблер
Saenro T
Знаете, вот сколько сижу здесь, никто ни разу не предложил писать сразу мнемоникой в машинном коде, а ведь это так просто и быстро, не нужны никакие компиляторы (я ведь так и начинал писать программы в своё время). Всё сводится к тому, что вы создаёте файл нулевой длины, обозвав его *.com и начинаете заполнять этот com-файл с нуля сами, для чего вам нужен всего лишь hex-редактор типа HIEW с преобразованием машинных кодов в мнемонику. Поверьте так можно программировать. Единственная сложность будет там, где нет относительной адресации (адреса придётся прописывать ручками). Но этого вполне достаточно чтобы понять как работает программа на ассемблере и не спрашивать при этом какой компилятор ассемблера выбрать, потому как вы и без них можете обойтись.
Скорее всего будут сложности с адресами.
источник

楽園松本 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
кстати com программу можно делать многосегментной, как exe
Нет, так не получится
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
楽園松本
Нет, так не получится
ща попробую сделать. а потом будешь реверсом заниматься
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
ща попробую сделать. а потом будешь реверсом заниматься
эт я про вин32/64 в досе. а ком можно сделать многосегментной путем задания этих сегментов вручную.
источник

楽園松本 in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
эт я про вин32/64 в досе. а ком можно сделать многосегментной путем задания этих сегментов вручную.
Это очень философский вопрос: что есть сегмент
источник

楽園松本 in Ассемблер
Часто задают вопрос: чем отличается com от exe?

Предложите здесь ваше понимание. Интересно, как думаете вы, а не кто-то в интернет страницах и справочниках.
источник