2010-08-19 19 views
16

Üniversiteye bir kaç hafta içerisinde başladım (yazılım mühendisliği derecesi) ve ilk yılda okuyacağım modüllerden birinin 'mimarinin temelleri' ya da benzer bir şey olduğunu biliyorum; Temel olarak 'montaj' programlamayı öğreniyor.Montaj dili - Birden fazla türden?

Biraz arka plan öğrenimi yapmak istiyorum, bu yüzden buna hazırlanıyorum (diğer birimlerde de aynısını yaptım), fakat birden fazla 'assembly dili' olup olmadığını bilmiyorum. Orada kaç tane var? Üretici başına bir, 32 bit ve 64 bit dil mi, yoksa sadece bir standart mı?

Birden fazla türü varsa, üniversite düzeyinde en çok 'popüler' veya muhtemelen öğretilmesi gereken nedir?

+1

Başlamak istiyorsanız, hangi assembly dilinin kullanılacağını öğrenmek için üniversitede (prof veya bölüm sekreteri) birisiyle görüşmenizi öneriyorum. Bazı üniversiteler, öğrencilerle öğrenmeleri için sentetik bir tane oluşturmayı tercih eden “gerçek” bir meclis dili bile kullanmıyorlar. –

+0

@Blair Bu iyi bir fikir, bunu yapacağım. Umarım sentetik bir dil kullanmamayı bitiririm - bu çok hayal kırıklığı yaratır. –

+2

Üniversitem, nispeten basit bir RISC (azaltılmış yönerge kümesi) montaj dili olan MIPS kullanarak eşdeğer bir ders vermiştir. X86 setini (muhtemelen derleyiciler için en çok hedeflenen Intel 32-bit derleme dili) kullanmayı öğretmeyeceklerdir, çünkü x86 setinde çeşitli optimizasyonlar sağlamak için zamanla gelişen çok sayıda yaylı komut vardır. İşte MIPS hakkında bazı bilgiler: http://en.wikipedia.org/wiki/MIPS_architecture –

cevap

25

Çok sayıda derleme dili türü vardır. Mevcut en popüler ARM, MIPS ve x86. ARM çok sayıda cep telefonu ve birçok gömülü sistemde kullanılmaktadır. MIPS, IBM CPU'larında popülerdir ve Mac'ler, bazı video oyun konsolları ve bazılarının eksik olduğu konusunda bazı sistemlerde bulunur. Intel PC'lerde x86 assembler kullanılır. Her çeşninin, gambut'u 16 bitten 64 bitlik talimatlara kadar uzanan farklı sürümleri vardır. Montajla ilgili olan şey eski mimarların ölme eğilimi ve yenilerinin ortaya çıkmasıdır, ancak RISC tarzı sistemlerin yaptığı temel şeyler çoğunlukla aynıdır. Sistemler arasındaki anıları öğrenmenin bir meselesi. Taşı, Mov, Yük, vb. Hepsi bir değer içeren bir kayıt yükler. Gerçekten başka bir dil gibi. Birini öğrendikten sonra, daha yeni olanları almak oldukça kolaydır. İçeri girebileceğiniz bazı daha eski makineleriniz Z80, 68000, 6502 ve 6510'dur.

Bu yardımcı olur umarım.

+2

IBM'in PowerPC (eski Mac'ler, Xbox 360, PS3, Gamecube/Wii/WiiU tarafından kullanılan) ile MIPS'yi (Motorola ile ilgisi olmayan) karıştırıyorsunuz. – rmmh

+0

Bir komutun op kodu MIPS'de 6 bittir. Her talimat her zaman 32 bittir. –

6

ancak birden fazla 'çevirici dili' farklı montaj dil sözdizimi olabilir aynı CPU için

Farklı montajcı (örn Gnu en ve Microsoft'un) olup olmadığını bilmiyoruz; Ancak fark önemsizdir, çünkü ikisi de aynı CPU'yu hedeflemektedir ve montaj talimatları ile CPU opcodes arasında 1'e 1 eşleme (makroları yok sayarsanız) vardır.

Büyük farklar, farklı CPU türleri arasındadır.

Bazen farklı CPU'lar aynı opodları destekler (ve bu nedenle aynı montajcılar tarafından hedeflenebilirler), çünkü aynı makine dilini çalıştırarak birbirleriyle uyumlu veya rekabetçi olacak şekilde tasarlanmıştır.

Ancak bazen farklılar: bkz. List of Instruction Set Architectures.

İlgili konular