Assembler Pseudinstructions
Pseudoinstructions: figments of the assembler’s imagination
Ini adalah mudah arahan dalam bahasa himpunan yang melakukan tidak mempunyai bahasa
Mesin bersamaan langsung. Semasa pemasangan, penghimpun menterjemahkan psedudoinstruction setiap ke satu atau lebih bahasa mesin
arahan.
Small ertinya kuantiti yang boleh diwakili menggunakan 16 bit, dan big ertinya 32 bit. Upper ( big ) is the upper 16 bits of a 32 bit quantity. Penghimpun mesti memikirkan bagaimana untuk mendapatkan the upper 16 bits of a 32-bit value. Lower ( big ) is the lower 16 bits of the 32 bit quantity. Penghimpun mesti memikirkan lagi. Upper ( big ) and lower ( big ) tidak arahan sebenar.
Producing an object module
- Assembler ( or compiler ) menterjemahkan program kepada arahan mesin.
- Menyediakan maklumat untuk membina satu program yang lengkap
- Header : menerang kandungan modul objek
- Text segment : meneerjemahkan arahan
- Static data segment : data yang diperuntukkan bagi kehidupan program
- Relocation info : untuk kandungan yang bergantung kepada lokasi mutlak program dimuatkan
- Symbol table : definisi global dan Rujukan luar
- Debug info : untuk bersekutu dengan kod sumber
Linking Object Modules
1.Produces an executable image
-bergabung segmen
-Menyelesaikan label (menentukan alamat mereka)
-Rujukan Patch bergantung kepada lokasi dan luaran
2.Boleh meninggalkan kebergantungan lokasi untuk penetapan oleh loader berpindah
-Tetapi dengan memori maya, tidak perlu untuk melakukan ini
-Program boleh dimuatkan ke dalam lokasi mutlak dalam ruang memori maya
Loading a Program
1.Baca header untuk menentukan saiz segmen
2.Buat ruang alamat maya
3.Salin teks dan data dimulakan ke dalam ingatan atau entri set jadual halaman supaya mereka boleh
disalahkan dalam.
4.Sediakan hujah pada timbunan
5.Memula daftar (termasuk $ sp, $ fp, $ gp)
6.Lompat ke rutin permulaan
-Salinan hujah untuk $ a0, ... dan panggilan utama
-Apabila pulangan utama, melakukan syscall keluar
Arrays vs Pointers
Penunjuk boleh merujuk kepada item individu atau pelbagai barangan. Malah, array adalah hanya satu cara mewujudkan kedua-dua senarai barangan dan penunjuk untuk item pertama yang menyenaraikan dalam satu akuan.
Ini bermakna bahawa subskrip boleh digunakan dengan petunjuk, seolah-olah mereka array diadakan di alamat penunjuk. Sebagai C tidak ada memeriksa pelbagai terikat, ini adalah tidak selamat sepenuhnya.
1.Pengindeksan Array melibatkan
-Mendarabkan indeks oleh saiz elemen
2.Penunjuk sesuai langsung kepada alamat memori
-Boleh mengelakkan kerumitan pengindeksan
Example :
1.Menggunakan kod keadaan untuk hasil arahan aritmetik / logik
-Negative, zero, carry, overflow
-Bandingkan arahan untuk menetapkan kod keadaan tanpa menjaga hasilnya
2.Setiap arahan boleh bersyarat
-4 bit yang terdahulu perkataan arahan: keadaan nilai
-Boleh mengelakkan cawangan atas arahan tunggal
Yu Hong Sheng
B031210099
B031210099
No comments:
Post a Comment