Size: a a a

Ассемблер

2021 January 31

DB

Dima Bat in Ассемблер
чем это неправильно?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Dima Bat
чем это неправильно?
неправильно потому что люди скрывают об этом когда я у них спрашиваю "зачем тебе асм". ктото говорит "я на z80 кодил", кто то говорит что он элеетронщики в рпботы иногда сталеивается с этим. но то как сказал чел за которого ты топишь - мне не понравилось
источник

DB

Dima Bat in Ассемблер
да я не конкретно а в общем
источник

D

Den in Ассемблер
Saenro T
)))
Нет, так однозначно не сработает) Да и не нужно.
Всё гораздо проще:
Вот ты окружность рисовал? А не задумывался почему она уже нарисовалась каким-то цветом и без того, что ты описал выше? Хм... Видимо там уже прошиты какие-то цвета, не так ли? И ты каким-то из этих цветов уже рисуешь эту окружность?
В том коде, что рисует окружность, есть такая команда:
mov b,[bx][di], 64h
Что в исходнике выглядит так:
mov byte [di+bx], color
— именно эта команда выводит в адреса A000:0000-F9FF пиксель, цвет которого изначально был зашит производителем по смещению 64h. Почему выбрали 64h? Да потому что это более-менее яркий, нейтральный цвет похожий на белый. Все остальные цвета там бледные и мутные, так уж решил производитель по каким-то своим соображениям.
Если подитожить:
1. Зашил 256 цветов по индексам 0..255
2. Вывел пиксель mov [di], al — где al это твой цвет от 0 до 255. DI — адрес от 0 до F9FFh
Всё просто)
Ох, здорово, как все продумано, а я как раз сейчас размышлял об этом, почему там колор только 1 байт, а это значит просто индекс из 3c8h получается выводим в замапленную область видеопамяти! А я какой-то фигни понаписал :)
источник

D

Den in Ассемблер
Saenro T
)))
Нет, так однозначно не сработает) Да и не нужно.
Всё гораздо проще:
Вот ты окружность рисовал? А не задумывался почему она уже нарисовалась каким-то цветом и без того, что ты описал выше? Хм... Видимо там уже прошиты какие-то цвета, не так ли? И ты каким-то из этих цветов уже рисуешь эту окружность?
В том коде, что рисует окружность, есть такая команда:
mov b,[bx][di], 64h
Что в исходнике выглядит так:
mov byte [di+bx], color
— именно эта команда выводит в адреса A000:0000-F9FF пиксель, цвет которого изначально был зашит производителем по смещению 64h. Почему выбрали 64h? Да потому что это более-менее яркий, нейтральный цвет похожий на белый. Все остальные цвета там бледные и мутные, так уж решил производитель по каким-то своим соображениям.
Если подитожить:
1. Зашил 256 цветов по индексам 0..255
2. Вывел пиксель mov [di], al — где al это твой цвет от 0 до 255. DI — адрес от 0 до F9FFh
Всё просто)
Помню давным давно, у меня под дос была программа autodesk animator pro  вроде называлась, там помимо прочего, прежде чем рисовать, надо было набрать палитру, я только сейчас подумал, что это как-то связано было с ограничением видео режима, а в фотошопе кстати можно сохранять палитры 256 цветов, интересно какой там формат записи в rgb режиме, а так было бы удобно, набрал палитру, сохранил в файл и потом залил в участок памяти, откуда уже можно в видеокарту заливать
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Всем привет, прочитав учебник на тему 'Регистры процессора 8086', я  не понял в чем отличия AH От BH, CH....
Я знаю чем отличается AH от AL. Но AH от BH не понял
источник

ST

Saenro T in Ассемблер
Den
Помню давным давно, у меня под дос была программа autodesk animator pro  вроде называлась, там помимо прочего, прежде чем рисовать, надо было набрать палитру, я только сейчас подумал, что это как-то связано было с ограничением видео режима, а в фотошопе кстати можно сохранять палитры 256 цветов, интересно какой там формат записи в rgb режиме, а так было бы удобно, набрал палитру, сохранил в файл и потом залил в участок памяти, откуда уже можно в видеокарту заливать
Попробуй сохранить картинку в формате pcx. Там вроде будет то что ты ищешь.
Это будет статическая палитра для конкретной картинки. К примеру мне этого мало и приходится кодом генерить нужную палитру, что значительно уменьшает вес всей программы и при этом в нужный момент я получаю ту палитру, которая необходима.
источник

ST

Saenro T in Ассемблер
( ͡°Ĺ̯ ͡° )
Всем привет, прочитав учебник на тему 'Регистры процессора 8086', я  не понял в чем отличия AH От BH, CH....
Я знаю чем отличается AH от AL. Но AH от BH не понял
Тем что это попросту разные регистры и не зависящие друг от друга. И хоть все они общего назначения (делай с ними всё что пожелаешь), тем не менее у каждого из них есть свои "фишки", предназначение:
AX — accumulator;
CX — counter;
DX — data;
BX — base;
Остальные регистры, так же играют свою роль.
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Saenro T
Тем что это попросту разные регистры и не зависящие друг от друга. И хоть все они общего назначения (делай с ними всё что пожелаешь), тем не менее у каждого из них есть свои "фишки", предназначение:
AX — accumulator;
CX — counter;
DX — data;
BX — base;
Остальные регистры, так же играют свою роль.
Спасибо, теперь я более менее понял
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
И такой вопрос, например у меня есть калькулятор написанный на асемблере(fasm)
И я запускаю его на архитектуре x86, будет ли он работать на других архитектурах например6502
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Или же на ARm
источник

ST

Saenro T in Ассемблер
Там будет каша, это как написать текст на английском и дать его почитать немцу. Немец попросту зависнет.
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
А как это исправить?
писать под каждую архитектуру отдельный калькулятор?
источник

ST

Saenro T in Ассемблер
( ͡°Ĺ̯ ͡° )
А как это исправить?
писать под каждую архитектуру отдельный калькулятор?
И с учётом всех особенностей конкретной железяки.
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
То есть это очень очень много работы?
источник

(

( ͡°Ĺ̯ ͡° ) in Ассемблер
Я как понял например в языке Си не нужно оптимизировать под каждую архитектуру, это потому что в компиляторе Си само все компилируется под все виды архитектур или нет?
источник

ST

Saenro T in Ассемблер
Сама среда разработки всё подстраивает.
источник

d

disba1ancer in Ассемблер
( ͡°Ĺ̯ ͡° )
Я как понял например в языке Си не нужно оптимизировать под каждую архитектуру, это потому что в компиляторе Си само все компилируется под все виды архитектур или нет?
на сишке за тебя оптимизирует компилятор, и умные дядьки уже вложили в компиляторы кучу способов оптимизаций, что они оптимизируют похлеще чем напишет среднестатистический ассемблерщик, но всё таки не идеально и разнится от платформе к платформе
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
...и от компиля к компилю
источник

楽園松本 in Ассемблер
Den
Помню давным давно, у меня под дос была программа autodesk animator pro  вроде называлась, там помимо прочего, прежде чем рисовать, надо было набрать палитру, я только сейчас подумал, что это как-то связано было с ограничением видео режима, а в фотошопе кстати можно сохранять палитры 256 цветов, интересно какой там формат записи в rgb режиме, а так было бы удобно, набрал палитру, сохранил в файл и потом залил в участок памяти, откуда уже можно в видеокарту заливать
Аниматор про работал с 256 цветовой палитрой, bmp. В то время поддержка канального цветового представления практически отсутствовала.
источник