版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
計(jì)算機(jī)組成原理課程設(shè)計(jì)
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
計(jì)算機(jī)組成原理課程設(shè)計(jì)報(bào)告
一、課程設(shè)計(jì)目的
1.在實(shí)驗(yàn)機(jī)上設(shè)計(jì)實(shí)現(xiàn)機(jī)器指令及對(duì)應(yīng)的微指
令(微程序)并驗(yàn)證,從而進(jìn)一步掌握微程序設(shè)
計(jì)控制器的基本方法并了解指令系統(tǒng)與硬件結(jié)
構(gòu)的對(duì)應(yīng)關(guān)系;
2.經(jīng)過(guò)控制器的微程序設(shè)計(jì),綜合理解計(jì)算機(jī)
組成原理課程的核心知識(shí)并進(jìn)一步建立整機(jī)系
統(tǒng)的概念;
3.培養(yǎng)綜合實(shí)踐及獨(dú)立分析、解決問(wèn)題的能力。
二、課程設(shè)計(jì)的任務(wù)
針對(duì)COP實(shí)驗(yàn)儀,從詳細(xì)了解該模型機(jī)的
指令/微指令系統(tǒng)入手,以實(shí)現(xiàn)乘法和除法運(yùn)算
功能為應(yīng)用目標(biāo),在COP的集成開(kāi)發(fā)環(huán)境下,
設(shè)計(jì)全新的指令系統(tǒng)并編寫(xiě)對(duì)應(yīng)的微程序;之后
編寫(xiě)實(shí)現(xiàn)乘法和除法的程序進(jìn)行設(shè)計(jì)的驗(yàn)證。
三、課程設(shè)計(jì)使用的設(shè)備(環(huán)境)
1.硬件
?COP實(shí)驗(yàn)儀
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
?PC機(jī)
2.軟件
?COP仿真軟件
四、課程設(shè)計(jì)的具體內(nèi)容(步驟)
L詳細(xì)了解并掌握COP模型機(jī)的微程序控制
器原理,經(jīng)過(guò)綜合實(shí)驗(yàn)來(lái)實(shí)現(xiàn)
該模型機(jī)指令系統(tǒng)的特點(diǎn):
①總體概述
COP模型機(jī)包括了一個(gè)標(biāo)準(zhǔn)CPU所具備所有
部件,這些部件包括:運(yùn)算器ALU、累加器A、
工作寄存器W、左移門(mén)L、直通門(mén)D、右移門(mén)R、
寄存器組R0-R3、程序計(jì)數(shù)器PC、地址寄存器
MAR、堆棧寄存器ST、中斷向量寄存器IA、輸入
端口IN、輸出端口寄存器OUT、程序存儲(chǔ)器EM、
指令寄存器IR、微程序計(jì)數(shù)器uPC、微程序存儲(chǔ)
器uM,以及中斷控制電路、跳轉(zhuǎn)控制電路。其
中運(yùn)算器和中斷控制電路以及跳轉(zhuǎn)控制電路用
CPLD來(lái)實(shí)現(xiàn),其它電路都是用離散的數(shù)字電路
組成。微程序控制部分也能夠用組合邏輯控制來(lái)
代替。
模型機(jī)的指令碼為8位,根據(jù)指令類(lèi)型的不
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
同,能夠有0到2個(gè)操作數(shù)。指令碼的最低兩位
用來(lái)選擇RO-R3寄存器,在微程序控制方式中,
用指令碼做為微地址來(lái)尋址微程序存儲(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ī)有
24位控制位以控制寄存器的輸入、輸出,選擇
運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀寫(xiě)。
模型機(jī)的缺省的指令集分幾大類(lèi):算術(shù)運(yùn)算
指令、邏輯運(yùn)算指令、移位指令、數(shù)據(jù)傳輸指令、
跳轉(zhuǎn)指令、中斷返回指令、輸入/輸出指令。
②模型機(jī)的尋址方式
表1模型機(jī)的尋址方式
模型機(jī)的尋址方式說(shuō)指令舉
指令說(shuō)明
尋址方式明例
操作數(shù)為累將累加器A
CPLA
累加器尋加器A的值取反
址隱含尋址累將累加器A
OUT
加器A的值輸出到
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
輸出端口寄
存器OUT
將寄存器RO
參與運(yùn)算的
的值加上累
寄存器尋數(shù)據(jù)在ADD
加器A的值,
址R0?R3的寄A,RO
再存入累加
存器中
器A中
參與運(yùn)算的將寄存器R1
數(shù)據(jù)在存儲(chǔ)的值作為地
寄存器間器EM中,數(shù)MOV址,把存儲(chǔ)器
接尋址據(jù)的地址在A,@R1EM中該地址
寄存器的內(nèi)容送入
R0-R3中累加器A中
將存儲(chǔ)器EM
參與運(yùn)算的
中40H單元
數(shù)據(jù)在存儲(chǔ)
的數(shù)據(jù)與累
存儲(chǔ)器直器EM中,數(shù)AND
加器A的值
接尋址據(jù)的地址為A,40H
作邏輯與運(yùn)
指令的操作
算,結(jié)果存入
數(shù)。
累加器A
立即數(shù)尋參與運(yùn)算的SUB從累加器A
址數(shù)據(jù)為指令A(yù),#10H中減去立即
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
的操作數(shù)。數(shù)10H,結(jié)果
存入累加器
A
COP模型機(jī)指令的最低兩位(IR0和IR1)
用來(lái)尋址R0?R3四個(gè)寄存器;IR2和IR3與ELP
微控制信號(hào),Cy和Z兩個(gè)程序狀態(tài)信號(hào)配合,
控制PC的置數(shù)即程序的轉(zhuǎn)移。各種轉(zhuǎn)移的條件
判斷邏輯如下所示:
PC置數(shù)邏輯
當(dāng)ELP=1時(shí),不允許PC被預(yù)置
當(dāng)ELP=0時(shí)
當(dāng)IR3=1時(shí),無(wú)論Cy和Z什么狀
態(tài),PC被預(yù)置
當(dāng)IR3=0時(shí)
若IR2=0,則當(dāng)Cy=l時(shí)PC被
預(yù)置
若IR2=L則當(dāng)Z=1時(shí)PC被
預(yù)置
本模型機(jī)時(shí)序控制采用不定長(zhǎng)機(jī)器周期的
同步控制方式,一條指令最多分四個(gè)節(jié)拍。
系統(tǒng)提供的默認(rèn)指令系統(tǒng)包括以下7類(lèi)指令:
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
田4)二宿比j型田=田狂皿任七匕人
ADDA,R?ANDA,R?MAA,R?JCMM
ADDA,@R?ANDA,@R?MOVA,@R?JZMM
ADDA,MMANDA,MMMOVA,MMJMPMM
ADDA,#HANDA,#HMOVA,#11CALLMMRET
ADDCA,R?ORA.R?MOVR?.A
移位指令:中斷皈回指輸入/輸出
AADDDCPAA,/@aDKOr
RRARETIREADMM
ADDCA,MM
RLAWRITEMM
ADDCA,#11
RRCAIN
該模型機(jī)微指令系統(tǒng)的特點(diǎn)(包括其微
指令格式的說(shuō)明等):
①總體概述
該模型機(jī)的微命令是以直接表示法進(jìn)行編碼
的,其特點(diǎn)是操作控制字段中的每一位代表一個(gè)
微命令。這種方法的優(yōu)點(diǎn)是簡(jiǎn)單直觀,其輸出直
接用于控制。缺點(diǎn)是微指令字較長(zhǎng),因而使控制
存儲(chǔ)器容量較大。
②微指令格式的說(shuō)明
模型機(jī)有24位控制位以控制寄存器的輸
入、輸出,選擇運(yùn)算器的運(yùn)算功能,存儲(chǔ)器的讀
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
寫(xiě)。微程序控制器由微程序給出24位控制信號(hào),
而微程序的地址又是由指令碼提供的,也就是說(shuō)
24位控制信號(hào)是由指令碼確定的。該模型機(jī)的
微指令的長(zhǎng)度為24位,其中微指令中只含有微
命令字段,沒(méi)有微地址字段。其中微命令字段采
用直接按位的表示法,哪位為0,表示選中該微
操作,而微程序的地址則由指令碼指定。這24
位操作控制信號(hào)的功能如表2所示:(按控制信
號(hào)從左到右的順序依次說(shuō)明)
表2微指令控制信號(hào)的功能
操作招
控制信號(hào)的說(shuō)明
制信號(hào)
外部設(shè)備讀信號(hào),當(dāng)給出了外設(shè)的地址
XRD
后,輸出此信號(hào),從指定外設(shè)讀數(shù)據(jù)。
EMW
程序存儲(chǔ)器EM寫(xiě)信號(hào)。
R
EMRD程序存儲(chǔ)器EM讀信號(hào)。
將程序計(jì)數(shù)器PC的值送到地址總
PCOE
線ABUS±o
將程序存儲(chǔ)器EM與數(shù)據(jù)總線
EMEN
DBUS接通,由EMWR和EMRD
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
決定是將DBUS數(shù)據(jù)寫(xiě)到EM中,
還是從EM讀出數(shù)據(jù)送到DBUSo
將程序存儲(chǔ)器EM讀出的數(shù)據(jù)打入指
IREN
令寄存器IR和微指令計(jì)數(shù)器FiPCo
中斷返回時(shí)清除中斷響應(yīng)和中斷
EINT
請(qǐng)求標(biāo)志,便于下次中斷。
PC打入允許,與指令寄存器的
ELP
IR3、IR2位結(jié)合,控制程序跳轉(zhuǎn)。
MARE將數(shù)據(jù)總線DBUS上數(shù)據(jù)打入地址
N寄存器MARo
MARO將地址寄存器MAR的值送到地址
E總線ABUS±0
OUTE將數(shù)據(jù)總線DBUS上數(shù)據(jù)送到輸出
N端口寄存器OUT里。
將數(shù)據(jù)總線DBUS上數(shù)據(jù)存入堆棧
STEN
寄存器ST中。
讀寄存器組R0~R3,寄存器R?的
RRD
選擇由指令的最低兩位決定。
寫(xiě)寄存器組R0~R3,寄存器R?的
RWR
選擇由指令的最低兩位決定。
決定運(yùn)算器是否帶進(jìn)位移位,
CN
CN=1帶進(jìn)位,CN=0不帶進(jìn)位。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
將標(biāo)志位存入ALU內(nèi)部的標(biāo)志寄
FEN
存器。
X2
X2、XI、X0三位組合來(lái)譯碼選擇
XI
將數(shù)據(jù)送到DBUS上的寄存器。
X0
將數(shù)據(jù)總線DBUS的值打入工作寄
WEN
存器W中。
將數(shù)據(jù)總線DBUS的值打入累加器
AEN
A中。
S2
S2、SI、SO三位組合決定ALU做
S1
何種運(yùn)算。
SO
COP中有7個(gè)寄存器能夠向數(shù)據(jù)總線輸出數(shù)
據(jù),但在某一特定時(shí)刻只能有一個(gè)寄存器輸出
數(shù)據(jù).由X2,XI,X0決定那一個(gè)寄存器輸出數(shù)
據(jù)。
X2XI輸出寄存器
X0
00IN_OE夕卜
0部輸入門(mén)
00IA_OE中
1斷向量
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
01ST_OE堆
0棧寄存器
01PC_OE
1PC寄存器
10D_OE直
0通門(mén)
10R_OE右
1移門(mén)
11L_OE左
0移門(mén)
11沒(méi)有輸出
1
COP中的運(yùn)算器由一片EPLD實(shí)現(xiàn).有8種運(yùn)
算,經(jīng)過(guò)S2,SI,SO來(lái)選擇。運(yùn)算數(shù)據(jù)由寄存器
A及寄存器W給出,運(yùn)算結(jié)果輸出到直通門(mén)D。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
01A|W或
0
01A&W與
1
10A+W+C帶
0進(jìn)位加
10A-W-C帶
1進(jìn)位減
11?AA
0取反
11A輸
1出A
2o計(jì)算機(jī)中實(shí)現(xiàn)乘法和除法的原理
(1)無(wú)符號(hào)乘法
①實(shí)例演示(即,列4位乘法具體例子演
算的算式):
1001;被
乘數(shù)
X0101;乘
數(shù)
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
0000;初始值
(零)
+0101(0);乘
數(shù)最低位為1,部分積加乘數(shù),被乘數(shù)左移
9
位,乘
數(shù)右移
一位。
0101;部
分積
+0000(1);乘
數(shù)最低位為0,部分積加0,被乘數(shù)左
;移
一位,
乘數(shù)右
移一
位。
00101;部
分積
+0101(1);乘
數(shù)最低位為1,部分積加被乘數(shù),被乘數(shù)左
;移
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
-------------------一位,乘數(shù)
右移一位。
011001;部分積
+0000(0);乘
數(shù)最低位為0,部分積加0,被乘數(shù)左移一
位,乘
數(shù)右移
一位。
(0)0011001;計(jì)
算完畢,結(jié)果為0011001
即:1001X0110=0011001
②硬件原理框圖:
用
米
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
在模型機(jī)上實(shí)現(xiàn)無(wú)符號(hào)數(shù)乘法運(yùn)算時(shí),采
用“加法一移位”的重復(fù)運(yùn)算方法。那么,
無(wú)符號(hào)乘法的硬件原理框圖如圖2所示。
③算法流程圖:
在模型機(jī)上實(shí)現(xiàn)無(wú)符號(hào)數(shù)乘法運(yùn)算時(shí),采用
“加法一移位”的重復(fù)運(yùn)算方法。因此,無(wú)符號(hào)
乘法的算法流程圖如圖3所示。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
③算法流程圖
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
(2)無(wú)符號(hào)除法
①實(shí)例演示(即,列4位除法具體例子演
算的算式):
被除數(shù)為01100100(二進(jìn)制),即為十進(jìn)制的
100;除數(shù)為1001(二進(jìn)制),即為十進(jìn)制的9。
那么,能夠經(jīng)過(guò)筆算得到:
011001004-1001=1011-0001
即十進(jìn)制運(yùn)算結(jié)果為:
1004-9=11-1
無(wú)符號(hào)除法的實(shí)例演示如圖4所示
01011
1i6"liooio
o;被除數(shù)
100
1;除數(shù)
;減去除數(shù)
1101
0
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
余數(shù)為負(fù),c=l,商上0
100
1;
商左移一位,除數(shù)右移
一位
;加上
除數(shù)
00011
1;余數(shù)為正,C=0,商上1
100
1;商
左移一位,除數(shù)右移
一位
;減去除數(shù)
111110
0;余數(shù)為
負(fù),C=l,商上0
100
1;商左移一位,除數(shù)右移一位
;加上
除數(shù)
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
0000101
0;余數(shù)為正,C=0,商上1
100
1;商左移一
位,除數(shù)右移一位
;減去除數(shù)
0000000
1;余數(shù)為正,C=0,商上1,余數(shù)為1
;余數(shù)為正不用處理
②硬件原理框圖:
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
圖5無(wú)符號(hào)除法的硬件原理框圖
在模型機(jī)上實(shí)現(xiàn)無(wú)符號(hào)數(shù)除法運(yùn)算時(shí),采
用“加減交替算法”的運(yùn)算方法。那么,無(wú)
符號(hào)除法的硬件原理框圖如圖5所示。
③算法流程圖:
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
3.對(duì)應(yīng)于以上算法如何分配使用COP實(shí)驗(yàn)儀
中的硬件
(初步分配,設(shè)計(jì)完成后再將準(zhǔn)確的使用情況填
寫(xiě)在此處)
(1)無(wú)符號(hào)乘法
符號(hào)乘法對(duì)應(yīng)于COP實(shí)驗(yàn)儀的硬件具體分
配使用情況如下表所示:
表3無(wú)符號(hào)乘法的硬件分配情況
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
硬件名稱(chēng)實(shí)現(xiàn)算法功能描述
計(jì)算時(shí)用來(lái)存放部分積和最后
寄存器R0
的積
①初始化時(shí),用來(lái)存放被乘
數(shù);
寄存器R1
②在程序執(zhí)行的過(guò)程中,用來(lái)
存放向左移位后的被乘數(shù)。
①初始化時(shí),用來(lái)存放乘數(shù);
寄存器R2②在程序執(zhí)行的過(guò)程中,用來(lái)
存放向右移位后的乘數(shù)。
執(zhí)行ADDA,R?(加法)、SHLR?
(左移一位)、SHRR?(右移
累加器A
一位)等命令時(shí)所必須使用的
寄存器。
執(zhí)行ADDA,R?(加法)、TEST
R?,#H(測(cè)試R2的末位)等雙
寄存器W
操作數(shù)命令時(shí)所必須使用的寄
存器。
用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)左移一位的
左移門(mén)L運(yùn)算,并能夠控制該運(yùn)算后的
結(jié)果是否輸出到數(shù)據(jù)總線。
直通門(mén)D用來(lái)控制ALU的執(zhí)行結(jié)果是否
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
輸出到數(shù)據(jù)總線。
用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的
右移門(mén)R運(yùn)算,并能夠控制該運(yùn)算后的
結(jié)果是否輸出到數(shù)據(jù)總線。
①控制程序按順序正常執(zhí)行;
②當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)
程序計(jì)數(shù)線接收要跳轉(zhuǎn)的地址,使程序
器PC能夠按需要自動(dòng)執(zhí)行。
③當(dāng)要從EM中讀取數(shù)據(jù)時(shí),
由PC提供地址。
存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。
微程序計(jì)向微程序存儲(chǔ)器UM提供相應(yīng)
數(shù)器UPC微指令的地址。
微程序存
存儲(chǔ)相應(yīng)指令的微指令。
儲(chǔ)器UM
輸出寄存能夠?qū)⑦\(yùn)算結(jié)果輸出到輸出寄
器OUT存器OUT(本實(shí)驗(yàn)未用)。
當(dāng)存儲(chǔ)于累加器A的值將要受
到破壞時(shí),將其數(shù)據(jù)保存在堆
堆棧ST
棧ST中,使程序能夠正常地執(zhí)
行。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
(2)無(wú)符號(hào)除法
無(wú)符號(hào)除法對(duì)應(yīng)于COP實(shí)驗(yàn)儀的硬件具體
分配使用情況如下表所示:
表4無(wú)符號(hào)除法的硬件分配情況
硬件名稱(chēng)實(shí)現(xiàn)算法功能描述
初始化時(shí),用來(lái)存放被除數(shù)和
寄存器R0
計(jì)算后的余數(shù)。
①初始化時(shí),用來(lái)存放除數(shù);
寄存器R1②在程序執(zhí)行的過(guò)程中,用來(lái)
存放向右移位后的除數(shù)。
在程序執(zhí)行過(guò)程中,用來(lái)保存
寄存器R2
當(dāng)前算得的商。
當(dāng)作計(jì)數(shù)器使用,用來(lái)控制程
寄存器R3
序是否結(jié)束(初始值5)。
①計(jì)算時(shí)用來(lái)存放中間結(jié)果;
②執(zhí)行ADDA,R?(加法)、SUB
累加器A
A,R?(減法)等命令時(shí)所必須
使用的寄存器。
執(zhí)行SUBA,R?(減法)等雙操
寄存器W作數(shù)命令時(shí)所必須使用的寄存
器。
左移門(mén)L用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)左移一位的
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
運(yùn)算,并能夠控制該運(yùn)算后的
結(jié)果是否輸出到數(shù)據(jù)總線。
用來(lái)控制ALU的執(zhí)行結(jié)果是否
直通門(mén)D
輸出到數(shù)據(jù)總線。
用來(lái)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)右移一位的
右移門(mén)R運(yùn)算,并能夠控制該運(yùn)算后的
結(jié)果是否輸出到數(shù)據(jù)總線。
①控制程序按順序正常執(zhí)行;
②當(dāng)執(zhí)行轉(zhuǎn)移指令時(shí),從數(shù)據(jù)
程序計(jì)數(shù)線接收要跳轉(zhuǎn)的地址,使程序
器PC能夠按需要自動(dòng)執(zhí)行。
③當(dāng)要從EM中讀取數(shù)據(jù)時(shí),
由PC提供地址。
存儲(chǔ)器EM存儲(chǔ)指令和數(shù)據(jù)。
微程序計(jì)向微程序存儲(chǔ)器UM提供相應(yīng)
數(shù)器UPC微指令的地址。
微程序存
存儲(chǔ)相應(yīng)指令的微指令。
儲(chǔ)器UM
輸出寄存能夠?qū)⑦\(yùn)算結(jié)果輸出到輸出寄
器OUT存器OUT(本實(shí)驗(yàn)未用)。
當(dāng)存儲(chǔ)于累加器A的值將要受
堆棧ST
到破壞時(shí),將其數(shù)據(jù)保存在堆
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
棧ST中,使程序能夠正常地執(zhí)
行。
4.在COP集成開(kāi)發(fā)環(huán)境下設(shè)計(jì)全新的指令/微
指令系統(tǒng)
設(shè)計(jì)結(jié)果如表所示(可按需要增刪表項(xiàng))
(1)新的指令集
(設(shè)計(jì)兩個(gè)不同指令集要分別列表)
表5無(wú)符號(hào)乘法新指令集
助記機(jī)器碼機(jī)指令說(shuō)明
符1器
碼2
_FAT000000實(shí)驗(yàn)機(jī)占用,不可修改。復(fù)
CH_XX位后,所有寄存器清0,首
00-03先執(zhí)行_FATCH_指令取
指。
ADD000001將累加器A中的數(shù)加入到寄
R?,AXX存器R?中,并影響標(biāo)志位。
04-07
TEST000101II寄存器R?“與"立即數(shù)
R?,#XXH,只改變標(biāo)志位,并不改
II14-17變R?中的數(shù)值。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
MOV001001II將立即數(shù)II存放到寄存器
R?,#XXR?中。
II24-27
SHL001010寄存器R?中的數(shù)不帶進(jìn)位
R?XX向左移一位,并不影響標(biāo)志
28-2B位。
SHR001011寄存器R?中的數(shù)不帶進(jìn)位
R?XX向右移一位,并不影響標(biāo)志
2C-2F位。
JZ001101MM若零標(biāo)志位置1,跳轉(zhuǎn)到MM
MMXX地址。
34-37
JMP001110跳轉(zhuǎn)到MM地址。
MMXX
38-3B
OVER001111程序結(jié)束。
XX
3C-3F
表5無(wú)符號(hào)除法的新指令集
助記機(jī)器碼機(jī)指令說(shuō)明
符1器
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
碼2
_FAT000000實(shí)驗(yàn)機(jī)占用,不可修改。復(fù)
CH_XX位后,所有寄存器清0,首
00-03先執(zhí)行_FATCH_指令取
指。
ADD000001將累加器A中的數(shù)加入到寄
R?,AXX存器R?中,并影響標(biāo)志位。
04-07
II
ADD000010將立即數(shù)H加入到寄存器
R?,#XXR?中,并影響標(biāo)志位。
II08-0B
SUB000011從寄存器R?中減去累加器A
R?,AXX中的數(shù),并影響標(biāo)志位。
0C-0F
SUB000100II從寄存器R?中減去立即數(shù)
R?,#XXII,并影響標(biāo)志位。
II10-13
TEST000101II寄存器R?“與"立即數(shù)
R?,#XXH,只改變標(biāo)志位,并不改
II14-17變R?中的數(shù)值。
PUSH000110將累加器A中的數(shù)據(jù)壓入堆
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
AXX棧寄存器STo
18-1B
000111
POP將堆棧寄存器ST中的數(shù)據(jù)
XX
A彈出到累加器A中。
1C-1F
MOV001000將寄存器R?中的數(shù)放入累
A,R?XX加器A中。
20-23
MOV001001II將立即數(shù)II存放到寄存器
R?,#XXR?中。
II24-27
SHL001010寄存器R?中的數(shù)不帶進(jìn)位
R?XX向左移一位,并不影響標(biāo)志
28-2B位。
SHR001011寄存器R?中的數(shù)不帶進(jìn)位
R?XX向右移一位,并不影響標(biāo)志
2C-2F位。
JC001100MM若進(jìn)位標(biāo)志位置1,跳轉(zhuǎn)到
MMXXMM地址。
30-33
JZ001101MM若零標(biāo)志位置L跳轉(zhuǎn)到MM
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
MMXX地址。
34-37
JMP001110跳轉(zhuǎn)到MM地址。
MMXX
38-3B
OVER001111程序結(jié)束。
XX
3C-3F
(2)新的微指令集
無(wú)符號(hào)乘法的新微指令集
助記狀微微程數(shù)據(jù)數(shù)據(jù)地址運(yùn)移位P
符態(tài)地序輸出打入輸出算控制CC
址器
_FATT000CBFF指令PC輸A輸寫(xiě)+1
CH_FF寄存出出入
器IR
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
01FFFFA輸+1
FF出
02FFFFA輸+1
FF出
03FFFFA輸+1
FF出
ADDT204FFF7寄存寄存A輸+1
R?,AEF器值器W出
R?
T105FFFAALU寄存加+1
98直通器R?運(yùn)
志算
位
C,Z
TO06CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
07FFFFA輸+1
FF出
TESTT314C7FF存貯寄存PC輸A輸+1+1
R?,#EF器值器W出出
IIEM
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
T215FFF7寄存寄存A輸+1
F7器值器A出
R?
T116FFFEALU寄存與+1
93直通器R?運(yùn)
志算
位
C,Z
TO17CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
MOVT124C7FB存貯寄存PC輸A輸+1+1
R?,#FF器值器出出
IIEMR?
TO25CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
26FFFFA輸+1
FF出
27FFFFA輸+1
FF出
SHLT228FFF7寄存寄存A輸+1
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
R?F7器值器A出
R?
T129FFF9ALU寄存A輸左移+1
DF左移器出
R?
TO2ACBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
2BFFFFA輸+1
FF出
SHRT22CFFF7寄存寄存A輸+1
R?F7器值器A出
R?
T12DFFF9ALU寄存A輸右移+1
BF右移器出
R?
TO2ECBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
2FFFFFA輸+1
FF出
JZT134C6FF存貯寄存PC輸A輸+1寫(xiě)
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
MMFF器值器PC出出入
EM
TO35CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
36FFFFA輸+1
FF出
37FFFFA輸+1
FF出
JMPT138C6FF存貯寄存PC輸A輸+1寫(xiě)
MMFF器值器PC出出入
EM
TO39CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
3AFFFFA輸+1
FF出
3BFFFFA輸+1
FF出
OVERTO3CCBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
3DFFFFA輸+1
FF出
3EFFFFA輸+1
FF出
3FFFFFA輸+1
FF出
無(wú)符號(hào)除法的新微指令集
助記狀微微程數(shù)據(jù)數(shù)據(jù)地址運(yùn)移位吁P
符態(tài)地序輸出打入輸出算控制CC
址器
_FATTO00CBFF指令PC輸A輸寫(xiě)+1
CH_FF寄存出出入
器IR
01FFFFA輸+1
FF出
02FFFFA輸+1
FF出
03FFFFA輸+1
FF出
ADDT204FFF7寄存寄存A輸+1
R?,AEF器值器W出
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
R?
T105FFFAALU寄存加+1
98直通器R?運(yùn)
志算
位
C,Z
TO06CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
07FFFFA輸+1
FF出
ADDT308FFF7寄存寄存A輸+1
R?,#F7器值器A出
IIR?
T209C7FF存貯寄存PC輸A輸+1+1
EF器值器W出出
EM
T10AFFFAALU寄存加+1
98直通器R?運(yùn)
志算
位
c,z
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
TOOBCBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
SUBT3OCFFFFALU寄存A輸+1
R?,A8F直通器W出
T2ODFFF7寄存寄存A輸+1
F7器值器A出
R?
T1OEFFFAALU寄存減+1
99直通器運(yùn)
R?標(biāo)算
志位
C,Z
TOOFCBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
SUBT310FFF7寄存寄存A輸+1
R?,#F7器值器A出
IIR?
T211C7FF存貯寄存PC輸A輸+1+1
EF器值器W出出
EM
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
T112FFFAALU寄存減+1
99直通器R?運(yùn)
志算
位
C,Z
TO13CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
TESTT314C7FF存貯寄存PC輸A輸+1+1
R?,#FF器值器W出出
IIEM
T215FFF7寄存寄存A輸+1
F7器值器A出
R?
T116FFFEALU寄存與+1
93直通器R?運(yùn)
志算
位
C,Z
TO17CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
PUSHT118FFEFALU堆棧A輸+1
A9F直通寄存出
器ST
TO19CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
1AFFFFA輸+1
FF出
IBFFFFA輸+1
FF出
POPT1ICFFFF堆棧寄存A輸+1
A57寄存器A出
器ST
TOIDCBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
IEFFFFA輸+1
FF出
IFFFFFA輸+1
FF出
MOVT120FFF7寄存寄存A輸+1
A,R?F7器值器A出
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
R?
TO21CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
22FFFFA輸
FF出
23FFFFA輸
FF出
MOVT124C7FB存貯寄存PC輸A輸+1+1
R?,#FF器值器出出
IIEMR?
TO25CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
26FFFFA輸+1
FF出
27FFFFA輸+1
FF出
SHLT228FFF7寄存寄存A輸+1
R?F7器值器A出
R?
T129FFF9ALU寄存A輸左移+1
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
DF左移器出
R?
TO2ACBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
2BFFFFA輸+1
FF出
SHRT22CFFF7寄存寄存A輸+1
R?F7器值器A出
R?
T12DFFF9ALU寄存A輸右移+1
BF右移器出
R?
TO2ECBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
2FFFFFA輸+1
FF出
JCT130C6FF存貯寄存PC輸A輸+1寫(xiě)
MMFF器值器PC出出入
EM
TO31CBFF指令PC輸A輸寫(xiě)+1
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
FF寄存出出入
器IR
32FFFFA輸+1
FF出
33FFFFA輸+1
FF出
JZT134C6FF存貯寄存PC輸A輸+1寫(xiě)
MMFF器值器PC出出入
EM
TO35CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
36FFFFA輸+1
FF出
37FFFFA輸+1
FF出
JMPT138C6FF存貯寄存PC輸A輸+1寫(xiě)
MMFF器值器PC出出入
EM
TO39CBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
3AFFFFA輸+1
FF出
3BFFFFA輸+1
FF出
OVERTO3CCBFF指令PC輸A輸寫(xiě)+1
FF寄存出出入
器IR
3DFFFFA輸+1
FF出
3EFFFFA輸+1
FF出
3FFFFFA輸+1
FF出
5.用設(shè)計(jì)完成的新指令集編寫(xiě)實(shí)現(xiàn)無(wú)符號(hào)二進(jìn)
制乘法、除法功能的匯編語(yǔ)言程序
(1)乘法
4位乘法的算法流程圖與匯編語(yǔ)言程序清
單:
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
MOVRO,#00H
MOVRI,#09H
MOVR2,#06H
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
LOOP:TESTR2,#0FH
JZLAST
TESTR2,#01H
JZNEXT
MOVA,RI
ADDRO,A
NEXT:SHLRI
SHRR2
JMPLOOP
LAST:OVER
(2)除法(選作)
4位除法的算法流程圖與匯編語(yǔ)言程序清
單:
TT必
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
MOVRO,#64H
MOVRI,#09H
MOVR2,#0H
MOVR3,#05H
TESTR1,#OFH
JZOVERFLOW
MOVA,RI
PUSHA
SHLRI
SHLRI
SHLRI
SHLRI
MOVA,RI
SUBRO,A
JCZERO
JMPOVERFLOW
ZERO:SHLR2
SHRRI
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
SUBR3,#01H
JZDEAL
MOVA,RI
ADDRO,A
JCONE
JMPZERO
ONE:SHLR2
ADDR2,#01H
SHRRI
SUBR3,#01H
JZDEAL
MOVA,RI
SUBRO,A
JCZERO
JMPONE
DEAL:TESTR0,#80H
JZLAST
POPA
ADDRO,A
JMPLAST
OVERFLOW:MOVR2,#0FFH
LAST:OVER
文檔僅供參考,不當(dāng)之處,請(qǐng)聯(lián)系改正。
6.上述程序的運(yùn)行情況(跟蹤結(jié)果)
按下表填寫(xiě)描述以上各程序運(yùn)行情況的內(nèi)容。按
每個(gè)程序一張表進(jìn)行。
程序運(yùn)行的過(guò)程
匯編程機(jī)指令說(shuō)明微程PC運(yùn)行時(shí)
指令序器序C寄存器
地碼或存儲(chǔ)
址器的值
0000實(shí)驗(yàn)機(jī)占用,CBFFF
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)器拉帶產(chǎn)品供應(yīng)鏈分析
- 坐浴盆用水龍頭產(chǎn)業(yè)鏈招商引資的調(diào)研報(bào)告
- 動(dòng)物絕育服務(wù)行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 在自釀酒的啤酒館內(nèi)供應(yīng)飲料行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 石油化工設(shè)備市場(chǎng)分析及投資價(jià)值研究報(bào)告
- 船舶護(hù)舷墊細(xì)分市場(chǎng)深度研究報(bào)告
- 不動(dòng)產(chǎn)代理行業(yè)營(yíng)銷(xiāo)策略方案
- 微生物肥料行業(yè)相關(guān)項(xiàng)目經(jīng)營(yíng)管理報(bào)告
- 冷鏈配送行業(yè)營(yíng)銷(xiāo)策略方案
- 快餐館行業(yè)市場(chǎng)調(diào)研分析報(bào)告
- 人音版小學(xué)音樂(lè)五年級(jí)上冊(cè)教案全冊(cè)
- 企業(yè)工商過(guò)戶合同模板
- 雨污水管合同模板
- 《籃球:行進(jìn)間單手肩上投籃》教案(四篇)
- 2024-2025學(xué)年部編版初一上學(xué)期期中歷史試卷與參考答案
- 職業(yè)技能大賽-鴻蒙移動(dòng)應(yīng)用開(kāi)發(fā)賽初賽理論知識(shí)考試及答案
- 2024山東高速集團(tuán)限公司招聘367人高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 2024-2025學(xué)年六年級(jí)科學(xué)上冊(cè)第二單元《地球的運(yùn)動(dòng)》測(cè)試卷(教科版)
- 【人教版】《勞動(dòng)教育》二下 勞動(dòng)項(xiàng)目一 洗頭 課件
- 第三單元長(zhǎng)方形和正方形(單元測(cè)試)-2024-2025學(xué)年三年級(jí)上冊(cè)數(shù)學(xué)蘇教版
- 燈展合同范本
評(píng)論
0/150
提交評(píng)論