一位數乘法的彙編語言實現(終)

使用的是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位教學計算機演示

總代嗎展示1
總代碼展示2
總代碼展示3
總代碼展示4
可以看到,運行程序之後,依次鍵入5和7,程序自動補充*號和=號,以及最後的結果
代碼測試

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章