組合語(yǔ)言與系統(tǒng)分析_第1頁(yè)
組合語(yǔ)言與系統(tǒng)分析_第2頁(yè)
組合語(yǔ)言與系統(tǒng)分析_第3頁(yè)
組合語(yǔ)言與系統(tǒng)分析_第4頁(yè)
組合語(yǔ)言與系統(tǒng)分析_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

組合語(yǔ)言與系統(tǒng)分析SIC1SIC/XEInstructionSet

–AppendixA2SIC/XEInstructionSet

–AppendixA

撰寫程式請(qǐng)用SIC指令3SIC程式教學(xué)4記憶體記憶體是由長(zhǎng)度為8bits的byte所組成Ex.02=4B16記憶體用十六進(jìn)位顯示

連續(xù)3bytes組合為一個(gè)wordEx.A0124C5變數(shù)宣告變數(shù)宣告有兩種類型宣告變數(shù)並設(shè)定初始值格式:變數(shù)名稱型態(tài)初始值WORDEx.NUMBERWORD45撰寫程式時(shí),初始值為十進(jìn)位當(dāng)執(zhí)行時(shí),會(huì)將其轉(zhuǎn)為十六進(jìn)位表示儲(chǔ)存在記憶體中4510=2D16,記憶體內(nèi)容為2D6變數(shù)宣告BYTEEx.STR1BYTEC’TEST’C代表char(字元)會(huì)以ASCIIcode方式轉(zhuǎn)換成十六進(jìn)位碼儲(chǔ)存在記憶體當(dāng)中TEST在記憶體中顯示為Ex.STR2BYTEX’D3’X代表十六進(jìn)位記憶體中顯示為D37變數(shù)宣告宣告變數(shù)保留空間格式:變數(shù)名稱型態(tài)保留空間數(shù)RESWEx.TEMP1RESW2RESBEx.TEMP2RESB18暫存器一個(gè)暫存器的長(zhǎng)度為1word(3bytes)SIC可用的暫存器有五個(gè)A:Accumulator;算術(shù)運(yùn)算使用X:Indexregister;可用於定址L:Linkageregister;當(dāng)跳到副程式,將返回位址 存在此暫存器中,以供返回原程式PC:Programcounter;下一個(gè)執(zhí)行的指令 位址SW:Statusword;包含各種資訊和條件碼(CC)9Load指令將所指定的記憶體內(nèi)容Load到暫存器中LDAmA

(m..m+2)是將記憶體位置m開始的一個(gè)word內(nèi)容,放到暫存器A中Ex.LDASTR1STR1BYTEX’C1B235’

暫存器A內(nèi)容為C1B23510Load指令LDCHmA[rightmostbyte]

(m)CH代表char,所以是只抓一個(gè)byte,放到暫存器A最後一個(gè)byte(最右邊的byte)Ex.LDCHSTR1STR1BYTEX’C1B235’

暫存器A內(nèi)容為FFFFC1暫存器A預(yù)設(shè)值為FFFFFF,前兩個(gè)bytes沒(méi)有l(wèi)oad內(nèi)容,仍維持預(yù)設(shè)值其他指令:LDL、LDX11Store指令將暫存器內(nèi)容Store到所指定的記憶體中STAmm..m+2

(A)將暫存器A的內(nèi)容,放到記憶體位置m開始的一個(gè)word中Ex.LDASTR1STASTR2STR1BYTEX’C1B235’STR2RESW1

STR2這個(gè)word內(nèi)容為C1B23512Store指令STCHmm

(A)[rightmostbyte]將暫存器A的最後一個(gè)byte(最右邊的byte)內(nèi)容,放到記憶體m開始的一個(gè)byte中Ex.LDASTR1STCHSTR2STR1BYTEX’C1B235’STR2RESW1

STR2這個(gè)word內(nèi)容為35FFFF暫存器A最右邊的byte為35,將其放到STR2開始第一個(gè)位置,變成35FFFF記憶體預(yù)設(shè)值為FFFFFF,後兩個(gè)bytes沒(méi)有l(wèi)oad內(nèi)容,仍維持預(yù)設(shè)值其他指令:STL、STSW、STX13基本算數(shù)、邏輯運(yùn)算指令暫存器A和所指定的記憶體內(nèi)容做運(yùn)算,結(jié)果存在暫存器A中ADDmA

