![計算機組成原理 課程設(shè)計報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/c4b9fa57-d9ae-4b56-98c3-f91ba15731c3/c4b9fa57-d9ae-4b56-98c3-f91ba15731c31.gif)
![計算機組成原理 課程設(shè)計報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/c4b9fa57-d9ae-4b56-98c3-f91ba15731c3/c4b9fa57-d9ae-4b56-98c3-f91ba15731c32.gif)
![計算機組成原理 課程設(shè)計報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/c4b9fa57-d9ae-4b56-98c3-f91ba15731c3/c4b9fa57-d9ae-4b56-98c3-f91ba15731c33.gif)
![計算機組成原理 課程設(shè)計報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/c4b9fa57-d9ae-4b56-98c3-f91ba15731c3/c4b9fa57-d9ae-4b56-98c3-f91ba15731c34.gif)
![計算機組成原理 課程設(shè)計報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-5/31/c4b9fa57-d9ae-4b56-98c3-f91ba15731c3/c4b9fa57-d9ae-4b56-98c3-f91ba15731c35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機組成原理課程設(shè)計報告班級:計算機 班 姓名: 學號: 完成時間: 一、課程設(shè)計目的1在實驗機上設(shè)計實現(xiàn)機器指令及對應的微指令(微程序)并驗證,從而進一步掌握微程序設(shè)計控制器的基本方法并了解指令系統(tǒng)與硬件結(jié)構(gòu)的對應關(guān)系;2通過控制器的微程序設(shè)計,綜合理解計算機組成原理課程的核心知識并進一步建立整機系統(tǒng)的概念;3培養(yǎng)綜合實踐及獨立分析、解決問題的能力。二、課程設(shè)計的任務針對COP2000實驗儀,從詳細了解該模型機的指令/微指令系統(tǒng)入手,以實現(xiàn)乘法和除法運算功能為應用目標,在COP2000的集成開發(fā)環(huán)境下,設(shè)計全新的指令系統(tǒng)并編寫對應的微程序;之后編寫實現(xiàn)乘法和除法的程序進行設(shè)計的驗證。三、
2、課程設(shè)計使用的設(shè)備(環(huán)境)1硬件l COP2000實驗儀l PC機2軟件l COP2000仿真軟件四、課程設(shè)計的具體內(nèi)容(步驟)1詳細了解并掌握COP 2000模型機的微程序控制器原理,通過綜合實驗來實現(xiàn)該模型機指令系統(tǒng)的特點:1.模型機總體結(jié)構(gòu) COP2000模型機包括了一個標準CPU所具備所有部件,這些部件包括:運算器ALU、累加器A、工作寄存器W、左移門L、直通門D、右移門R、寄存器組R0-R3、程序計數(shù)器PC、地址寄存器MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入端口IN、輸出端口寄存器OUT、程序存儲器EM、指令寄存器IR、微程序計數(shù)器uPC、微程序存儲器uM,以及中斷控制電路、
3、跳轉(zhuǎn)控制電路。其中運算器和中斷控制電路以及跳轉(zhuǎn)控制電路用CPLD來實現(xiàn),其它電路都是用離散的數(shù)字電路組成。微程序控制部分也可以用組合邏輯控制來代替。 模型機為8位機,數(shù)據(jù)總線、地址總線都為8位,但其工作原理與16位機相同。 模型機的指令碼為8位,根據(jù)指令類型的不同,可以有0到2個操作數(shù)。指令碼的最低兩位用來選擇R0-R3寄存器,在微程序控制方式中,用指令碼作為微地址來尋址微程序存儲器,找到執(zhí)行該指令的微程序。而在組合邏輯控制方式中,按時序用指令碼產(chǎn)生相應的控制位。在本模型機中,一條指令最多分四個狀態(tài)周期,一個狀態(tài)周期為一個時鐘脈沖,每個狀態(tài)周期產(chǎn)生不同的控制邏輯,實現(xiàn)模型機的各種功能。模型機有
4、24位控制位以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。2. 模型機尋址方式 模型機的尋址方式分五種: 累加器尋址: 操作數(shù)為累加器A,例如“CPL A”是將累加器A值取反,還有些指令是隱含尋址累加器A,例如“OUT”是將累加器A的值輸出到輸出端口寄存器OUT。 寄存器尋址: 參與運算的數(shù)據(jù)在R0-R3的寄存器中,例如 “ADD A,R0”指令是將寄存器R0的值加上累加器A的值,再存入累加器A中。 寄存器間接尋址:參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址在寄存器R0-R3中,例如 “MOV A,R1”指令是將寄存器R1的值做為地址,把存儲器EM中該地址的內(nèi)容送入累加器A中。
5、存儲器直接尋址:參與運算的數(shù)據(jù)在存儲器EM中,數(shù)據(jù)的地址為指令的操作數(shù)。例如“AND A,40H”指令是將存儲器EM中40H單元的數(shù)據(jù)與累加器A的值做邏輯與運算,結(jié)果存入累加器A。 立即數(shù)尋址: 參與運算的數(shù)據(jù)為指令的操作數(shù)。例如 “SUB A,#10H”是從累加器A中減去立即數(shù)10H,結(jié)果存入累加器A。3. 模型機指令集 模型機的缺省的指令集分幾大類: 算術(shù)運算指令、邏輯運算指令、移位指令、數(shù)據(jù)傳輸指令、跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。算術(shù)運算指令:邏輯運算指令:數(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. 模型機指令格式該模型機微指令系統(tǒng)的特點(包括其微指令格式的說明等):1. 總體概述該模型機的微命令是以直接表示法進行編碼的,其特點是操作控制字段中的每一位代表一個微命令。這種方法的優(yōu)點是簡單直觀,其輸出直接用于控制。缺點是微指令字較長,因而使控制存儲器容量較大。2. 模型機微指令格式3. 模型機微指令格式的說明模型機有24位控制位以控制寄存器的輸入、輸出,選擇運算器的運算功能,存儲器的讀寫。微程序控制器由微程序給出24位控制信號,而微
8、程序的地址又是由指令碼提供的,也就是說24位控制信號是由指令碼確定的。該模型機的微指令的長度為24位,其中微指令中只含有微命令字段,沒有微地址字段。其中微命令字段采用直接按位的表示法,哪位為0,表示選中該微操作,而微程序的地址則由指令碼指定。24位控制位分別介紹如下: XRD : 外部設(shè)備讀信號,當給出了外設(shè)的地址后,輸出此信號,從指定外設(shè)讀數(shù)據(jù)。 EMWR: 程序存儲器EM寫信號。 EMRD: 程序存儲器EM讀信號。 PCOE: 將程序計數(shù)器PC的值送到地址總線ABUS上。EMEN: 將程序存儲器EM與數(shù)據(jù)總線DBUS接通,由EMWR和EMRD決定是將DBUS數(shù)據(jù)寫到EM中,還是從EM讀出數(shù)
9、據(jù)送到DBUS。 IREN: 將程序存儲器EM讀出的數(shù)據(jù)打入指令寄存器IR和微指令計數(shù)器uPC。 EINT: 中斷返回時清除中斷響應和中斷請求標志,便于下次中斷。 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: 決定運算器是否帶進位移位,CN=1帶進位,CN=0不帶進位。 FEN: 將標志位存入ALU內(nèi)部的標志寄存器。 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、何種運算。S2 S1 S0功能0 0 0A+W 加0 0 1A-W 減0 1 0A|W 或0 1 1A&W 與1 0 0A+W+C 帶進位加1 0 1A-W-C 帶進位減1 1 0A A取反1 1 1A 輸出A2. 計算機中實現(xiàn)乘法和除法的原理(1)無符號乘法算法流程圖:開始設(shè)置乘數(shù)、被乘數(shù)、累加器R1是否為0 Y NR1進位右移 是否進位 N YR0加入結(jié)果寄存器被乘數(shù)R0左移結(jié)束 硬件原理框圖: RDL乘數(shù)右移被乘數(shù)右移R0保存結(jié)果 判斷乘數(shù)末位 ALUWAR2R1乘數(shù)被乘數(shù)(2)無符號除法算法流程圖:開始初始化被除數(shù)R0,除數(shù)R1,商R2,計數(shù)器R3做減法余數(shù)為負 N Y除數(shù)右移商左移除
12、數(shù)右移商左移商為1商為0結(jié)束結(jié)束做加法 N N計算余數(shù) Y Y輸出結(jié)果結(jié)束 硬件原理框圖: 商左移RDL除數(shù)右移R0(商) 判斷乘數(shù)末位 ALUR0(計數(shù)器)WAR2R1除數(shù)被除數(shù)3對應于以上算法如何分配使用COP2000實驗儀中的硬件(1)無符號乘法 硬件名稱實現(xiàn)算法功能描述寄存器R0 初始化時,用來存放被乘數(shù); 在程序執(zhí)行的過程中,用來存放向左移位后的被乘數(shù)。寄存器R1 初始化時,用來存放乘數(shù); 在程序執(zhí)行的過程中,用來存放向右移位后的乘數(shù)。寄存器R2計算時用來存放部分積和最后的積累加器A執(zhí)行ADD A,R?(加法)、SHL R?(左移一位)、SHR R?(右移一位)等命令時所必須使用的寄
13、存器。寄存器W執(zhí)行ADD A,R?(加法)、TEST R?,#II(測試R2的末位)等雙操作數(shù)命令時所必須使用的寄存器。左移門L用來實現(xiàn)相應數(shù)據(jù)左移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來實現(xiàn)相應數(shù)據(jù)右移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計數(shù)器PC 控制程序按順序正常執(zhí)行; 當執(zhí)行轉(zhuǎn)移指令時,從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動執(zhí)行。 當要從EM中讀取數(shù)據(jù)時,由PC提供地址。存儲器EM存儲指令和數(shù)據(jù)。微程序計數(shù)器PC向微程序存儲器M提供相應微指令的地址。微程序存儲器M存儲相應指令
14、的微指令。輸出寄存器OUT可以將運算結(jié)果輸出到輸出寄存器OUT(本實驗未用)。堆棧ST當存儲于累加器A的值將要受到破壞時,將其數(shù)據(jù)保存在堆棧ST中,使程序能夠正常地執(zhí)行。(2)無符號除法硬件名稱實現(xiàn)算法功能描述寄存器R0初始化時,用來存放被除數(shù)和計算后的余數(shù)。寄存器R1 初始化時,用來存放除數(shù); 在程序執(zhí)行的過程中,用來存放向右移位后的除數(shù)。寄存器R2在程序執(zhí)行過程中,用來保存當前算得的商。寄存器R3當作計數(shù)器使用,用來控制程序是否結(jié)束。累加器A 計算時用來存放中間結(jié)果; 執(zhí)行ADD A,R?(加法)、SUB A,R?(減法)等命令時所必須使用的寄存器。寄存器W執(zhí)行SUB A,R?(減法)等雙
15、操作數(shù)命令時所必須使用的寄存器。左移門L用來實現(xiàn)相應數(shù)據(jù)左移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。直通門D用來控制ALU的執(zhí)行結(jié)果是否輸出到數(shù)據(jù)總線。右移門R用來實現(xiàn)相應數(shù)據(jù)右移一位的運算,并能夠控制該運算后的結(jié)果是否輸出到數(shù)據(jù)總線。程序計數(shù)器PC 控制程序按順序正常執(zhí)行; 當執(zhí)行轉(zhuǎn)移指令時,從數(shù)據(jù)線接收要跳轉(zhuǎn)的地址,使程序能夠按需要自動執(zhí)行。 當要從EM中讀取數(shù)據(jù)時,由PC提供地址。存儲器EM存儲指令和數(shù)據(jù)。微程序計數(shù)器PC向微程序存儲器M提供相應微指令的地址。微程序存儲器M存儲相應指令的微指令。輸出寄存器OUT可以將運算結(jié)果輸出到輸出寄存器OUT(本實驗未用)。堆棧ST當
16、存儲于累加器A的值將要受到破壞時,將其數(shù)據(jù)保存在堆棧ST中,使程序能夠正常地執(zhí)行。4在COP2000集成開發(fā)環(huán)境下設(shè)計全新的指令/微指令系統(tǒng)設(shè)計結(jié)果如表所示(可按需要增刪表項)(1) 新的指令集(如果針對乘除法設(shè)計了兩個不同指令集要分別列表)助記符機器碼1機器碼2指令說明_FATCH_ 000000xx00-03實驗機占用,不可修改。復位后,所有寄存器清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?中,并影響標志位。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ù)帶進位左移一位。RRC R?001100xx30-33將寄存器R?中的數(shù)據(jù)帶進位右移一位。CLR R?001101xx34-37將寄存器R?中的內(nèi)容清零。TEST R?001110xx38-3B測試寄存器R?中的內(nèi)容是否為零。ENDP001111xx3C-3F程序結(jié)束。JC MM010000XX 40-43MM若進位標志位置1,跳轉(zhuǎn)到MM地址。JZ MM010001XX 44-47MM若零標志位置1,跳轉(zhuǎn)到MM地址。JMP MM010010 48-4BMM無條件跳轉(zhuǎn)到MM地址。(2) 新的微指令集助記符狀態(tài)微地址微程序數(shù)據(jù)輸出數(shù)據(jù)打入地址輸出運算器
19、移位控制mPCPC_FATCH_T0 00CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+101FFFFFF浮空浮空A輸出+102FFFFFF浮空浮空A輸出+103FFFFFF浮空浮空A輸出+1MOV R?,#IIT104C7FBFF存儲器值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,標志位C,Z浮空A輸出+1T016CBFFFF浮空指令寄存
21、器IR PC輸出A輸出寫入+117FFFFFF浮空浮空A輸出+1SUB A,R?T218FFF7EF寄存器值R?寄存器W浮空A輸出+1T119FFFE91ALU直通寄存器A,標志位C,Z浮空減運算+1T01ACBFFFF浮空指令寄存器IR PC輸出A輸出寫入+11BFFFFFF浮空浮空A輸出+1AND R?,#IIT31CC7FFEF存貯器值EM寄存器WPC輸出A輸出+1T21DFFF7F7寄存器值R?寄存器A浮空A輸出+1T11EFFFB9BALU直通寄存器R?浮空與運算+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?,標志位C,Z浮空A輸出左移+1T026CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+127FFFFFF浮空浮空A輸出+1RR R?T228FFF7F7寄存器值R?寄存器A浮空A輸出+1T129FFF8BFALU右移寄存器R?,標志位C,Z浮空A輸出右移+1T02ACBFFFF浮空指令寄存器IR PC輸出A輸出寫入+12BFFF
23、FFF浮空浮空A輸出+1RLC R?T22CFFF7F7寄存器值R?寄存器A浮空A輸出+1T12DFFFADFALU左移寄存器R?,標志位C,Z浮空A輸出帶進位左移+1T02ECBFFFF浮空指令寄存器IR PC輸出A輸出寫入+12FFFFFFF浮空浮空A輸出+1RRC R?T230FFF7F7寄存器值R?寄存器A浮空A輸出+1T131FFFABFALU右移寄存器R?,標志位C,Z浮空A輸出帶進位右移+1T032CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+133FFFFFF浮空浮空A輸出+1CLR R?T334FFF7F7寄存器值R?寄存器A浮空A輸出+1T235FFF7EF寄存器值R
24、?寄存器W浮空A輸出+1T136FFFB99ALU直通寄存器R?浮空減運算+1T037CBFFFF浮空指令寄存器IR PC輸出A輸出寫入+1TEST R?T338FFF7F7寄存器值R?寄存器A浮空A輸出+1T239FFF7EF寄存器值R?寄存器W浮空A輸出+1T13AFFFE92ALU直通寄存器R?,標志位C,Z浮空或運算+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è)計完成的新指令集編
26、寫實現(xià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 ;進位右移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 ;初始化計數(shù)器 CLR R2 ;清零商 TEST R1 ;檢驗除數(shù)是否為0 JZ C0 ;是0,跳轉(zhuǎn)報錯 RL R1 RL R1 RL R1 RL R1 ;對齊被除數(shù)與除數(shù) MOV A,R0 SUB A,R1 ;判斷商是否不超過5位 JC B1 ;不超過,跳轉(zhuǎn) JMP C0 ;超過,報錯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ù)為負,做加法B2: MOV R0,A RR R1 ;
28、右移除數(shù) RLC R2 ;余數(shù)為負則C=1,左移上1;余數(shù)為正則C=0,左移上0 JMP B0 ;跳轉(zhuǎn)C0: MOV R0,#0FFH ;報錯 MOV R1,#0FFH MOV R2,#0FFH MOV R3,#0FFH JMP ENDDC1: NOT R2 ;取反得商 AND R2,#0FH ;商不超過4位ENDD: ENDPP: JMP P6上述程序的運行情況(跟蹤結(jié)果)按下表填寫描述以上各程序運行情況的內(nèi)容。按每個程序一張表進行。1.乘法程序運行的過程匯 編 指 令程序地址機器碼指令說明微程序PC mPC運行時寄存器或存儲器的值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.除法程序運行的過程匯 編 指 令程序地址機器碼指令說明微程序PC mPC運行時寄存器或存儲器的值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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買門定金合同范本
- boot模式合同范例
- 鄉(xiāng)鎮(zhèn)合同范例
- 買單出口合同范本
- 公司房屋修建合同范本
- 企業(yè)公司離職合同范本
- 供油采購合同范例
- 2025-2030年地質(zhì)勘察數(shù)據(jù)處理算法企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年數(shù)據(jù)融合與智能分析行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年廚房烹飪輔助機器人行業(yè)跨境出海戰(zhàn)略研究報告
- 無人機法律法規(guī)與安全飛行 第2版空域管理
- 醫(yī)療器材申請物價流程
- 人教PEP版2025年春季小學英語三年級下冊教學計劃
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項考試題庫
- 華為研發(fā)部門績效考核制度及方案
- CSC資助出國博士聯(lián)合培養(yǎng)研修計劃英文-research-plan
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 司法考試2024年知識點背誦版-民法
- 冀少版小學二年級下冊音樂教案
- 【龍集鎮(zhèn)稻蝦綜合種養(yǎng)面臨的問題及優(yōu)化建議探析(論文)13000字】
評論
0/150
提交評論