Пятница, 19 Апреля 2024, 15:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум игроделов » Программирование » Низкоуровневое программирование » программирование на машинных кодах (самый быстрый среди всех)
программирование на машинных кодах
progermanДата: Воскресенье, 24 Января 2016, 00:38 | Сообщение # 1
был не раз
Сейчас нет на сайте
Итак начнем я хочу поговорить,про: как понимать машинный код(МК),как на нем писать проги и чем его компилить,как на МК перейти в ринг 0 без АПИ,как делать код на МК без АПИ. Пока хватит.
Понятие двоичного кода(личный опыт от меня):
Двоичный код имеет два числа 0-фалсе и 1-труе.
Числа в двоичном коде(ДК) идут следующим образом 00000000-0,00000001-1,00000010-2,00000011-3,00000100-4... пояснение-представим,что минимальное исло это 0,а максимальное 1 то 1=9 00000001=00000009,00000010=00000009+1=00000010.
Представим в виде схемы лампочек:00000001-выключены все кроме последней,10001100-включены первая,пятая и шестая лампочки,в компе тоже самое,но там вместо ламп устройства.
П.С: то про что я хотел бы поговорить я не все знаю так-что пишите чтото по этой теме и по тому про что я хучу говорить.
Итак десятичный код- тут как обычно минимальное число 0 ,а максимальное -9.
Продолжение следует(когда-то).


8Observer8Дата: Воскресенье, 24 Января 2016, 01:06 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Машинный код не удобно писать, поэтому придумали язык Ассемблера. Нужно взять документацию на ASM от Intel (есть на их сайте) и узнать, как команду MOV или ADD перевести в машинный код и какой бит команды за что отвечает.
GudleifrДата: Воскресенье, 24 Января 2016, 01:07 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
progerman, Ваша проблема в том, что Вы очень слабо понимаете устройство компьютера. И она усугубляется тем, что книжек о том "что там внутри" сейчас практически не выпускают. Но все-таки попробуйте Бек "Введение в системное программирование". Хоть и антиквариат (машин, там описанных, уже и в природе почти не существует), но, по крайней мере, правильную терминологию освоите.

Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Воскресенье, 24 Января 2016, 01:12
AlexRabbitДата: Воскресенье, 24 Января 2016, 03:31 | Сообщение # 4
старожил
Сейчас нет на сайте
Цитата Gudleifr ()
И она усугубляется тем, что книжек о том "что там внутри" сейчас практически не выпускают.

Из последних Ч.Петцольд - "Код. Тайный язык информатики" (скачать можно тут https://vk.com/doc10903696_277851797)
Да и более ранняя литература на эту тему, например Хисахико Хасэгава "Мир компьютеров в вопросах и ответах" тоже лежит в PDFниках по всему инету.
Сейчас есть даже Manga Guide to Electricity (Для тех кому робототехника и низкоуровневое ближе)


Нам требуются партнеры для продвижения и поддержки нашего ПО

Сообщение отредактировал AlexRabbit - Воскресенье, 24 Января 2016, 03:35
8Observer8Дата: Воскресенье, 24 Января 2016, 09:48 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Я по этим учился:
- "Архитектура компьютера", Таненбаум,
- Изучаем Ассемблер, Крупник
- Микроконтроллеры серии 8051: Практический подход, Магда
progermanДата: Воскресенье, 24 Января 2016, 09:58 | Сообщение # 6
был не раз
Сейчас нет на сайте
Чем компилировать машинны код?

Добавлено (24 января 2016, 09:58)
---------------------------------------------
Как на нем пеейти в ринг 0?

Добавлено (24 января 2016, 09:58)
---------------------------------------------
Без АПИ.


OpenGOOДата: Воскресенье, 24 Января 2016, 11:12 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Может сперва с классической литературы начать Питер Абель. Ассемблер и программирование для IBM PC?

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
GudleifrДата: Воскресенье, 24 Января 2016, 11:22 | Сообщение # 8
почти ветеран
Сейчас нет на сайте
progerman, я Вас послал к этой книжке не потому что там есть все нужные ответы, а потому, что Вам еще надо научиться задавать правильные вопросы.
Цитата progerman ()
Чем компилировать машинны код?
В него компилируют все компиляторы и ассемблеры. Писать сразу в кодах можно в любом гексовом редакторе. Удобнее всего - в DEBUG (входит в состав DOS, Windows).
Цитата progerman ()
Как на нем пеейти в ринг 0?
Написать свою Операционную систему или перепрошить BIOS.
Цитата progerman ()
Без АПИ.
Т.к. BIOS/OS у Вас будут свои, то и API будет только то, что напишите сами.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
OpenGOOДата: Воскресенье, 24 Января 2016, 11:27 | Сообщение # 9
почти ветеран
Сейчас нет на сайте
Пример простой программы в машинном коде. И кто в этом разберётся?)

B823010525008BD803D88BCB2BC890CB



Машинный код это для машин, языки программирования это для людей.


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]


Сообщение отредактировал OpenGOO - Воскресенье, 24 Января 2016, 11:35
GudleifrДата: Воскресенье, 24 Января 2016, 11:38 | Сообщение # 10
почти ветеран
Сейчас нет на сайте
Цитата OpenGOO ()
Пример программы
Раз кончается на CB - подпрограммы.
Умение читать код требуется в жизни программиста достаточно часто.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
OpenGOOДата: Воскресенье, 24 Января 2016, 11:53 | Сообщение # 11
почти ветеран
Сейчас нет на сайте
Цитата Gudleifr ()
Умение читать код требуется в жизни программиста достаточно часто.

