版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告班級(jí):計(jì)算機(jī) 班 姓名: 學(xué)號(hào): 完成時(shí)間: 一、課程設(shè)計(jì)目的1在實(shí)驗(yàn)機(jī)上設(shè)計(jì)實(shí)現(xiàn)機(jī)器指令及對應(yīng)的微指令(微程序)并驗(yàn)證,從而進(jìn)一步掌握微程序設(shè)計(jì)控制器的基本方法并了解指令系統(tǒng)與硬件結(jié)構(gòu)的對應(yīng)關(guān)系;2通過控制器的微程序設(shè)計(jì),綜合理解計(jì)算機(jī)組成原理課程的核心知識(shí)并進(jìn)一步建立整機(jī)系統(tǒng)的概念;3培養(yǎng)綜合實(shí)踐及獨(dú)立分析、解決問題的能力。二、課程設(shè)計(jì)的任務(wù)針對COP2000實(shí)驗(yàn)儀,從詳細(xì)了解該模型機(jī)的指令/微指令系統(tǒng)入手,以實(shí)現(xiàn)乘法和除法運(yùn)算功能為應(yīng)用目標(biāo),在COP2000的集成開發(fā)環(huán)境下,設(shè)計(jì)全新的指令系統(tǒng)并編寫對應(yīng)的微程序;之后編寫實(shí)現(xiàn)乘法和除法的程序進(jìn)行設(shè)計(jì)的驗(yàn)證。三、
2、課程設(shè)計(jì)使用的設(shè)備(環(huán)境)1硬件l COP2000實(shí)驗(yàn)儀l PC機(jī)2軟件l COP2000仿真軟件四、課程設(shè)計(jì)的具體內(nèi)容(步驟)1詳細(xì)了解并掌握COP 2000模型機(jī)的微程序控制器原理,通過綜合實(shí)驗(yàn)來實(shí)現(xiàn)該模型機(jī)指令系統(tǒng)的特點(diǎn):1.模型機(jī)總體結(jié)構(gòu) COP2000模型機(jī)包括了一個(gè)標(biāo)準(zhǔn)CPU所具備所有部件,這些部件包括:運(yùn)算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計(jì)數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲(chǔ)器EM、指令寄存器IR、微程序計(jì)數(shù)器uPC、微程序存儲(chǔ)器uM,以及中斷控制電路、
3、跳轉(zhuǎn)控制電路。其中運(yùn)算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來實(shí)現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來代替。 模型機(jī)為8位機(jī),數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機(jī)相同。 模型機(jī)的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個(gè)操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄存器,在微程序控制方式中,用指令碼作為微地址來尋址微程序存儲(chǔ)器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時(shí)序用指令碼產(chǎn)生相應(yīng)的控制位。在本模型機(jī)中,一條指令最多分四個(gè)狀態(tài)周期,一個(gè)狀態(tài)周期為一個(gè)時(shí)鐘脈沖,每個(gè)狀態(tài)周期產(chǎn)生不同的控制邏輯,實(shí)現(xiàn)模型機(jī)的各種功能。模型機(jī)有
4、24位控制位以控制寄存器的輸入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫。2. 模型機(jī)尋址方式 模型機(jī)的尋址方式分五種: 累加器尋址: 操作數(shù)為累加器A,例如“CPL A”是將累加器A值取反,還有些指令是隱含尋址累加器A,例如“OUT”是將累加器A的值輸出到輸出端口寄存器OUT。 寄存器尋址: 參與運(yùn)算的數(shù)據(jù)在R0-R3的寄存器中,例如 “ADD A,R0”指令是將寄存器R0的值加上累加器A的值,再存入累加器A中。 寄存器間接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址在寄存器R0-R3中,例如 “MOV A,R1”指令是將寄存器R1的值做為地址,把存儲(chǔ)器EM中該地址的內(nèi)容送入累加器A中。
5、存儲(chǔ)器直接尋址:參與運(yùn)算的數(shù)據(jù)在存儲(chǔ)器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。例如“AND A,40H”指令是將存儲(chǔ)器EM中40H單元的數(shù)據(jù)與累加器A的值做邏輯與運(yùn)算,結(jié)果存入累加器A。 立即數(shù)尋址: 參與運(yùn)算的數(shù)據(jù)為指令的操作數(shù)。例如 “SUB A,#10H”是從累加器A中減去立即數(shù)10H,結(jié)果存入累加器A。3. 模型機(jī)指令集 模型機(jī)的缺省的指令集分幾大類: 算術(shù)運(yùn)算指令、邏輯運(yùn)算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。算術(shù)運(yùn)算指令:邏輯運(yùn)算指令:數(shù)據(jù)傳輸指令:跳轉(zhuǎn)指令:ADD A, R? ADD A, R? ADD A, MM ADD A, #II ADDC A,
6、R? ADDC A, R? ADDC A, MM ADDC A, #II SUB A, R?SUB A, R? SUB A, MM SUB A, #II SUBC A, R? SUBC A, R? SUBC A, MM SUBC A, #IIAND A, R? AND A, R? AND A, MM AND A, #II OR A, R?OR A, R? OR A, MM OR A, #IICPL AMOV A, R? MOV A, R? MOV A, MM MOV A, #II MOV R?, A MOV R?, AMOV MM, A MOV R?, #IIJC MM JZ MM JMP M
7、MCALL MM RET移位指令:中斷返回指令:輸入/輸出指令:RR A RL A RRC A RLC ARETIREAD MMWRITE MM INOUT4. 模型機(jī)指令格式該模型機(jī)微指令系統(tǒng)的特點(diǎn)(包括其微指令格式的說明等):1. 總體概述該模型機(jī)的微命令是以直接表示法進(jìn)行編碼的,其特點(diǎn)是操作控制字段中的每一位代表一個(gè)微命令。這種方法的優(yōu)點(diǎn)是簡單直觀,其輸出直接用于控制。缺點(diǎn)是微指令字較長,因而使控制存儲(chǔ)器容量較大。2. 模型機(jī)微指令格式3. 模型機(jī)微指令格式的說明模型機(jī)有24位控制位以控制寄存器的輸入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫。微程序控制器由微程序給出24位控制信號(hào),而微
8、程序的地址又是由指令碼提供的,也就是說24位控制信號(hào)是由指令碼確定的。該模型機(jī)的微指令的長度為24位,其中微指令中只含有微命令字段,沒有微地址字段。其中微命令字段采用直接按位的表示法,哪位為0,表示選中該微操作,而微程序的地址則由指令碼指定。24位控制位分別介紹如下: XRD : 外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址后,輸出此信號(hào),從指定外設(shè)讀數(shù)據(jù)。 EMWR: 程序存儲(chǔ)器EM寫信號(hào)。 EMRD: 程序存儲(chǔ)器EM讀信號(hào)。 PCOE: 將程序計(jì)數(shù)器PC的值送到地址總線ABUS上。EMEN: 將程序存儲(chǔ)器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)
9、據(jù)送到DBUS。 IREN: 將程序存儲(chǔ)器EM讀出的數(shù)據(jù)打入指令寄存器IR和微指令計(jì)數(shù)器uPC。 EINT: 中斷返回時(shí)清除中斷響應(yīng)和中斷請求標(biāo)志,便于下次中斷。 ELP: PC打入允許,與指令寄存器的IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。 MAREN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址寄存器MAR。 MAROE:將地址寄存器MAR的值送到地址總線ABUS上。 OUTEN:將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出端口寄存器OUT里。 STEN: 將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧寄存器ST中。 RRD: 讀寄存器組R0-R3,寄存器R?的選擇由指令的最低兩位決定。 RWR: 寫寄存器組R0-R3,寄存器R?
10、的選擇由指令的最低兩位決定。 CN: 決定運(yùn)算器是否帶進(jìn)位移位,CN=1帶進(jìn)位,CN=0不帶進(jìn)位。 FEN: 將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄存器。 X2、X1、X0三位組合來譯碼選擇將數(shù)據(jù)送到DBUS上的寄存器。X2 X1 X0輸出寄存器0 0 0IN_OE 外部輸入門0 0 1IA_OE 中斷向量0 1 0ST_OE 堆棧寄存器0 1 1PC_OE PC寄存器1 0 0D_OE 直通門1 0 1R_OE 右移門1 1 0L_OE 左移門1 1 1沒有輸出WEN: 將數(shù)據(jù)總線DBUS的值打入工作寄存器W中。 AEN: 將數(shù)據(jù)總線DBUS的值打入累加器A中。 S2、S1、S0三位組合決定ALU做
11、何種運(yùn)算。S2 S1 S0功能0 0 0A+W 加0 0 1A-W 減0 1 0A|W 或0 1 1A&W 與1 0 0A+W+C 帶進(jìn)位加1 0 1A-W-C 帶進(jìn)位減1 1 0A A取反1 1 1A 輸出A2. 計(jì)算機(jī)中實(shí)現(xiàn)乘法和除法的原理(1)無符號(hào)乘法算法流程圖:開始設(shè)置乘數(shù)、被乘數(shù)、累加器R1是否為0 Y NR1進(jìn)位右移 是否進(jìn)位 N YR0加入結(jié)果寄存器被乘數(shù)R0左移結(jié)束 硬件原理框圖: RDL乘數(shù)右移被乘數(shù)右移R0保存結(jié)果 判斷乘數(shù)末位 ALUWAR2R1乘數(shù)被乘數(shù)(2)無符號(hào)除法算法流程圖:開始初始化被除數(shù)R0,除數(shù)R1,商R2,計(jì)數(shù)器R3做減法余數(shù)為負(fù) N Y除數(shù)右移商左移除
12、數(shù)右移商左移商為1商為0結(jié)束結(jié)束做加法 N N計(jì)算余數(shù) Y Y輸出結(jié)果結(jié)束 硬件原理框圖: 商左移RDL除數(shù)右移R0(商) 判斷乘數(shù)末位 ALUR0(計(jì)數(shù)器)WAR2R1除數(shù)被除數(shù)3對應(yīng)于以上算法如何分配使用COP2000實(shí)驗(yàn)儀中的硬件(1)無符號(hào)乘法 硬件名稱實(shí)現(xiàn)算法功能描述寄存器R0 初始化時(shí),用來存放被乘數(shù); 在程序執(zhí)行的過程中,用來存放向左移位后的被乘數(shù)。寄存器R1 初始化時(shí),用來存放乘數(shù); 在程序執(zhí)行的過程中,用來存放向右移位后的乘數(shù)。寄存器R2計(jì)算時(shí)用來存放部分積和最后的積累加器A執(zhí)行ADD A,R?(加法)、SHL R?(左移一位)、SHR R?(右移一位)等命令時(shí)所必須使用的寄
13、存器。寄存器W執(zhí)行ADD A,R?(加法)、TEST R?,#II(測試R2的末位)等雙操作數(shù)命令時(shí)所必須使用的寄存器。左移門L用來實(shí)現(xiàn)相應(yīng)數(shù)據(jù)左移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計(jì)數(shù)器PC 控制程序按順序正常執(zhí)行; 當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動(dòng)執(zhí)行。 當(dāng)要從EM中讀取數(shù)據(jù)時(shí),由PC提供地址。存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。微程序計(jì)數(shù)器PC向微程序存儲(chǔ)器M提供相應(yīng)微指令的地址。微程序存儲(chǔ)器M存儲(chǔ)相應(yīng)指令
14、的微指令。輸出寄存器OUT可以將運(yùn)算結(jié)果輸出到輸出寄存器OUT(本實(shí)驗(yàn)未用)。堆棧ST當(dāng)存儲(chǔ)于累加器A的值將要受到破壞時(shí),將其數(shù)據(jù)保存在堆棧ST中,使程序能夠正常地執(zhí)行。(2)無符號(hào)除法硬件名稱實(shí)現(xiàn)算法功能描述寄存器R0初始化時(shí),用來存放被除數(shù)和計(jì)算后的余數(shù)。寄存器R1 初始化時(shí),用來存放除數(shù); 在程序執(zhí)行的過程中,用來存放向右移位后的除數(shù)。寄存器R2在程序執(zhí)行過程中,用來保存當(dāng)前算得的商。寄存器R3當(dāng)作計(jì)數(shù)器使用,用來控制程序是否結(jié)束。累加器A 計(jì)算時(shí)用來存放中間結(jié)果; 執(zhí)行ADD A,R?(加法)、SUB A,R?(減法)等命令時(shí)所必須使用的寄存器。寄存器W執(zhí)行SUB A,R?(減法)等雙
15、操作數(shù)命令時(shí)所必須使用的寄存器。左移門L用來實(shí)現(xiàn)相應(yīng)數(shù)據(jù)左移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的運(yùn)算,并能夠控制該運(yùn)算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計(jì)數(shù)器PC 控制程序按順序正常執(zhí)行; 當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動(dòng)執(zhí)行。 當(dāng)要從EM中讀取數(shù)據(jù)時(shí),由PC提供地址。存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。微程序計(jì)數(shù)器PC向微程序存儲(chǔ)器M提供相應(yīng)微指令的地址。微程序存儲(chǔ)器M存儲(chǔ)相應(yīng)指令的微指令。輸出寄存器OUT可以將運(yùn)算結(jié)果輸出到輸出寄存器OUT(本實(shí)驗(yàn)未用)。堆棧ST當(dāng)
16、存儲(chǔ)于累加器A的值將要受到破壞時(shí),將其數(shù)據(jù)保存在堆棧ST中,使程序能夠正常地執(zhí)行。4在COP2000集成開發(fā)環(huán)境下設(shè)計(jì)全新的指令/微指令系統(tǒng)設(shè)計(jì)結(jié)果如表所示(可按需要增刪表項(xiàng))(1) 新的指令集(如果針對乘除法設(shè)計(jì)了兩個(gè)不同指令集要分別列表)助記符機(jī)器碼1機(jī)器碼2指令說明_FATCH_ 000000xx00-03實(shí)驗(yàn)機(jī)占用,不可修改。復(fù)位后,所有寄存器清0,首先執(zhí)行 _FATCH_ 指令取指。MOVR?,#II000001xx04-07II將立即數(shù)II存放到寄存器R?中。MOV R?,A000010xx08-0B將寄存器A內(nèi)容送入寄存器R?中MOV A,R?000011xx0C-0F將寄存器R
17、?中的數(shù)放入累加器A中。ADD R?,A 000100xx10-13將累加器A中的數(shù)加入到寄存器R?中,并影響標(biāo)志位。ADD A,R?000101xx14-17將寄存器R?中的數(shù)加入到累加器A中SUB A,R?000110xx18-1B將寄存器A中的數(shù)據(jù)與R?中的內(nèi)容相減,結(jié)果存入A中。ADDR?,#II000111xx1C-1FII將寄存器R?中的數(shù)據(jù)與立即數(shù)相與,結(jié)果存入R?。NOT R?001000xx20-23將寄存器R?中的數(shù)據(jù)取反。RL R?001001xx24-27將寄存器R?中的數(shù)據(jù)邏輯左移一位。RR R?001010xx28-2B將寄存器R?中的數(shù)據(jù)邏輯右移一位。RLC R?
18、001011xx2C-2F將寄存器R?中的數(shù)據(jù)帶進(jìn)位左移一位。RRC R?001100xx30-33將寄存器R?中的數(shù)據(jù)帶進(jìn)位右移一位。CLR R?001101xx34-37將寄存器R?中的內(nèi)容清零。TEST R?001110xx38-3B測試寄存器R?中的內(nèi)容是否為零。ENDP001111xx3C-3F程序結(jié)束。JC MM010000XX 40-43MM若進(jìn)位標(biāo)志位置1,跳轉(zhuǎn)到MM地址。JZ MM010001XX 44-47MM若零標(biāo)志位置1,跳轉(zhuǎn)到MM地址。JMP MM010010 48-4BMM無條件跳轉(zhuǎn)到MM地址。(2) 新的微指令集助記符狀態(tài)微地址微程序數(shù)據(jù)輸出數(shù)據(jù)打入地址輸出運(yùn)算器
19、移位控制mPCPC_FATCH_T0 00CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+101FFFFFF浮空浮空A輸出+102FFFFFF浮空浮空A輸出+103FFFFFF浮空浮空A輸出+1MOV R?,#IIT104C7FBFF存儲(chǔ)器值EM寄存器R?PC輸出A輸出+1+1T005CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+106FFFFFF浮空A輸出+1+107FFFFFF浮空A輸出+1+1MOV R?,AT108FFFB9FALU直通寄存器R?浮空A輸出+1T009CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+10AFFFFFF浮空浮空A輸出+10BFFFFFF浮空浮
20、空A輸出+1MOV A,R?T10CFFF7F7寄存器值R?寄存器A浮空A輸出+1T00DCBFFFF浮空指令寄存器IR PC輸出A輸出寫入+10EFFFFFF浮空浮空A輸出+10FFFFFFF浮空浮空A輸出+1ADD R?,AT210FFF7EF寄存器值R?寄存器W浮空A輸出+1T111FFFB98ALU直通寄存器R?浮空A輸出+1T012CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+113FFFFFF浮空浮空A輸出+1ADD A,R?T214FFF7EF寄存器值R?寄存器W浮空A輸出+1T115FFFE90ALU直通寄存器A,標(biāo)志位C,Z浮空A輸出+1T016CBFFFF浮空指令寄存
21、器IR PC輸出A輸出寫入+117FFFFFF浮空浮空A輸出+1SUB A,R?T218FFF7EF寄存器值R?寄存器W浮空A輸出+1T119FFFE91ALU直通寄存器A,標(biāo)志位C,Z浮空減運(yùn)算+1T01ACBFFFF浮空指令寄存器IR PC輸出A輸出寫入+11BFFFFFF浮空浮空A輸出+1AND R?,#IIT31CC7FFEF存貯器值EM寄存器WPC輸出A輸出+1T21DFFF7F7寄存器值R?寄存器A浮空A輸出+1T11EFFFB9BALU直通寄存器R?浮空與運(yùn)算+1T01FCBFFFF浮空指令寄存器IR PC輸出A輸出寫入+1NOT R?T220FFF7F7寄存器值R?寄存器A浮空
22、A輸出+1T121FFFB9EALU直通寄存器R?浮空A取反+1T022CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+123FFFFFF浮空浮空A輸出+1RL R?T224FFF7F7寄存器值R?寄存器A浮空A輸出+1T125FFF8DFALU左移寄存器R?,標(biāo)志位C,Z浮空A輸出左移+1T026CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+127FFFFFF浮空浮空A輸出+1RR R?T228FFF7F7寄存器值R?寄存器A浮空A輸出+1T129FFF8BFALU右移寄存器R?,標(biāo)志位C,Z浮空A輸出右移+1T02ACBFFFF浮空指令寄存器IR PC輸出A輸出寫入+12BFFF
23、FFF浮空浮空A輸出+1RLC R?T22CFFF7F7寄存器值R?寄存器A浮空A輸出+1T12DFFFADFALU左移寄存器R?,標(biāo)志位C,Z浮空A輸出帶進(jìn)位左移+1T02ECBFFFF浮空指令寄存器IR PC輸出A輸出寫入+12FFFFFFF浮空浮空A輸出+1RRC R?T230FFF7F7寄存器值R?寄存器A浮空A輸出+1T131FFFABFALU右移寄存器R?,標(biāo)志位C,Z浮空A輸出帶進(jìn)位右移+1T032CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+133FFFFFF浮空浮空A輸出+1CLR R?T334FFF7F7寄存器值R?寄存器A浮空A輸出+1T235FFF7EF寄存器值R
24、?寄存器W浮空A輸出+1T136FFFB99ALU直通寄存器R?浮空減運(yùn)算+1T037CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+1TEST R?T338FFF7F7寄存器值R?寄存器A浮空A輸出+1T239FFF7EF寄存器值R?寄存器W浮空A輸出+1T13AFFFE92ALU直通寄存器R?,標(biāo)志位C,Z浮空或運(yùn)算+1T03BCBFFFF浮空指令寄存器IR PC輸出A輸出寫入+1ENDPT03CCBFFFF浮空指令寄存器IR PC輸出A輸出寫入+13DFFFFFF浮空浮空A輸出+13EFFFFFF浮空浮空A輸出+13FFFFFFF浮空浮空A輸出+1JC MMT140C6FFFF存貯器
25、值EM寄存器PCPC輸出A輸出+1寫入T041CBFFFF浮空指令寄存器IRPC輸出A輸出寫入+142FFFFFF浮空浮空A輸出+143FFFFFF浮空浮空A輸出+1JZ MMT144C6FFFF存貯器值EM寄存器PCPC輸出A輸出+1寫入T045CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+146FFFFFF浮空浮空A輸出+147FFFFFF浮空浮空A輸出+1JMP MMT148C6FFFF存貯器值EM寄存器PCPC輸出A輸出+1寫入T049CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+14AFFFFFF浮空浮空A輸出+14BFFFFFF浮空浮空A輸出+15用設(shè)計(jì)完成的新指令集編
26、寫實(shí)現(xiàn)無符號(hào)二進(jìn)制乘法、除法功能的匯編語言程序(1)乘法4位乘法的算法流程圖與匯編語言程序清單:匯編語言程序清單:MOV R0,#07H ;初始化被乘數(shù)MOV R1,#05H ;初始化乘數(shù)CLR R2 ;R2 ;清零P1: TEST R1 ;測試乘數(shù)是否為0JZ W ;是0跳轉(zhuǎn),程序結(jié)束RRC R1 ;進(jìn)位右移JC S ;CF=1,跳到SP2: RL R0 ;R0左移JMP P ;跳到PP3: MOV A,R0 ADD R2,A JMP Q P4: ENDPL: JMP L(2)除法 4位除法的算法流程圖與匯編語言程序清單:匯編語言程序清單: MOV R0,#63H ;初始化被除數(shù) MOV R
27、1,#08H ;初始化除數(shù) MOV A,R1 MOV R3,A RR R3 ;初始化計(jì)數(shù)器 CLR R2 ;清零商 TEST R1 ;檢驗(yàn)除數(shù)是否為0 JZ C0 ;是0,跳轉(zhuǎn)報(bào)錯(cuò) RL R1 RL R1 RL R1 RL R1 ;對齊被除數(shù)與除數(shù) MOV A,R0 SUB A,R1 ;判斷商是否不超過5位 JC B1 ;不超過,跳轉(zhuǎn) JMP C0 ;超過,報(bào)錯(cuò)B0: MOV A,R3 SUB A,R1 JZ C1 ;控制循環(huán)次數(shù) MOV A,R0 SUB A,R1 JC B1 JMP B2 ;余數(shù)為正,做減法B1: ADD A,R1 ;余數(shù)為負(fù),做加法B2: MOV R0,A RR R1 ;
28、右移除數(shù) RLC R2 ;余數(shù)為負(fù)則C=1,左移上1;余數(shù)為正則C=0,左移上0 JMP B0 ;跳轉(zhuǎn)C0: MOV R0,#0FFH ;報(bào)錯(cuò) MOV R1,#0FFH MOV R2,#0FFH MOV R3,#0FFH JMP ENDDC1: NOT R2 ;取反得商 AND R2,#0FH ;商不超過4位ENDD: ENDPP: JMP P6上述程序的運(yùn)行情況(跟蹤結(jié)果)按下表填寫描述以上各程序運(yùn)行情況的內(nèi)容。按每個(gè)程序一張表進(jìn)行。1.乘法程序運(yùn)行的過程匯 編 指 令程序地址機(jī)器碼指令說明微程序PC mPC運(yùn)行時(shí)寄存器或存儲(chǔ)器的值MOV R0,#07H000407C7FBFFCBFFFF0
29、1020405R0=07,EM=07,IR=04MOV R1,#05H020505C7FBFFCBFFFF03040405R1=05,EM=05,IR=05CLR R20436FFF7F7FFF7EFCBFFFF0534353637IR=36,EM=36,R2=0,A=0,W=0TEST R10539FFF7F7FFF7EFFFFE92CBFFFF0638393A3BIR=39,EM=39,R1=05,A=05W=05JZ P4064412C6FFFFCBFFFF07084445EM=44,IR=44EM=12RRC R10831FFF7F7FFFABFCBFFFF09303132EM=31,
30、IR=31R1=02JC P309400EC6FFFFCBFFFF0A0E4041EM=40,IR=40EM=0EMOV A,R00E0CFFF7F7CBFFFF0F0C0DEM=0C,IR=0CR0=07,A=07ADD R2,A0F12FFF7EFFFFB98CBFFFF10101112EM=12,IR=12R2=0,W=0R2=07JMP P210480BC6FFFFCBFFFF110B4849EM=48,IR=48EM=0BRL R00B24FFF7F7FFF8DFCBFFFF0C242526EM=24,IR=24R0=07,A=07R0=0EJMP P10C4805C6FFFFCBF
31、FFF0D054849EM=48,IR=48EM=05TEST R10539FFF7F7FFF7EFFFFE92CBFFFF0638393A3BEM=39,IR=39R1=02,A=02W=02A=02JZ P4064412C6FFFFCBFFFF07084445EM=44,IR=44EM=12RRC R10831FFF7F7FFFABFCBFFFF09303132EM=31,IR=31R1=02,A=02R1=01JC P309400EC6FFFFCBFFFF0A0E4041EM=40,IR=40EM=0ERL R00B24FFF7F7FFF8DFCBFFFF0C242526EM=24,IR
32、=24R0=0E,A=0ER0=1CJMP P10C4805C6FFFFCBFFFF0D054849EM=48,IR=48EM=05TEST R10539FFF7F7FFF7EFFFFE92CBFFFF0638393A3BEM=39,IR=39R1=01,A=01W=01A=01JZ P4064412C6FFFFCBFFFF07084445EM=44,IR=44EM=12RRC R10831FFF7F7FFFABFCBFFFF09303132EM=31,IR=31R1=01,A=01R1=00JC P309400EC6FFFFCBFFFF0A0E4041EM=40,IR=40EM=0EMOV
33、A,R00E0CFFF7F7CBFFFF0F0C0DEM=0C,IR=0CR0=1C,A=1CADD R2,A0F12FFF7EFFFFB98CBFFFF10101112EM=12,IR=12R2=07,W=07R2=23JMP P210480BC6FFFFCBFFFF110B4849EM=48,IR=48EM=0BRL R00B24FFF7F7FFF8DFCBFFFF0C242526EM=24,IR=24R0=1C,A=1CR0=38JMP P10C4805C6FFFFCBFFFF0D054849EM=48,IR=48EM=05TEST R10539FFF7F7FFF7EFFFFE92CBF
34、FFF0638393A3BEM=39,IR=39R1=00,A=00W=00A=00JZ P4064412C6FFFFCBFFFF07124445EM=44,IR=44EM=12ENDP123CCBFFFF133CEM=3C,IR=3CJMP L134813C6FFFFCBFFFF14134849EM=48,IR=48EM=132.除法程序運(yùn)行的過程匯 編 指 令程序地址機(jī)器碼指令說明微程序PC mPC運(yùn)行時(shí)寄存器或存儲(chǔ)器的值MOV R0,#63H000463C7FBFFCBFFFF01020405EM=04,IR=04EM=63,R0=63MOV R1,#08H020508C7FBFFCBF
35、FFF03040405EM=05,IR=05EM=08,R1=08MOV A,R1040DFFF7F7CBFFFF050C0DEM=0D,IR=0DR1=08,A=08MOV R3,A050BFFFB9FCBFFFF060809EM=0B,IR=0BR3=08RR R3062BFFF7F7FFF8BFCBFFFF0728292AEM=2B,IR=2BA=08,R3=08R3=04CLR R20736FFF7F7FFF7EFFFFB99CBFFFF0834353637EM=36,IR=36R2=0,A=0W=0TEST R10839FFF7F7FFF7EFFFFE92CBFFFF0938393A
36、3BEM=39,IR=39R1=08,A=08W=08JZ C0094425C6FFFFCBFFFF0A0B4445EM=44,IR=44EM=25RL R10B25FFF7F7FFF8DFCBFFFF0C242526EM=25,IR=25R1=10,A=10R1=20RL R10C25FFF7F7FFF8DFCBFFFF0D242526EM=25,IR=25R1=08,A=08R1=40RL R10D25FFF7F7FFF8DFCBFFFF0E242526EM=25,IR=25R1=20,A=20R1=10RL R10E25FFF7F7FFF8DFCBFFFF0F242526EM=25,IR
37、=25R1=40,A=40R1=80MOV A,R00F0CFFF7F7CBFFFF100C0DEM=0C,IR=0CR0=63,A=63FFF7EF1019FFF7EFFFFE91CBFFFF1118191AEM=19,IR=19R1=80,W=80A=E3JC B111401FC6FFFFCBFFFF121F4041EM=40,IR=40EM=1FADD A,R11F15FFF7EFFFFE90CBFFFF20141516EM=15,IR=15R1=80,W=80A=63MOV R0,A2008FFFB9FCBFFFF210809EM=08,IR=08R0=63RR R12129FFF7F
38、7FFF8BFCBFFFF2228292AEM=29,IR=29R1=80,A=80R1=40RLC R2222EFFF7F7FFFADFCBFFFF232C2D2EEM=2E,IR=2ER2=0,A=0R2=01JMP B0234815C6FFFFCBFFFF24154849EM=48,IR=48EM=15MOV A,R3150FFFF7F7CBFFFF160C0DEM=0F,IR=0FR3=04,A=04SUB A,R11619FFF7EFFFFE91CBFFFF1718191AEM=19,IR=19R1=40,W=40A=C4JZ C117442FC6FFFFCBFFFF18194445
39、EM=44,IR=44EM=2FMOV A,R0190CFFF7F7CBFFFF1A0C0DEM=0C,IR=0CR0=63,A=63SUB A,R11A19FFF7EFFFFE91CBFFFF1B18191AEM=19,IR=19R1=40,W=40A=23JC B11B401FC6FFFFCBFFFF1C1D4041EM=40,IR=40EM=1FJMP B21D4820C6FFFFCBFFFF1E204849EM=48,IR=48EM=20MOV R0,A2008FFFB9FCBFFFF210809EM=08,IR=08R0=23RR R12129FFF7F7FFF8BFCBFFFF22
40、28292AEM=29,IR=29R1=40,A=40R1=20RLC R2222EFFF7F7FFFADFCBFFFF232C2D2EEM=2E,IR=2ER2=01,A=01R2=02JMP B0234815C6FFFFCBFFFF24154849EM=48,IR=48EM=15MOV A,R3150FFFF7F7CBFFFF160C0DEM=0F,IR=0FR3=04,A=04SUB A,R11619FFF7EFFFFE91CBFFFF1718191AEM=19,IR=19R1=20,W=20A=E4JZ C117442FC6FFFFCBFFFF18194445EM=44,IR=44EM=2FMOV A,R0190CFFF7F7CBFFFF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版節(jié)能環(huán)保型卷簾門采購與節(jié)能改造合同3篇
- 2024年銷售業(yè)務(wù)擔(dān)保協(xié)議標(biāo)準(zhǔn)格式版B版
- 2024年適用各類購銷協(xié)議擔(dān)保范本版B版
- 2024年03月遼寧民生銀行信用卡中心沈陽分中心社會(huì)招考筆試歷年參考題庫附帶答案詳解
- 2024年物業(yè)保安保潔勞務(wù)精細(xì)化管理服務(wù)合同模板2篇
- 2024年版權(quán)買賣合同詳細(xì)條款和標(biāo)的
- 2024年中國全彩顯示屏市場調(diào)查研究報(bào)告
- 研制手機(jī)芯片課程設(shè)計(jì)
- 2025版房地產(chǎn)行業(yè)員工勞動(dòng)合同模板大全3篇
- 2025至2030年中國黑鐵絲六角網(wǎng)行業(yè)投資前景及策略咨詢研究報(bào)告
- 高考英語復(fù)習(xí)備考:語篇銜接連貫的“七選五”教學(xué)設(shè)計(jì)
- 南京理工大學(xué)物理化學(xué)試題庫(含答案)
- 醫(yī)院紀(jì)檢監(jiān)察室工作總結(jié)暨述職報(bào)告課件
- 貴州省銅仁市2022-2023學(xué)年高二上學(xué)期1月期末質(zhì)量監(jiān)測數(shù)學(xué)試題(含答案詳解)
- 正常分娩產(chǎn)婦護(hù)理查房
- 降低會(huì)陰側(cè)切率的PDCA
- 商業(yè)道德規(guī)范行為準(zhǔn)則
- 人格心理學(xué)配套題庫
- 制造業(yè)中的生物多樣性和可持續(xù)性
- 保險(xiǎn)公司分公司開業(yè)驗(yàn)收統(tǒng)計(jì)與信息化細(xì)化項(xiàng)目表doc
- 提升國家語言能力的若干思考
評論
0/150
提交評論