一位數(shù)乘法的匯編語(yǔ)言實(shí)現(xiàn)方法
使用的是16位微程序設(shè)計(jì),指令為TEC-2000 16位教學(xué)計(jì)算機(jī)的指令系統(tǒng)
要實(shí)現(xiàn)的功能:通過鍵盤鍵入一個(gè)數(shù)字,接收之后顯示出來,然后自動(dòng)補(bǔ)上*號(hào),接著再次鍵入一個(gè)數(shù)字,然后自動(dòng)補(bǔ)上=號(hào),接著輸出運(yùn)算結(jié)果。
本文章實(shí)現(xiàn),主程序:通過調(diào)用前面的幾個(gè)子程序,實(shí)現(xiàn)最終要實(shí)現(xiàn)的功能。
關(guān)鍵字解釋
CALA ADR:CIN 表示調(diào)用子程序CIN,ADR表示要輸入子程序CIN的起始地址
主程序代碼
//主程序 CALA ADR:CIN //調(diào)用子程序,讀入一個(gè)數(shù)字字符 MVRR R1,R0 //將讀入的數(shù)字字符存入R1中 MVRD R0,002A //將*號(hào)的ASCII碼,給R0 OUT 80 //輸出*號(hào) CALA ADR:CIN //調(diào)用子程序,讀入另一個(gè)數(shù)字字符 MVRR R2,R0 //將讀入的數(shù)字字符存入R2中 MVRD R0,003D OUT 80 //輸出=符號(hào) CALA ADR:MUL //調(diào)用子程序,進(jìn)行兩個(gè)數(shù)的運(yùn)算,運(yùn)算結(jié)果以十六位進(jìn)制的形式存入R0 CALA ADR:SPLIT //將R0中的值,拆分為個(gè)位和十位 MVRD R3,0030 //定義從數(shù)值轉(zhuǎn)化為ASCII碼的差值 ADD R1,R3 //將數(shù)值轉(zhuǎn)化為對(duì)應(yīng)的ASCII碼的值 ADD R2,R3 MVRR R0,R1 //將十位數(shù)值的ASCII碼值裝入R0 OUT 80 //輸出十位數(shù)的值 MVRR R0,R2 OUT 80 RET
沒什么好說的了,如果子程序看懂了,這個(gè)主程序很簡(jiǎn)單,也都能想到。
TEC-2000 16位教學(xué)計(jì)算機(jī)演示




可以看到,運(yùn)行程序之后,依次鍵入5和7,程序自動(dòng)補(bǔ)充*號(hào)和=號(hào),以及最后的結(jié)果

相關(guān)文章
匯編實(shí)現(xiàn)的memcpy和memset的方法
這篇文章主要介紹了匯編實(shí)現(xiàn)的memcpy和memset的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
8086匯編開發(fā)環(huán)境搭建和Debug模式介紹(圖文詳解)
這篇文章主要介紹了8086匯編開發(fā)環(huán)境搭建和Debug模式介紹,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
匯編語(yǔ)言指令大全 X86和X87匯編指令大全(帶注釋)
匯編指令集太多,如果不用就會(huì)忘記,所以將i處理器官方的指令集大全寫到博客上,有需要的人可以參考一下2021-10-10
匯編語(yǔ)言實(shí)現(xiàn)在指定字符串中搜索字符''A''的方法
這篇文章主要介紹了匯編語(yǔ)言實(shí)現(xiàn)在指定字符串中搜索字符'A'的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

