From 68bdebd8cae39c30acc384664faa136aeaa9bb84 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Sat, 5 Nov 2022 16:59:17 -0700 Subject: Add initial uarch model --- programs/queue.pal | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) (limited to 'programs/queue.pal') diff --git a/programs/queue.pal b/programs/queue.pal index 89a1fea..7d4cce7 100644 --- a/programs/queue.pal +++ b/programs/queue.pal @@ -7,12 +7,15 @@ INTRET, 0 *010 -HEAD, 7777 / because preincrement -TAIL, 7777 +IHEAD, 7777 / because preincrement +ITAIL, 7777 + +OHEAD, 7777 / because preincrement +OTAIL, 7777 *100 -TTBUSY, 0 +OBUSY, 0 *200 @@ -20,24 +23,23 @@ TTBUSY, 0 KIE ION LOOP, CLA - TAD TTBUSY - SZA - JMP LOOP - TAD TAIL + TAD ITAIL CMA IAC - TAD HEAD + TAD IHEAD SNA JMP LOOP CLA CDF 0010 - TAD I TAIL + TAD I ITAIL + CDF 0020 + DCA I OHEAD CDF 0000 IOF / critical section - TPC - CLA IAC + TAD OBUSY + SNA + TFL ION - DCA TTBUSY / end critical section - JMP LOOP + JMP LOOP / end critical section *400 @@ -47,13 +49,26 @@ GOTINT, DCA SAVEA DCA SAVEF TSF JMP KBIN - DCA TTBUSY TCF + CLA + DCA OBUSY + TAD OTAIL + CMA IAC + TAD OHEAD + SNA + JMP KBIN + CLA + CDF 0020 + TAD I OTAIL + CDF 0000 + TPC + CLA IAC + DCA OBUSY KBIN, KSF JMP RETINT KRB CDF 0010 - DCA I HEAD + DCA I IHEAD CDF 0000 RETINT, CLA TAD SAVEF -- cgit v1.2.3