| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > опкод |
| Автор: Сisa 11.2.2015, 23:47 |
| На одном из сайтов читаю: Адреса байты имена операнды комментарии 00401000 6A 00 push 0 ; /Style = MB_OK|MB_APPLMODAL 00401002 68 00304000 push 00403000 ; |Title = "It's the first your program for Win32" 00401007 68 21304000 push 00403021 ; |Text = "Assembler language for Windows is a fable!" 0040100C 6A 00 push 0 ; |hOwner = NULL 0040100E E8 07000000 call < jmp.&user32.MessageBoxA> ; \MessageBoxA 00401013 6A 00 push 0 ; /ExitCode = 0 00401015 E8 06000000 call < jmp.&kernel32.ExitProcess> ; \ExitProcess 0040101A FF25 08204000 jmp dword ptr ds:[< user32.MessageBo> ; user32.MessageBoxA 00401020 FF25 00204000 jmp dword ptr ds:[< kernel32.ExitPro> ; kernel32.ExitProcess Вопрос: 6A, 68, E8... когда то давно, на заре программирования, наверное, люди изучали опкоды... сейчас изучают асм(ы). Опкоды это уровень еще больше приближен к машине, верно?, интересно мануал по ним есть? совсем для полного чайника, в том плане, что не просто что означает тот или иной, а прямое написание программ (минуя mov add inc int push и pop) |
| Автор: tzirechnoy 12.2.2015, 19:47 | ||||
Примерно настолько жэ, только менее удобно.
Есть. Более того, обычно не просто есть -- но и открыто опубликован. Это практически по всем архитектурам, ну за исключением мудаков вроде разработчиков эльбруса или каких-то узкоспецыальных вещей, под которые и не напишэшь ничего, поскольку у тебя всё равно ни программатора ни чистого чипа не будет. |
| Автор: Сisa 13.2.2015, 00:30 |
| tzirechnoy - спасибо, мануала не нашел, похоже не там, да еще и не так искал, но из Вашего ответа и в результате поиска понял - скорее всего моего энтузиазма не хватит на опкоды :( По крайней мере сейчас. Значит малюсенькими шажочками надо читать/осваивать хотя бы то, что хоть немного поддается пониманию кустаря, отставив на потом: "программы на Форте и других стековых языках сложно читать и вникать в их суть. Всё дело в том, что каждый раз при чтении блока кода, в котором вводится новое слово, приходится интерпретировать в воображении программу и на каждом шагу представлять, какие элементы в каком порядке находятся на стеке и как функции с ними работают." И возможно мануала на русском, где совершенно понятно и в достаточной мере была бы изложена интересующая тема попросту нет, хотя возможно позже все же отыщутся какие то фрагменты. |
| Автор: tzirechnoy 13.2.2015, 03:59 |
| После того, как напишэшь свой первый forth -- программы на нём начинают читаться более-менее... PS Да, кстати, если надо полегче -- возьми ARMовский ассэмблер. Под него сейчас есть куча домашнего жэлеза, те жэ телефоны под андроидом, тот жэ raspberry -- однако сам ассэмблер гораздо проще и цэлостней. |
| Автор: Сisa 13.2.2015, 12:24 |
| "Один из важнейших принципов при самостоятельном изучении языка Когда вы что-либо делаете самостоятельно, вам приходится прилагать гораздо больше усилий. Нужно самому все находить и исследовать. Нужна постоянная самодисциплина. Также при самостоятельно обучении вы приобретаете и оттачиваете многие полезные навыки, которые помогут вам достичь успеха в любом деле, за которое вы возьметесь. Поэтому помните, самостоятельность – это трудный путь. На нем встретится МНОГО подводных камней, которые могут разбить корабль вашей мечты вдребезги. И нужно быть очень осторожным и внимательным. Итак, при самостоятельном изучении языка очень важно уметь сосредотачиваться на главном и не делать второстепенного. Делать только те вещи, которые действительно будут давать значительные результаты." Вот бы найти такой текст, который можно читать без остановки и без дополнительного поиска в сети, и все было бы и понятно и выполнимо и доступно, применительно к языкам программирования даже попытался что то сделать, исходя из предпосылки что такого текста пока просто не существует, но теоретически его можно создать, и создал сайт, где можно не только читать, редактировать, создавать новые темы, разделы и описания ЯП. До открытия сайта обратился к знатокам по одному из языков, потому как создать в одиночку нечто подобное невозможно, не захотели даже взглянуть, не то что поделиться с миром своими знаниями, систематизировать, унифицировать и дополнить. Так что это "ВТОРОСТЕПЕННОЕ" гугление/поиски мануалов и примеров впереди, как у меня так и многих учеников. Надо полегче - ищи, может найдешь. А может и напишешь свой первый forth и получишь первые результаты. В сети есть все! ну или почти все. А Мекки ЯП нет! Будем искать |