Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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... когда то давно, на заре программирования,  наверное,  люди изучали опкоды...
сейчас изучают асм(ы).  Опкоды это уровень еще больше приближен к машине, верно?,  интересно мануал по ним есть?
совсем для полного чайника, в том плане, что не просто что означает тот или иной, а прямое написание программ smile
(минуя 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 и получишь первые результаты. В сети есть все! ну или почти все. А Мекки ЯП нет!
Будем искать smile   с перламутровыми пуговицами.








Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)