программирование на машинных кодах
| |
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 и наслаждается полным контролем над своим железом
Мои проекты: - Свободный и открытый клон 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, регулярно обновляется, последний релиз этого месяца. Я на нем даже простенький Тетрис писал, гемора было море, зато теперь можно называть себя супер программистом кулцхакером.
|
|
| |
|