Perhimpunan - Perkalian dengan pemalar
Oleh kerana fail multimedia adalah besar dalam ingatan, anda mungkin perlu menukar nilai-nilai dalam eax untuk didarabkan pada daftar, dan hasil pendaftaran mestilah eax, dengan nilai sebelumnya ditindih. Walau bagaimanapun, jika anda perlu membuat pendaraban daftar dengan tetap, masukkan keputusan dalam daftar dan kemudian gunakan pintasan dengan arahan "lea".
Pengenalan ringkas
Bahasa pemasangan adalah bahasa peringkat rendah untuk komputer pengaturcaraan dan mula-mula dibangunkan pada tahun 1950-an. Mereka kebanyakannya dikenali sebagai bahasa pengaturcaraan generasi kedua. Satu ciri penting dalam bahasa Perhimpunan, adalah bahawa mereka menghapuskan banyak operasi rawan yang salah dan memakan masa yang diperlukan dalam pengaturcaraan generasi pertama.
Pendaraban dalam pemasangan
Dalam perhimpunan anda boleh kalikan dua nombor menggunakan arahan mul (nombor tidak ditandatangani) dan Imul. Ia digunakan seperti berikut:
name_registry mul
Prosesor meningkatkan kandungan eax atau kapak atau al (bergantung kepada saiz registri, yang diberikan dalam parameter) dan kemudian menyimpan hasil dalam eax, kapak, edx atau dx.
Menggunakan mul cukup menyusahkan kerana anda perlu memindahkan nilai yang didarabkan untuk eax, nilai untuk membiak ke registri yang berbeza dan pendaftaran yang memegang hasilnya mesti eax.
Walau bagaimanapun, jika anda hanya mahu melipatgandakan registri secara malar dan meletakkan keputusan dalam registri pilihan anda, anda boleh menggunakan pintasan dengan arahan "lea" (memuatkan alamat berkesan). Arahan ini digunakan untuk mendapatkan alamat data dalam ingatan.
lea destination_registry, [memory_address]; letakkan memory_address dalam destination_registry
Keuntungan besar ini ialah, dengan menggunakan pemalar, anda tidak perlu menggunakan alamat memori tambahan. Bayangkan anda ingin mengalikan ecx sebanyak 7 dan menyimpan hasil dalam ebx, arahannya ialah:
lea ebx, [ecx * 7]
Nota: Anda tidak boleh mengalikan dua pendaftaran bersama menggunakan pintasan ini.