一位數(shù)乘法的匯編語言實現(xiàn)方法
使用的是16位微程序設(shè)計,指令為TEC-2000 16位教學(xué)計算機的指令系統(tǒng)
要實現(xiàn)的功能:通過鍵盤鍵入一個數(shù)字,接收之后顯示出來,然后自動補上*號,接著再次鍵入一個數(shù)字,然后自動補上=號,接著輸出運算結(jié)果。
本文章實現(xiàn),主程序:通過調(diào)用前面的幾個子程序,實現(xiàn)最終要實現(xiàn)的功能。
關(guān)鍵字解釋
CALA ADR:CIN 表示調(diào)用子程序CIN,ADR表示要輸入子程序CIN的起始地址
主程序代碼
//主程序 CALA ADR:CIN //調(diào)用子程序,讀入一個數(shù)字字符 MVRR R1,R0 //將讀入的數(shù)字字符存入R1中 MVRD R0,002A //將*號的ASCII碼,給R0 OUT 80 //輸出*號 CALA ADR:CIN //調(diào)用子程序,讀入另一個數(shù)字字符 MVRR R2,R0 //將讀入的數(shù)字字符存入R2中 MVRD R0,003D OUT 80 //輸出=符號 CALA ADR:MUL //調(diào)用子程序,進行兩個數(shù)的運算,運算結(jié)果以十六位進制的形式存入R0 CALA ADR:SPLIT //將R0中的值,拆分為個位和十位 MVRD R3,0030 //定義從數(shù)值轉(zhuǎn)化為ASCII碼的差值 ADD R1,R3 //將數(shù)值轉(zhuǎn)化為對應(yīng)的ASCII碼的值 ADD R2,R3 MVRR R0,R1 //將十位數(shù)值的ASCII碼值裝入R0 OUT 80 //輸出十位數(shù)的值 MVRR R0,R2 OUT 80 RET
沒什么好說的了,如果子程序看懂了,這個主程序很簡單,也都能想到。
TEC-2000 16位教學(xué)計算機演示
可以看到,運行程序之后,依次鍵入5和7,程序自動補充*號和=號,以及最后的結(jié)果
相關(guān)文章
匯編語言指令集學(xué)習(xí)CMPXCHG比較并交換操作指令詳解
這篇文章主要為大家介紹了匯編語言指令集學(xué)習(xí)CMPXCHG比較并交換操作的指令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11UEFI開發(fā)實戰(zhàn)SlimBootloader中調(diào)用FSP
這篇文章主要為大家介紹了UEFI開發(fā)實戰(zhàn)SlimBootloader中調(diào)用FSP基礎(chǔ)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06os_object_release Crash 排查記錄分析
這篇文章主要為大家介紹了os_object_release Crash 排查記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11匯編語言DOSBox及debug.exe在Windows64下環(huán)境搭建
這篇文章主要為大家介紹了匯編語言環(huán)境的搭建DOSBox及debug.exe在Windows64下安裝配置過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解
這篇文章主要為大家介紹了匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-11-11