Yazan : Şadi Evren ŞEKER
Bir çeviricinin ( assembler ) ikiden1 fazla kere kodun üstünden geçen halidir. Buna göre bir çeviricinin kod üretirken bilinmeyen dizgilerin (kelime veya yazıların) anlamalarının her geçişte (pass) çıkarılarak bir sonraki geçişlerde kullanılmasını hedefler. Örneğin aşağıdaki kod örneğini ele alalım:
A EQU B
B EQU D
C EQU D
D DS 1
Yukarıdaki kodun matematiksel gösterimi aşağıdaki şekildedir:
A=B
B=D
C=D
D=1
Bu gösterime göre ilk geçişte A, B ve C değerleri belirsizdir. İlk geçişten sonra sadece D değişkeninin değeri 1 olarak belirlenir.
İkinci geçişten sonra “D” değişkeninin değerine eşitlenen B ve C değişkenlerinin değeri belirlenerek bu değişkenler de 1 değerine eşitlenir.
Son olarak 3. geçişten sonra A değişkeninin değeri B değişkeninin içerisindeki 1 değerini alır ve son olarak bütün değişkenlerin değerleri atanmış ve maikne kodundaki karşılığı bulunmuş olur.
Görüldüğü üzere bu kodun makine koduna tam olarak çevrilmesi için en az 3 geçiş gerekmektedir. İşte çok geçişli çeviriciler bu tip kodlar için kullanışlıdır.