Commodore sayı 49, sayfa 47

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 47

GO WITH THE JON STACK

FF IFC

100

TSX ve bunların tümünün “son giren ilk çıkar” prensibine dayandığını belirtelim. PHA: Bu komut ile akümülatörün değeri stack'a yazılmaktadır (Push Accumulator - Akümülatörü kaydet). Bu işlem sırasında SP bir basamak aşağıya iner ($FF'den geri sayar) ve akümülatörün değeri herhangi bir değişikliğe uğramaz. Dolayısıyla statü registerindeki bayraklar da etkilenmez. PLA: “Pull Accumulator” veya “akümülatörü çek”. Burada tamamen yukarıdaki işlemin tam tersi gerçekleşir: Stack'ın en üstündeki değer akümülatöre yazılır. Bu işlem sonucunda stack'da bir baytlık yer açılır ve SP bir artar. Akümülatöre yüklenen değer sıfır veya negatif bir sayı olabileceği için statü registerindeki N veya Z bayrağı değişikliğe uğrayabilir. PHP: Bu komut “Push Processor status” yani “Statü registerini yaz” anlamına gelmektedir. Statü registeri bu şekilde stack'a yazılarak o anki bayrak konumları saklanabilir. PHA'da olduğu gibi SP bir azalır, statü registeri değişmez. PLP: “Pull Processor status” veya “statü registerini al”. Bu komut yukarıdaki PHP'nin tam tersidir ve stack'ın en üst basamağındaki değeri statü registerine aktarır. Burada çok dikkatli davranılmalıdır, zira yanlış bir değe-

Resim 1: Değerlerin Stack'a yerleşmesi

Klavyeyle gezinmek için ← ve → tuşları.