9 Aralık 2009 Çarşamba

Linux'ta HLA Derleyicisini Kurmak

Türkçe anlatımına az rastlanan bir konu hakkında daha önceden yazmış olduğum bir yazıyı burda paylaşmak istedim. Bu aralar yine soran arkadaşlarım oldu. Burdan soran, sormayan herkes ulaşabilsin.


Öncelikle

http://webster.cs.ucr.edu/AsmTools/HLA/HLAv1.99/hla.tar.gz

adresinden Linux için olan hla derleyicisi dosyalarını indiriyoruz. Ben bu sıkıştırılmış dosyayı Windows ortamında WinRAR ile klasöre çıkartıp klasörü Linux ortamına taşıdım. Ama eğer Linux ortamında çıkaracaksanız dosyayı indirdiğimiz sitede yazdığı gibi önce Uçbirim'de başka bir deyişle komut satırında, dosyanın bulunduğu klasöre girerek

gzip -d linux.tar.gz

komutunu uygulayın. Anladığım kadarıyla tar uzantılı bir dosya oluşuyormuş ve bundan da dosyaları çıkartmak için

tar xvf linux.tar

diye bir şey yazıyormuşuz. Ama size tavsiyem sıkıştırlmış dosyayı açtıktan sonra Linux'a taşımak.

Bu sıkıştırılmış dosyadan hla isminde bir klasör çıkıyor. Bu klasörün içinde de usr klasörü var. Yine usr klasörünün altında da hla klasörü var. Bize lazım olan usr'nin içindeki hla klasörü ve içindekiler. Bu klasörü gerekli yere taşıyacağız.

Uçbirim'de

sudo su

komutunu uyguluyoruz. Bize parola soracak. Linux'u açarken kullandığımız parolamızı giriyoruz. Parolanızı yazarken kursör hareket etmiyor. Bu yüzden yazmadığını zannetmeyin. Promptta en sonda # karakteri belirdiyse yönetici moduna geçmişiz demektir. Öncelikle bunu yapmamız lazım. Çünkü sistem klasörlerinden olan usr içine klasör taşıma yetkisine sahip olmamız lazım.

hla klasörünün Linux ortamında Masaüstü'nde var olduğunu varsayarak taşıma işlemi için gerekli işlemleri yazacağım.

Masaüstünde bulunan hla klasörünün içindeki usr klasörünün içinde bulunan hla klasörünü, kök klasördeki usr klasörüne taşıyacağız. Bunun için aşağıdaki komutu uyguluyoruz:

mv /home/user/Desktop/hla/usr/hla /usr/

Yukarıdaki satırda user kelimesi yerine Linux'ta oturum açarken kullandığınız kullanıcı adını yazacaksınız. Desktop yerine kullandığınız Linux türüne ve seçili olan diline bağlı olarak Masaüstü yazmanız gerekebilir.

Bu işlemden sonra usr klasörüne taşıdığımız hla klasöründe bulunan hla ve hlaparse isimli dosyaları, usr klasörünün içindeki bin klasörüne kopyalayacağız. Bu işlem için

cp /usr/hla/hla /usr/bin/

ve daha sonra

cp /usr/hla/hlaparse /usr/bin/

komutlarını uyguluyoruz.


Bundan sonra Linux'a hla derleyicisinin kullanacağı yolları belirtmemiz gerekiyor. Bunun için aşağıdaki altı satırı tamamen kopyalayıp komut satırına yapıştırıp, enter tuşuna basıyoruz.

hlalib=/usr/hla/hlalib/hlalib.a
export hlalib
hlainc=/usr/hla/include
export hlainc
hlatemp=/tmp
export hlatemp

Bundan sonra basit bir hla programını bir metin dosyasında yazıp, hla uzantılı olarak Masaüstü'ne kaydedin. İsminin deneme.hla olduğunu varsayarsak bu dosyayı derlemek için komut satırında


hla /home/user/Desktop/deneme.hla

yazıyoruz.

Eğer hata kodu vermezse Masaüstünde deneme.o, deneme.asm dosyaları ve deneme adında çalıştırılabilir bir dosya oluşacaktır.

Eğer

ld: section '.text' type changed to PROGBITS

gibi bir uyarı alırsanız dikkate almanıza gerek yoktur.

Not: Aşağıda yazdığım altı satır kodu Uçbirim'i her kapatıp açtığınızda komut satırına yazıp enter tuşuna basmanız gerekir.

hlalib=/usr/hla/hlalib/hlalib.a
export hlalib
hlainc=/usr/hla/include
export hlainc
hlatemp=/tmp
export hlatemp