所以我正在編寫一個程序是程序集,我試圖使用子程序,但我有一個問題。 我寫了一個類似開關盒的例程。它讀取一個輸入,並根據其值,將堆棧中的保留地址寫入以下子例程的地址。PDP-11程序集子程序
它看起來是這樣的:
1000 jsr r5,switchcase
// let the return address be 1004
1004 jsr r5,@0(sp)
第一JSR進入到交換機的情況下,其寫入首地址在堆棧中。 第二個跳轉到該地址。
我正在使用一個模擬器,每當它到達那條線就停止。我不知道出了什麼問題:/
任何幫助,將不勝感激。
你是否認爲'jsr'將堆棧上的返回值壓入,從而改變了你需要使用的偏移? – 2013-05-14 16:37:29
@Mark Ransom:實際上,jsr r5,...將r5推入堆棧,然後將當前PC分配給r5。 – 2013-05-15 04:49:40