使用的是16位微程序設計,指令爲TEC-2000 16位教學計算機的指令系統
要實現的功能:通過鍵盤鍵入一個數字,接收之後顯示出來,然後自動補上*號,接着再次鍵入一個數字,然後自動補上=號,接着輸出運算結果。
本文章實現,主程序:通過調用前面的幾個子程序,實現最終要實現的功能。
關鍵字解釋
CALA ADR:CIN 表示調用子程序CIN,ADR表示要輸入子程序CIN的起始地址
主程序代碼
//主程序
CALA ADR:CIN //調用子程序,讀入一個數字字符
MVRR R1,R0 //將讀入的數字字符存入R1中
MVRD R0,002A //將*號的ASCII碼,給R0
OUT 80 //輸出*號
CALA ADR:CIN //調用子程序,讀入另一個數字字符
MVRR R2,R0 //將讀入的數字字符存入R2中
MVRD R0,003D
OUT 80 //輸出=符號
CALA ADR:MUL //調用子程序,進行兩個數的運算,運算結果以十六位進制的形式存入R0
CALA ADR:SPLIT //將R0中的值,拆分爲個位和十位
MVRD R3,0030 //定義從數值轉化爲ASCII碼的差值
ADD R1,R3 //將數值轉化爲對應的ASCII碼的值
ADD R2,R3
MVRR R0,R1 //將十位數值的ASCII碼值裝入R0
OUT 80 //輸出十位數的值
MVRR R0,R2
OUT 80
RET
沒什麼好說的了,如果子程序看懂了,這個主程序很簡單,也都能想到。
TEC-2000 16位教學計算機演示
可以看到,運行程序之後,依次鍵入5和7,程序自動補充*號和=號,以及最後的結果