




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2022-6-20 P.12022-6-20 P.2n為為MiniSys加加I/O功能功能n16位定時位定時/計數(shù)器計數(shù)器n16位脈沖寬度調(diào)制位脈沖寬度調(diào)制PWMn44鍵盤掃描電路鍵盤掃描電路n4位位7段段LED顯示控制顯示控制n簡單簡單UART控制控制n看門狗控制看門狗控制n中斷的設(shè)計中斷的設(shè)計2022-6-20 P.3nMiniSys為為I/O統(tǒng)一編址方式。統(tǒng)一編址方式。n將將DATA RAM地址分區(qū),其中高地址分區(qū),其中高256個個字節(jié)用來做字節(jié)用來做IO,一共是,一共是128個個16位端口。位端口。0000H4KBRAM0FFFHFFFFHFF00H256BYTE2022-6-20 P
2、.4nIO端口地址分配原則(可自行決定)端口地址分配原則(可自行決定)n將將8根根IO端口線(端口線(16位地址線的低位地址線的低8位,高位,高8位為全位為全1)的高)的高4位用來譯碼得到最多位用來譯碼得到最多16個接個接口電路的片選信號。口電路的片選信號。n低低4位組成每個接口電路的位組成每個接口電路的16個字節(jié)端口地個字節(jié)端口地址,由于址,由于Minisys只有只有16位數(shù)據(jù)處理能力。所位數(shù)據(jù)處理能力。所以每個接口電路實際上是有以每個接口電路實際上是有8個字端口地址。個字端口地址。2022-6-20 P.5n對對MiniSys的修改的修改n修改修改MemWrite和和MemRead信號的邏
3、輯。增加信號的邏輯。增加IORead和和IOWrite信號,改信號,改MemtoReg為為MemorIOtoReg。 assign RegWrite = (R_format | Lw | Jalc | I_data) & !(Jrn) ; / 需要寫寄存器的指令需要寫寄存器的指令 assign MemWrite =(Sw=1 ) & (ImmediatHigh9:2 != 8b11111111) ? 1:0 ; / 寫存儲器,寫存儲器, ImmediatHigh9:0 是新增的輸入信號是新增的輸入信號=instructions15.6 assign MemRead = (Lw=
4、1) & (ImmediatHigh9:2 != 8b11111111) ? 1:0 ; / 讀存儲器讀存儲器 assign MemorIOtoReg = IORead | MemRead; / 讀操作需要從端口或存儲器讀數(shù)據(jù)到寄存器讀操作需要從端口或存儲器讀數(shù)據(jù)到寄存器 assign IOWrite = (Sw=1)& (ImmediatHigh9:2 = 8b11111111) ? 1:0 ; / 寫端口寫端口 assign IORead = (Lw=1) & (ImmediatHigh9:2 = 8b11111111) ? 1:0 ; / 讀端口讀端口, Imme
5、diatHigh9:0 就是就是instructions15:62022-6-20 P.6n增加一個增加一個MEMorIO模塊模塊運算運算單元單元存儲存儲單元單元譯碼譯碼單元單元Addresswdatardata2022-6-20 P.7n增加一個增加一個MEMorIO模塊模塊運算運算單元單元存儲存儲單元單元譯碼譯碼單元單元mAddressMEMorIOAddressPortNumbermrdataIrdatardatawdataiwdatamwdata注意它注意它2022-6-20 P.8片選信號片選信號首地址首地址LEDCtrlFF00HKEYCtrlFF10HCTCCtrlFF20HPW
6、MCtrlFF30HUARTCtrlFF40HWDTCtrlFF50H具體端口分配具體端口分配2022-6-20 P.9n功能功能n兩個定時兩個定時/計數(shù)器計數(shù)器CNT0和和CNT1。n具有計數(shù)和定時兩個功能。具有計數(shù)和定時兩個功能。n計數(shù)方式下可以對輸入的外部脈沖進行計數(shù),計數(shù)方式下可以對輸入的外部脈沖進行計數(shù),當(dāng)計數(shù)到初值寄存器的值的時候,設(shè)置狀態(tài)當(dāng)計數(shù)到初值寄存器的值的時候,設(shè)置狀態(tài)寄存器的相應(yīng)位。寄存器的相應(yīng)位。n定時方式下,在時鐘作用下計時器做減定時方式下,在時鐘作用下計時器做減1,到到1的時候設(shè)置狀態(tài)寄存器的相應(yīng)位,并在的時候設(shè)置狀態(tài)寄存器的相應(yīng)位,并在相應(yīng)的相應(yīng)的COUT腳輸出一
7、個時鐘的低電平(平腳輸出一個時鐘的低電平(平時時COUT是高電平)。是高電平)。n狀態(tài)寄存器在被讀取后被清零。狀態(tài)寄存器在被讀取后被清零。2022-6-20 P.10nCNT0方式寄存器(方式寄存器(FF20H)nCNT1方式寄存器(方式寄存器(FF22H);兩個寄存器均為只可寫;兩個寄存器均為只可寫 01512022-6-20 P.11nCNT0狀態(tài)寄存器(狀態(tài)寄存器(FF20H)nCNT1狀態(tài)寄存器(狀態(tài)寄存器(FF22H);兩個寄存器均為只可讀,讀取后被清;兩個寄存器均為只可讀,讀取后被清0 0151:定時到定時到1:計數(shù)到計數(shù)到12022-6-20 P.12nCNT0初值寄存器初值寄存
8、器(O)/當(dāng)前值寄存器當(dāng)前值寄存器(I) (FF24H)nCNT1初值寄存器初值寄存器(O)/當(dāng)前值寄存器當(dāng)前值寄存器(I) (FF26H) 015兩個寄存器通過讀兩個寄存器通過讀/寫線區(qū)別寫線區(qū)別2022-6-20 P.13n輸入輸出安排輸入輸出安排nrdata15rdata0(O)用于用于CPU讀數(shù)據(jù)讀數(shù)據(jù)nwdata15wdata0(I)用于用于CPU寫數(shù)據(jù)寫數(shù)據(jù)nCS(I) 片選端片選端nCLK(I) 時鐘信號時鐘信號nReset(I)復(fù)位信號)復(fù)位信號npulse0, pulse1(I)兩個)兩個CNT的外部脈沖信號的外部脈沖信號naddress3address0(I)端口地址)端口
9、地址nIOW(I)寫信號)寫信號nIOR(I)讀信號)讀信號nCOUT0, COUT1(O)定時)定時/計數(shù)器輸出計數(shù)器輸出2022-6-20 P.14n功能功能n內(nèi)部一個內(nèi)部一個16位計數(shù)器和一個位計數(shù)器和一個16位對比值,位對比值,計數(shù)器周而復(fù)始的加計數(shù)器周而復(fù)始的加1計數(shù),計數(shù)到計數(shù)器計數(shù),計數(shù)到計數(shù)器的最大值(默認(rèn)為的最大值(默認(rèn)為FFFFH)的時候轉(zhuǎn)為)的時候轉(zhuǎn)為0再再計數(shù)。當(dāng)計數(shù)器的值大于對比值,輸出端計數(shù)。當(dāng)計數(shù)器的值大于對比值,輸出端輸出低電平,否則輸出高電平。輸出低電平,否則輸出高電平。n對比值(默認(rèn)為對比值(默認(rèn)為7FFFH)的不同決定了輸)的不同決定了輸出脈沖的占空比。出
10、脈沖的占空比。n計數(shù)器的最大值可以由軟件設(shè)定,以便確計數(shù)器的最大值可以由軟件設(shè)定,以便確定定PWM的輸出脈沖的調(diào)制頻率。的輸出脈沖的調(diào)制頻率。2022-6-20 P.15n輸入輸出安排輸入輸出安排nRESET(I) 初始化初始化naddress2address0(I)端口地址)端口地址nD15D0(I)用于寫入對比值和最大值用于寫入對比值和最大值nCS(I) 片選端片選端nCLK(I) 時鐘信號時鐘信號nIOW(I)寫信號)寫信號nPWM(O)輸出端)輸出端2022-6-20 P.16n內(nèi)部寄存器內(nèi)部寄存器n最大值寄存器(最大值寄存器(FF30H)(只寫)(只寫)n對比值寄存器(對比值寄存器(
11、FF32H)(只寫)(只寫)n使能寄存器(使能寄存器(FF34H)(只寫)(只寫) 015默認(rèn)為默認(rèn)為00:不許輸出脈沖不許輸出脈沖1:允許輸出脈沖允許輸出脈沖2022-6-20 P.17n功能功能自動掃描自動掃描44的鍵盤,當(dāng)有鍵按下的鍵盤,當(dāng)有鍵按下的時候掃描鍵值,將鍵值記錄到鍵的時候掃描鍵值,將鍵值記錄到鍵值寄存器,并置位狀態(tài)寄存器中的值寄存器,并置位狀態(tài)寄存器中的“有鍵有鍵”標(biāo)志。當(dāng)標(biāo)志。當(dāng)CPU讀出鍵值后,讀出鍵值后,將將“有鍵有鍵”標(biāo)志清除。標(biāo)志清除。2022-6-20 P.18n輸入輸出安排輸入輸出安排nD15D0(O)用于讀出數(shù)據(jù)用于讀出數(shù)據(jù)nCS(I) 片選端片選端nCLK(
12、I) 時鐘信號時鐘信號nline3line0(I)鍵盤行輸出線)鍵盤行輸出線ncol3col0(O)鍵盤列輸入線)鍵盤列輸入線naddress1address0(I)端口地址)端口地址nIOR(I)讀信號)讀信號2022-6-20 P.19n內(nèi)部寄存器內(nèi)部寄存器n鍵值寄存器(鍵值寄存器(FF10H)(只讀)(只讀)n狀態(tài)寄存器(狀態(tài)寄存器(FF12H)(只讀)(只讀) 0150:無鍵無鍵1:有鍵有鍵2022-6-20 P.20n功能功能通過向該控制電路寫通過向該控制電路寫16位數(shù)據(jù),經(jīng)位數(shù)據(jù),經(jīng)過譯碼控制共陽極的過譯碼控制共陽極的7段段LED顯示。顯示。16位數(shù)每半個字節(jié)控制一位位數(shù)每半個字節(jié)
13、控制一位7段段LED,從高位到地位排列。從高位到地位排列。 015LED0LED1LED2LED32022-6-20 P.21n7段共陽極段共陽極LED需要點亮的筆畫需需要點亮的筆畫需要輸出要輸出0。n將將ag分別接輸出分別接輸出的的7位數(shù)據(jù)的位位數(shù)據(jù)的位0位位6abcdefg2022-6-20 P.22n輸入輸出安排輸入輸出安排nReset (I) 初始化初始化nD15D0 (I)用于寫數(shù)據(jù)用于寫數(shù)據(jù)nCS (I) 片選端片選端nIOW(I)寫信號)寫信號nled00led06 0位位led輸出線輸出線nled10led16 1位位led輸出線輸出線nled20led26 2位位led輸出線
14、輸出線nled30led36 3位位led輸出線輸出線n內(nèi)部寄存器內(nèi)部寄存器n數(shù)據(jù)鎖存器(數(shù)據(jù)鎖存器(FF00H)2022-6-20 P.23n功能功能負(fù)責(zé)控制將負(fù)責(zé)控制將CPU來的來的8位數(shù)據(jù)并轉(zhuǎn)串,位數(shù)據(jù)并轉(zhuǎn)串,然后按照異步串行通信數(shù)據(jù)格式輸然后按照異步串行通信數(shù)據(jù)格式輸出,將串口來的出,將串口來的8位串行數(shù)據(jù)串轉(zhuǎn)并,位串行數(shù)據(jù)串轉(zhuǎn)并,并在并在CPU請求的時候輸入給請求的時候輸入給CPU。2022-6-20 P.24n設(shè)計時注意事項設(shè)計時注意事項nXTAL可以是單獨的時鐘信號,和系統(tǒng)的可以是單獨的時鐘信號,和系統(tǒng)的CLK不不一樣。一樣。n假設(shè)外部時鐘假設(shè)外部時鐘XTAL的頻率是波特率的的頻
15、率是波特率的16倍(本倍(本設(shè)計采用固定波特率設(shè)計采用固定波特率9600b/s)n接收器接收數(shù)據(jù)的采樣率也是波特率的接收器接收數(shù)據(jù)的采樣率也是波特率的16倍(既倍(既XTAL頻率)采用中間值采樣的原則,也就是一頻率)采用中間值采樣的原則,也就是一個數(shù)據(jù)位占個數(shù)據(jù)位占16個接收時鐘寬度,在第個接收時鐘寬度,在第8個時鐘的時個時鐘的時候采樣。候采樣。n數(shù)據(jù)格式固定為數(shù)據(jù)格式固定為1位起始位,位起始位,8位數(shù)據(jù)位和位數(shù)據(jù)位和1位停止位停止位。起始位為位。起始位為0,停止位為,停止位為1。串行輸出線空閑狀。串行輸出線空閑狀態(tài)為態(tài)為1。2022-6-20 P.25n輸入輸出安排輸入輸出安排nrdata7
16、rdata0(O)用于用于CPU讀數(shù)據(jù)讀數(shù)據(jù)nwdata7wdata0(I)用于用于CPU寫數(shù)據(jù)寫數(shù)據(jù)nCS(I) 片選端片選端nXTAL(I) 外部時鐘信號外部時鐘信號nTxD(O)串行輸出)串行輸出nRxD(I)外部串行輸入)外部串行輸入naddress2address0(I)端口地址)端口地址nIOW(I)寫信號)寫信號nIOR(I)讀信號)讀信號nRESET(I)復(fù)位信號)復(fù)位信號2022-6-20 P.26n內(nèi)部寄存器內(nèi)部寄存器n輸出鎖存器(輸出鎖存器(FF40H)(只用)(只用8位)位)n輸入緩沖器(輸入緩沖器(FF40H)(只用)(只用8位)位)n狀態(tài)寄存器(狀態(tài)寄存器(FF42
17、H) 0151:輸出完輸出完1:輸入完輸入完狀態(tài)寄存器在讀出輸入緩沖器后清狀態(tài)寄存器在讀出輸入緩沖器后清D1位,在寫入輸位,在寫入輸出鎖存器后清出鎖存器后清D0位。位。 2022-6-20 P.27n功能功能n內(nèi)含一個內(nèi)含一個16位定時器,系統(tǒng)復(fù)位后計數(shù)值位定時器,系統(tǒng)復(fù)位后計數(shù)值為為FFFFH,之后每時鐘計數(shù)值減,之后每時鐘計數(shù)值減1,當(dāng)減到,當(dāng)減到0的時候,向的時候,向CPU發(fā)發(fā)4個時鐘周期的個時鐘周期的RESET信號,同時計數(shù)值恢復(fù)到信號,同時計數(shù)值恢復(fù)到FFFFH并繼續(xù)計并繼續(xù)計數(shù)。數(shù)。n通過軟件不斷地定期寫看門狗端口來復(fù)位通過軟件不斷地定期寫看門狗端口來復(fù)位看門狗,使計數(shù)器重新從看門
18、狗,使計數(shù)器重新從FFFFH開始計數(shù)。開始計數(shù)。n注意增加看門狗電路后,注意增加看門狗電路后,CPU的的RESET輸輸入腳應(yīng)該是系統(tǒng)復(fù)位信號和看門狗發(fā)出的入腳應(yīng)該是系統(tǒng)復(fù)位信號和看門狗發(fā)出的復(fù)位信號的組合。復(fù)位信號的組合。2022-6-20 P.28n輸入輸出安排輸入輸出安排nwdata7wdata0(I)用于用于CPU寫數(shù)據(jù)寫數(shù)據(jù)nCS(I) 片選端片選端nCLK(I) 外部時鐘信號外部時鐘信號nRST(O)輸出給)輸出給CPU的復(fù)位信號的復(fù)位信號nIOW(I)寫信號)寫信號nRESET(I)系統(tǒng)復(fù)位信號)系統(tǒng)復(fù)位信號2022-6-20 P.29n內(nèi)部邏輯內(nèi)部邏輯只要只要CS, IOW同時有
19、效,看門狗電路同時有效,看門狗電路就被復(fù)位,看門狗電路訪問的端口就被復(fù)位,看門狗電路訪問的端口地址是地址是FF50H2022-6-20 P.30n為為Minisys增加兩個中斷功能增加兩個中斷功能中中斷斷0和中斷和中斷1,中斷,中斷0優(yōu)先級大于中斷優(yōu)先級大于中斷1,不支持同級中斷嵌套。,不支持同級中斷嵌套。n將將$26和和$27設(shè)計為兩個中斷返回地設(shè)計為兩個中斷返回地址存放寄存器,分別在中斷址存放寄存器,分別在中斷0和中斷和中斷1到來的時候存放返回地址。它們分到來的時候存放返回地址。它們分別稱為別稱為$i0和和$i1。這兩個寄存器也改。這兩個寄存器也改為系統(tǒng)寄存器,用戶不可訪問。為系統(tǒng)寄存器,
20、用戶不可訪問。2022-6-20 P.31n增加一個中斷屏蔽寄存器增加一個中斷屏蔽寄存器IMASKR。 0150:允許中斷允許中斷01:屏蔽中斷屏蔽中斷00:允許中斷允許中斷11:屏蔽中斷屏蔽中斷12022-6-20 P.32n中斷處理中斷處理n中斷向量的制定中斷向量的制定將將4KB 程序程序ROM的的FF8HFFBH作為中斷作為中斷0的向量,的向量,F(xiàn)FCHFFFH作為中斷作為中斷1的向量。的向量。用戶程序應(yīng)該在這兩個地址放上用戶程序應(yīng)該在這兩個地址放上j語句,跳語句,跳轉(zhuǎn)到真正的中斷處理程序入口,如果沒有轉(zhuǎn)到真正的中斷處理程序入口,如果沒有中斷處理程序,也要分別放上中斷處理程序,也要分別放
21、上jr $i0和和jr $i12022-6-20 P.33n中斷處理中斷處理n中斷響應(yīng)的過程中斷響應(yīng)的過程1)將下一條指令的)將下一條指令的PC值存放到值存放到$i0或或$i12)設(shè)置)設(shè)置IMASKR的相應(yīng)位,屏蔽有關(guān)中斷的相應(yīng)位,屏蔽有關(guān)中斷3)跳轉(zhuǎn)到)跳轉(zhuǎn)到FF8或或FFCn中斷返回過程(對中斷返回過程(對jr $i0和和jr $i1的處理)的處理)1)清)清IMASKR的相應(yīng)位,打開有關(guān)中斷的相應(yīng)位,打開有關(guān)中斷2)執(zhí)行)執(zhí)行jr $i0或或jr $i12022-6-20 P.34n中斷處理中斷處理n中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)中斷中斷0優(yōu)先于中斷優(yōu)先于中斷1,當(dāng)兩個中斷同時到來,當(dāng)兩個中斷同
22、時到來,先處理中斷先處理中斷0。n中斷嵌套中斷嵌套不允許同級中斷嵌套,中斷不允許同級中斷嵌套,中斷0可以嵌套在中可以嵌套在中斷斷1中,也就是說中斷中,也就是說中斷0能夠中斷中斷能夠中斷中斷1的處的處理程序。理程序。2022-6-20 P.35n中斷請求信號中斷請求信號n中斷請求信號源中斷請求信號源CTC16、KEY16、UART均可以發(fā)中斷請均可以發(fā)中斷請求,可自選兩個改成中斷方式。求,可自選兩個改成中斷方式。n中斷請求信號屬性中斷請求信號屬性盡量采用電平觸發(fā),而且盡量使用多時鐘盡量采用電平觸發(fā),而且盡量使用多時鐘周期的高電平觸發(fā)。這樣可以避免干擾信周期的高電平觸發(fā)。這樣可以避免干擾信號的誤判
23、。多時鐘周期高電平的實現(xiàn)可以號的誤判。多時鐘周期高電平的實現(xiàn)可以考慮使用一個時鐘計數(shù)器和狀態(tài)機。考慮使用一個時鐘計數(shù)器和狀態(tài)機。2022-6-20 P.36n偽指令偽指令n堆棧的實現(xiàn)堆棧的實現(xiàn)n匯編編譯程序匯編編譯程序n測試與應(yīng)用程序測試與應(yīng)用程序2022-6-20 P.37n絕對地址定義絕對地址定義nORG_DATA 32位數(shù)據(jù)區(qū)雙字地址位數(shù)據(jù)區(qū)雙字地址定義下一語句在數(shù)據(jù)定義下一語句在數(shù)據(jù)RAM中的絕對地址。中的絕對地址。例:例:ORG_DATA 0000 buf DD 0000ffff, 55aa1234;nORG_CODE 32位代碼區(qū)雙字地址位代碼區(qū)雙字地址定義下一語句在程序定義下一語
24、句在程序ROM中的絕對地址。中的絕對地址。例:例:ORG_CODE FF8 j int02022-6-20 P.38n變量定義(僅支持變量定義(僅支持32位變量定義,用位變量定義,用十六進制表示值十六進制表示值, 變量名就是地址)變量名就是地址)變量名變量名 DW 值值1, 值值2, 值值n(值都以(值都以16進制表示)進制表示)例如:例如:buf DW 0000ffff, 55aa1234; lw $V0, buf($Zero) ;load 0000FFFFn注釋符注釋符; 英文的注釋文字英文的注釋文字2022-6-20 P.39n標(biāo)號定義與使用(標(biāo)號名是地址)標(biāo)號定義與使用(標(biāo)號名是地址)
25、標(biāo)號名標(biāo)號名: 語句語句例如:例如:int0: lw $t0, 12($t1)j int02022-6-20 P.40n數(shù)據(jù)段定義偽指令數(shù)據(jù)段定義偽指令DATA SEG ; 數(shù)據(jù)段開始數(shù)據(jù)段開始DATA ENDS ; 數(shù)據(jù)段結(jié)束數(shù)據(jù)段結(jié)束例:例:DATA SEG ; 數(shù)據(jù)段開始數(shù)據(jù)段開始buf DD 0000ffff, 55aa1234DATA ENDS ; 數(shù)據(jù)段結(jié)束數(shù)據(jù)段結(jié)束 2022-6-20 P.41n代碼段定義偽指令代碼段定義偽指令CODE SEG ; 代碼段開始代碼段開始CODE ENDS ; 代碼段結(jié)束代碼段結(jié)束例:例:CODE SEG ; 數(shù)據(jù)段開始數(shù)據(jù)段開始lw $t0, b
26、uff($t1)CODE ENDS ; 數(shù)據(jù)段結(jié)束數(shù)據(jù)段結(jié)束2022-6-20 P.42n格式格式END 標(biāo)號標(biāo)號注意這里的標(biāo)號一定要在匯編程序注意這里的標(biāo)號一定要在匯編程序中出現(xiàn)過,程序結(jié)束偽指令不僅表中出現(xiàn)過,程序結(jié)束偽指令不僅表明程序結(jié)束,更重要的是告訴匯編明程序結(jié)束,更重要的是告訴匯編器,程序的第器,程序的第1句是哪一句。因此這句是哪一句。因此這里的標(biāo)號應(yīng)該是程序第里的標(biāo)號應(yīng)該是程序第1句的標(biāo)號。句的標(biāo)號。2022-6-20 P.43n使用數(shù)據(jù)使用數(shù)據(jù)RAM的一部分作為堆棧的一部分作為堆棧由于數(shù)據(jù)是由于數(shù)據(jù)是32位位的,所以堆棧總共的,所以堆棧總共有有128個單元。個單元。堆棧的操作以
27、及堆棧的操作以及堆棧越界檢查全由堆棧越界檢查全由軟件實現(xiàn)。軟件實現(xiàn)。0000H0FFFH0E00H512B堆棧堆棧3584B數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)2022-6-20 P.44n堆棧操作(初始堆棧操作(初始$SP=0FFFH)壓棧操作壓棧操作出棧操作出棧操作sw $t0, 0($sp)addi $sp, $sp, 4addi $sp, $sp, -4lw $t0, 0($sp)2022-6-20 P.45n目標(biāo)目標(biāo)將用將用MiniSys匯編語言編寫的匯編語言編寫的MiniSys程序(含偽指令)編譯程序(含偽指令)編譯成成.mif文件,其中代碼部分編譯成文件,其中代碼部分編譯成prgmip32.mif,數(shù)據(jù)
28、部分編譯成,數(shù)據(jù)部分編譯成dmem32.mif。注意注意mif文件中不要出現(xiàn)任何中文,文件中不要出現(xiàn)任何中文,包括注釋中也不要用中文。包括注釋中也不要用中文。2022-6-20 P.46n要求要求n編譯結(jié)果正確,格式正確。具有錯誤報告功能,編譯結(jié)果正確,格式正確。具有錯誤報告功能,可定位到錯誤語句的行。可直接用于可定位到錯誤語句的行。可直接用于Quartus II中中進行芯片編譯。進行芯片編譯。n在在prgmip32.mif中,對于每條翻譯過的指令碼,中,對于每條翻譯過的指令碼,用注釋的方法將源代碼及源代碼后的注釋附在后用注釋的方法將源代碼及源代碼后的注釋附在后面以便調(diào)試的時候?qū)φ铡C嬉员阏{(diào)試
29、的時候?qū)φ铡#ú荒苡弥形模ú荒苡弥形模﹏編譯程序可以用編譯程序可以用C、C+、JAVA、DELPHI、Power Builder等任何一種語言來實現(xiàn)。等任何一種語言來實現(xiàn)。nMiniSys匯編指令書寫格式參見指令系統(tǒng)的指令舉匯編指令書寫格式參見指令系統(tǒng)的指令舉例,匯編程序書寫格式見后。例,匯編程序書寫格式見后。2022-6-20 P.47ORG_DATA 0000 ; The start address of dataBUF DW 000000FF, 55005500ORG_CODE 0000; The start address of codestart:addi $t0, $Zero,
30、0 ;A label for the first statement, $t0=0 lw $v0, buf ($t0) ; $v0=000000FF (buf0) addi $t0, $t0, 4 lw $v1, buf($t0) ; $v1=55005500 (buf4) add $v0, v0, v1 ; $v0=$v0+$v1=550055FF addi $t0, $t0, 4 sw $v0, buf($t0) ; buf8=550055FF j startend start ;The label for end statement is as the same as the one f
31、or the first statement.nMiniSys匯編程序書寫格式舉例匯編程序書寫格式舉例2022-6-20 P.48nprgmip32.mif文件文件DEPTH = 1024; - 10 bits of data line, 2101024WIDTH = 32; - the width of data is 32 bitsADDRESS_RADIX = HEX; - describe address in hex DATA_RADIX = HEX; - describe data in hex CONTENTBEGIN0 : 8c020000; -lw $2 0($0)1 : 8
32、c030002; -lw $3 2($0) 2.3FD : 00000000; 3FE : 01800008; - jr $i0 ;(jr $26) 3FF : 01C00008; - jr $i1 ;(jr $27)END;2022-6-20 P.49ndmem32.mif文件文件DEPTH = 1024; -10 bits of data line, 2101024WIDTH = 32; - the width of data is 32 bitsADDRESS_RADIX = HEX; - describe address in hex DATA_RADIX = HEX; - descr
33、ibe data in hex CONTENTBEGIN0 : 00000055;1 : 000000AA; 2.3FF : 0000;END;2022-6-20 P.50n注意地址對應(yīng)關(guān)系注意地址對應(yīng)關(guān)系n對于代碼部分對于代碼部分ORG_CODE的翻譯的翻譯源程序的代碼部分源程序的代碼部分ORG_CODE后的地址是后的地址是實際的實際的32位位雙字地址雙字地址,而在,而在prgmip32.mif中中的地址是實際雙字地址的地址是實際雙字地址除以除以4后取低后取低10位的位的結(jié)果。也就是結(jié)果。也就是address11.2。例如:例如:ORG_CODE 0FF8 jr $i0應(yīng)該翻譯為應(yīng)該翻譯為
34、3FE : 01800008; - jr $i0 翻譯后的地址翻譯后的地址 翻譯后的指令翻譯后的指令翻譯前的地址翻譯前的地址2022-6-20 P.51n注意地址對應(yīng)關(guān)系注意地址對應(yīng)關(guān)系n對于數(shù)據(jù)部分對于數(shù)據(jù)部分ORG_DATA的翻譯的翻譯源程序的數(shù)據(jù)部分源程序的數(shù)據(jù)部分ORG_DATA后的地址是實際的后的地址是實際的32位位雙字地址雙字地址,而在,而在dmem32.mif中的地址是實際中的地址是實際雙字節(jié)地址雙字節(jié)地址除以除以4后取低后取低10位的結(jié)果。也就是位的結(jié)果。也就是address11.2。例如:例如:ORG_DATA 0004 sum DW 0000ffff, 55aa1234;應(yīng)該翻譯成:應(yīng)該翻譯成: 1 : 0000ffff; 2 : 55aa1234;翻譯后的地址翻譯后的地址翻譯前的地址翻譯前的地址2022-6-20 P.52n變量和標(biāo)號的處理變量和標(biāo)號的處理對于變量和標(biāo)號,要建立相關(guān)的符號對于變量和標(biāo)號,要建立相關(guān)的符號表,表中給出變量和標(biāo)號和實際地址表,表中給出變量和標(biāo)號和實際地址的對應(yīng)關(guān)系。對于標(biāo)號,必要的時候的對應(yīng)關(guān)系。對于標(biāo)號,必要的時候可通過兩遍掃描來獲得地址。對于標(biāo)可通過兩遍掃描來獲得地址。對于標(biāo)號的使用,使用實際地址還是實際地號的使用,使用實際地址還是實際地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線教學(xué)課件
- 《布谷》教學(xué)課件
- 吉大工程熱力學(xué)講義第11章 制冷循環(huán)
- 二維材料光電器件-第2篇-洞察及研究
- 四川化工職業(yè)技術(shù)學(xué)院《影視設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江電力職業(yè)技術(shù)學(xué)院《古代漢語I》2023-2024學(xué)年第二學(xué)期期末試卷
- 沈陽化工大學(xué)《營養(yǎng)工程學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年山東省淄博第十一中學(xué)高一下學(xué)期6月學(xué)業(yè)水平合格考模擬考試歷史試題(含答案)
- 唐山學(xué)院《有害生物綜合治理》2023-2024學(xué)年第二學(xué)期期末試卷
- 黔東南民族職業(yè)技術(shù)學(xué)院《比較思想政治教育學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 特許經(jīng)營管理手冊范本(餐飲)
- 2022年黃岡市團風(fēng)縣社區(qū)工作者招聘考試試題
- 安全宣傳咨詢?nèi)栈顒又R手冊
- 宴會設(shè)計智慧樹知到答案章節(jié)測試2023年黑龍江旅游職業(yè)技術(shù)學(xué)院
- DB12-T 1179-2023 泥態(tài)固化土道路填筑技術(shù)規(guī)程
- GB 4706.10-2008家用和類似用途電器的安全按摩器具的特殊要求
- 綿陽市2023年學(xué)業(yè)考試暨高中階段招生考試(地理、生物試題)
- 少兒美術(shù)繪畫課件- 藝米中班 4歲-5歲 《荔枝》
- 托管班帶生源轉(zhuǎn)讓合同
- 第三方融資服務(wù)(FA)協(xié)議
- 畫冊設(shè)計制作報價單
評論
0/150
提交評論