Кто то с этим спорит?


Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
8Observer8Дата: Воскресенье, 24 Января 2016, 11:53 | Сообщение # 12
заслуженный участник
Сейчас нет на сайте
Цитата progerman ()
Чем компилировать машинны код?

Для начала научитесь свободно работать на компиляторе MASM и отладчике Ollydbg с использованием WinAPI. Документацию от Intel изучайте: Руководства для разработчиков приложений для 64- и 32-разрядных архитектур Intel

Цитата progerman ()
Как на нем пеейти в ринг 0?

Нужно было создавать тему здесь: www.wasm.ru/forum/


Сообщение отредактировал 8Observer8 - Воскресенье, 24 Января 2016, 11:57
GudleifrДата: Воскресенье, 24 Января 2016, 12:24 | Сообщение # 13
почти ветеран
Сейчас нет на сайте
Цитата 8Observer8 ()
Для начала научитесь свободно работать на компиляторе MASM и отладчике Ollydbg с использованием WinAPI.
Это не "для начала". Сначала коллеге еще нужно понять "Зачем?" и "Почему?"


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
OpenGOOДата: Воскресенье, 24 Января 2016, 13:13 | Сообщение # 14
почти ветеран
Сейчас нет на сайте
Зачем ему WinAPI, пусть ставит чистый DOS и наслаждается полным контролем над своим железом biggrin

Мои проекты:
- Свободный и открытый клон World Of Goo
- TrueEngine2D (2D игровой фреймворк основанный на FreeBASIC)

[GameMaker: Studio v1.4.9999]
FlyOfFlyДата: Воскресенье, 24 Января 2016, 13:43 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
Цитата OpenGOO ()
Зачем ему WinAPI, пусть ставит чистый DOS и наслаждается полным контролем над своим железом biggrin

Нафига DOS, нужно дальше по хардкору идти, вообще без ос, а только с загрузочной дискетой(можно через Virtual Box, там вроде бы тоже самое железо, что и у человека который его использует)
GudleifrДата: Воскресенье, 24 Января 2016, 14:32 | Сообщение # 16
почти ветеран
Сейчас нет на сайте
Цитата OpenGOO ()
Зачем ему WinAPI, пусть ставит чистый DOS
Было бы смешно, если бы не было так грустно.
Ведь, Windows оказался таким несуразным, что пришлось изобретать DirectX - по-сути, способ выключить API и рисовать, по-DOS-овски, прямо в экранную память. Впрочем это не единственный пример того, когда без Windows проще. Например, сколько ни тянули Ole - вернулись к XML.

Добавлено (24 января 2016, 14:32)
---------------------------------------------
Цитата FlyOfFly ()
нужно дальше по хардкору идти
Тоже грустная шутка. Помню, еще в прошлом веке читал какого-то японца, который делал себе Smalltalk-процессор. Причем, было такое ощущение, что новые версии этого процессора ему изготавливали за пару дней - в ближайшем центре бытового обслуживания. И то, что сейчас расплодились программисты, обитающие только в пределах одного обезьянника, похоже на декаданс.


Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.

Сообщение отредактировал Gudleifr - Воскресенье, 24 Января 2016, 14:32
XakepДата: Четверг, 18 Февраля 2016, 19:29 | Сообщение # 17
めちゃくちゃちゃ
Сейчас нет на сайте
Цитата progerman ()
Чем компилировать машинны код?

Шта? ничем, компиляторы транслируют код в машинный, бери HEX редактор и пиши в машинных кодах если надо.

Вообще зачем? возьми ассемблер, ведь ассемблер - это символичное представление машинных кодов, на кой тебе в машинных кодах писать.
Но а уж если все таки хочется именно в машинных кодах, то вот тебе статейка как на них писать.
gryzДата: Четверг, 28 Апреля 2016, 16:13 | Сообщение # 18
частый гость
Сейчас нет на сайте
Цитата 8Observer8 ()
MASM

Древнее говно мамонта от мелкософта, FASM отличный выбор, с макросами ого го, что сделать можно. На нем даже операционная система есть.
8Observer8Дата: Четверг, 28 Апреля 2016, 16:23 | Сообщение # 19
заслуженный участник
Сейчас нет на сайте
И FASM и MASM - это всё древнее говно. Просто MASM проще, можно даже макросы не юзать, чтобы понимать, как что работает. Для игр надо использовать C# + Unity (либо Unreal Engine или CryEngine)

Если просто интересно, как на низком уровне работает, то OllyDgd, документация от Intel и серия статей: Введение в крэкинг с нуля, используя OllyDbg


Сообщение отредактировал 8Observer8 - Четверг, 28 Апреля 2016, 16:26
gryzДата: Четверг, 28 Апреля 2016, 17:09 | Сообщение # 20
частый гость
Сейчас нет на сайте
Цитата 8Observer8 ()
И FASM и MASM - это всё древнее говно. Просто MASM проще, можно даже макросы не юзать, чтобы понимать, как что работает. Для игр надо использовать C# + Unity (либо Unreal Engine или CryEngine)

Если просто интересно, как на низком уровне работает, то OllyDgd, документация от Intel и серия статей: Введение в крэкинг с нуля, используя OllyDbg

Нее FASM, регулярно обновляется, последний релиз этого месяца. Я на нем даже простенький Тетрис писал, гемора было море, зато теперь можно называть себя супер программистом кулцхакером.
Форум игроделов » Программирование » Низкоуровневое программирование » программирование на машинных кодах (самый быстрый среди всех)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг