Karakter Dizisi Dönüştürme Komutları
Nümerik Değerleri Karakter Dizisine Dönüştürme
Tamsayıdan (ITS), Double Tamsayıdan (DTS) ve Reel Sayıdan
(RTS) karakter dizisine dönüştürme komutları, IN’de yer alan
tamsayı, double tamsayı veya reel sayıyı OUT’dan başlayan alana
ASCII karakter dizisi olarak yazar.
Tamsayıdan Karakter Dizisine Dönüştürmenin Çalışma
Şekli
Tamsayıdan Karakter Dizisine Dönüştürme komutu (ITS), IN ile
başlayan tamsayı değerlerini 8 baytlık ASCII dizisine dönüştürür.
Format FMT, tamsayı kısmının rakam sayısını ve tamsayı/ondalık
kısım arasında nokta mı virgül mu kullanılacağını belirler. Dönüşüm,
OUT ile başlayan alana (1 bayt alanın uzunluğunu göstermek üzere)
9 sıralı bayt olarak yazılır. Karakter dizisi hakkında daha detaylı bilgi
için Bölüm 4’e bakınız.
ENO = 0 yapan hata koşulları
❑ 0006 (endirekt adresleme)
❑ 0091 (operand tanım aralığı dışında)
❑ Geçersiz format (nnn 5)
Resim 6–17 Tamsayıdan Karakter Dizisine Dönüştürme komutunun
format (FMT) operandını açıklamaktadır. Dönüştürülen dizi her
zaman 8 bayttır. Noktanın sağında yer alacak rakam sayısı nnn
alanında tanımlanır. nnn alanının aralığı 0 ila 5’tir. Noktanın sağında
yer alacak rakam sayısının 0 seçilmesi noktanın kullanılmamasıyla
sonuçlanır. 5’den büyük nnn değeri kullanıldığı zaman çıkış alanı
boşluk karakteriyle doldurulur. c biti, tamsayı ve ondalık kısım
arasında ayraç olarak virgül (c=1) veya nokta (c=0) kullanılmasını
belirler. En soldaki 4 bit 0 olmalıdır.
Resim 6–17’deki örnekte ayraç olarak nokta (c=0) ve noktadan
sonra üç rakam (nnn=011) kullanılmıştır. OUT’daki değer dizinin
uzunluğunu gösterir. Çıkış alanı aşağıdaki kurallara göre
formatlanmaktadır:
❑ Pozitif değerler çıkış alanına bir işaret olmaksızın yazılır.
❑ Negatif değerlerin başına eksi işareti (-) yerleştirilir.
❑ Noktanın solundaki sıfırlar (noktadan sonraki ilk rakam
hariç) yazılmaz.
❑ Değerler çıkış alanına sağa hizalanmış olarak yazılır
Tablo 6–18 Nümerik Değerleri Karakter Dizisine Çeviren Komutlar için Geçerli Operandlar
Giriş/Çıkış Veri Tipi Operandlar
IN BAYT(Dizi) VB, LB, *VD, *LD, *AC
INT IW, QW, VW, MW, SMW, SW, T, C, LW, AIW, *VD, *LD, *AC, Sabit
DINT ID, QD, VD, MD, SMD, SD, LD, AC, HC, *VD, *LD, *AC, Sabit
REEL ID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC, Sabit
INDX, FMT BAYT IB, QB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, Sabit
OUT BAYT(Dizi) VB, LB, *VD, *LD, *AC
INT IW, QW, VW, MW, SMW, SW, T, C, LW, AC, AQW, *VD, *LD, *AC
DINT, REEL ID, QD, VD, MD, SMD, SD, LD, AC, *VD, *LD, *AC
100