Tuesday 8 January 2013

Computer Languange - Translation And Startup






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.


Translating Pseudoinstructions

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 lagiUpper ( 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 mayatidak 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 baranganMalah, 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 petunjukseolah-olah mereka array diadakan di alamat penunjukSebagai 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
   -bit yang terdahulu perkataan arahankeadaan nilai
   -Boleh mengelakkan cawangan atas arahan tunggal




Yu Hong Sheng
B031210099

No comments:

Post a Comment