Jawaban saya untuk pertanyaan ini telah berkembang relatif baru-baru ini. Jawaban yang ada mencakup apa yang akan saya katakan di masa lalu. Sebenarnya, ini masih dicakup oleh jawaban atas - titik "menghargai konstruk dalam pemrograman tingkat tinggi", tapi ini adalah kasus khusus yang menurut saya layak disebutkan ...
Menurut posting blog Jeff Atwood ini , yang merujuk pada penelitian, memahami tugas adalah masalah utama dalam memahami pemrograman. Pemrogram pelajar memahami bahwa notasi hanya mewakili langkah-langkah yang diikuti oleh komputer, dan alasan demi langkah, atau kalau tidak terus menerus menjadi bingung dengan analogi yang menyesatkan dengan persamaan matematika dll.
Nah, jika Anda memahami yang berikut dari 6502 assembler ...
LDA variable
CLC
ADC #1
STA variable
Itu benar-benar hanya langkah-langkahnya. Kemudian ketika Anda belajar menerjemahkannya ke pernyataan tugas ...
variable = variable + 1;
Anda tidak perlu analogi yang menyesatkan dengan persamaan matematika - Anda sudah memiliki model mental yang tepat untuk memetakannya.
EDIT - tentu saja jika penjelasan yang Anda dapatkan LDA variable
pada dasarnya ACCUMULATOR = variable
, yang persis seperti yang Anda dapatkan dari beberapa tutorial dan referensi, Anda akhirnya kembali ke tempat Anda memulai dan sama sekali tidak membantu.
Saya belajar 6502 assembler sebagai bahasa kedua saya, yang pertama adalah Commodore Basic, dan saya belum benar-benar belajar banyak tentang itu pada saat itu - sebagian karena ada begitu sedikit yang harus dipelajari, tetapi juga karena assembler hanya tampak jauh lebih menarik saat itu . Sebagian waktu, sebagian karena saya adalah seorang geek berusia 14 tahun.
Saya tidak merekomendasikan melakukan apa yang saya lakukan, tetapi saya ingin tahu apakah mempelajari beberapa contoh yang sangat sederhana dalam bahasa assembler yang sangat sederhana mungkin merupakan awal yang bermanfaat untuk belajar bahasa tingkat yang lebih tinggi.