(A)+(m..m+2)將”暫存器A的內(nèi)容”與”記憶體位置m開始的一個(gè)word內(nèi)容”相加,並將結(jié)果存在暫存器A中Ex.LDAONEADDTWOONEWORD1TWOWORD2

暫存器A內(nèi)容為000003其他指令:SUB、MUL、DIV、AND、OR14程式練習(xí)1計(jì)算1+2+3將結(jié)果存放在變數(shù)SUM中15比較指令比較暫存器A和所指定的記憶體內(nèi)容,並設(shè)定條件碼CC結(jié)果為(<,=,或>)COMPm(A):(m..m+2)將暫存器A和記憶體位置m開始的一個(gè)word內(nèi)容進(jìn)行比較,並設(shè)定CCEx.LDAONECOMPONEONEWORD1

CC設(shè)定為EQ可與下頁(yè)的條件式跳躍指令共用16條件式跳躍指令測(cè)試條件碼CC的值,並做適當(dāng)?shù)奶SJEQmPC

mifCCsetto=測(cè)試CC的值,當(dāng)值為EQ時(shí),跳到記憶體位置mPC存放下一個(gè)執(zhí)行的指令位置,所以當(dāng)PC設(shè)定為m,下一個(gè)執(zhí)行的指令位址即為mEx.THISLDAONECOMPONEJEQTHISONEWORD1

CC為EQ,跳到THIS執(zhí)行

其他指令:JGT、JLT17程式練習(xí)2利用程式練習(xí)1計(jì)算1+2+3將結(jié)果存放在變數(shù)SUM中比較SUM和4,若SUM>4,跳到THISTHIS執(zhí)行:SUM-418跳躍指令跳躍到指定的位置JmPC

m跳到記憶體位置m19TIX指令TIXmX

(X)+1;(X):(m..m+2)先加1到暫存器X的內(nèi)容值再比較暫存器X中的新值,和運(yùn)算元的值Ex.THISLDAONETIXSEVENJLTTHIS20程式練習(xí)3利用TIX指令計(jì)算1+2+321輸入和輸出輸出和輸入都是一次以一個(gè)byte傳出或傳入暫存器A的最右邊byte(以ASCIIcode方式)TDmTestdevicespecifiedby(m)測(cè)試要進(jìn)行輸出或輸入的device是否準(zhǔn)備好可以傳送或接收,結(jié)果儲(chǔ)存在CC“<“表示準(zhǔn)備好傳送或接收,”=”表示不能傳送或接收22輸入和輸出RDmA[rightmostbyte]

datafromdevicespecifiedby(m)從指定的device讀取一個(gè)字元,根據(jù)ASCIIcode轉(zhuǎn)換成其十六進(jìn)位表示,儲(chǔ)存到暫存器A的最右邊byteWDmDevicespecifiedby(m)

(A)[rightmostbyte]將暫存器A最右邊的byte(十六進(jìn)位表示),根據(jù)ASCIIcode轉(zhuǎn)換成相對(duì)應(yīng)的字元,寫到所指定的device中23輸入和輸出Ex.RLOOPTDINDEVJEQRLOOPRDINDEVINDEVBYTEX’F3’

先測(cè)試deviceF3是否準(zhǔn)備好傳送,若準(zhǔn) 備好就從deviceF3讀取一個(gè)字元,放到 暫存器A的最右邊一個(gè)byte

若deviceF3內(nèi)容為1,執(zhí)行後,暫存器

A的內(nèi)容為FFFF3124輸入和輸出

--Inputfile&OutputfileDEVF3:Inputdevice要輸入程式的inputdataDEV04、DEV05、DEV06:outputdevice程式要輸出的outputdata25程式練習(xí)4從deviceF3輸入一個(gè)字元(ex.A)再輸出到device0426與副程式連結(jié)指令JSUBmL

(PC);PC

m跳到副程式,並把返回位址放在暫存器L中RSUBPC

(L)利用暫存器L的內(nèi)容值,返回原程式Ex.JSUBTHISLDATWO

…THISLDAONE27與副程式連結(jié)指令Ex.JSUBTHIS

跳到THIS副程式

LDATWO..

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論