版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
11 )+111 )+1加操作,[SI]MOVBL E[ 算術(shù)運(yùn)算(Arithmetic)指令 例:MOVBX,OFFSETFIRST多位數(shù)連加MOVSI,OFFSETMOVAX,H1+H2ADD[BX],MOVAX,[SI+2];H 指令:目標(biāo)操作數(shù)加1ADC[BX+2],AX;H1+H2(H2)類(lèi)似P75例2.65字節(jié)INC(IncrementbyINC INCDL?問(wèn)題2:如何在二進(jìn)制運(yùn)算INCBYTEPTR[BX礎(chǔ)上實(shí)現(xiàn)十進(jìn)制BCD運(yùn)算-指微機(jī)系統(tǒng)與接];INCWORDPTR東南大 ?問(wèn)題1算術(shù)運(yùn)算(Arithmetic)指令 ADDAddition)加法:8位/16位操作數(shù),影響FLAGS3AH+72H=ACH,沒(méi)有進(jìn)位:CF=0結(jié)果不是零:ZF=0 D7=1:SF=1產(chǎn)生溢出:OF=1 4個(gè)1,偶數(shù)個(gè)1:PF1BBH+72H=(1)2DH,有進(jìn)位:CF=18EH72H=(1)00H,結(jié)果是零:ZF D7=0:SF=0BBH+72H=(1)2DH,沒(méi)有溢出:OF=0*應(yīng)該利用哪個(gè)標(biāo)志,由程序員來(lái)決定如果將參加運(yùn)算的操作數(shù)認(rèn)為是無(wú)符號(hào)數(shù),就應(yīng)該關(guān)心進(jìn)位;認(rèn)為是有符號(hào)數(shù),則要注意是否溢出。微機(jī)系統(tǒng)與接?xùn)|南大 第二章微型計(jì)算機(jī)指令系統(tǒng)(續(xù)8086/8088指令系統(tǒng)(六大類(lèi)數(shù)據(jù)傳送(DATA通用I/O目標(biāo)地址傳送/算術(shù)運(yùn)算邏輯運(yùn)算與位操作串操作(String轉(zhuǎn)移控制(ControlMPU控制(ProcessorControl)東南大 MOVAL,100;MOVMOVDS,AX;MOVCX,BX;MOV AX,[2000H];MOVALBUFFER(存MOVCS:[2000H], MOVAXMOVVMOV[BXMOVDX,[BX][DI+900H];MOVPUSH LEAPOP LDSSI,東南大 數(shù)據(jù)數(shù)據(jù)傳送與尋址微機(jī)系統(tǒng)與接?xùn)|南大 數(shù)據(jù)傳送指令兩個(gè)操作數(shù)兩個(gè)操作數(shù)不能都 段寄存器的操作有一些限段寄存器 寄存器,對(duì)他們的操作能力有尋址方式ADD(Addition)加法:8位/16位操作數(shù),影響ADDdest,src;ADDAX,[BX]; ADDCL,10H;ADDSP,2;ADD[2000H],AL;ADDWORDPTR[BX],例 ADDAL,AHSF=1,CF=0ZF=0;AF=1;PF(EVEN)=0;OF=1CF=1作為無(wú)符號(hào)數(shù)相加進(jìn)位(字節(jié)/字OF=1當(dāng)作為有符號(hào)數(shù)相加溢出(-128~127/-算術(shù)運(yùn)算(Arithmetic)指令 微機(jī)系統(tǒng)與接?xùn)|南大 令BCD法算令BCD法算術(shù)運(yùn)算(Arithmetic)指令 微機(jī)系統(tǒng)與接9算術(shù)運(yùn)算(Arithmetic)指令A(yù)AA*(ASCIIadjustforAddition)非壓縮BCD(單字節(jié))只對(duì)UnpackedBCD(00-09H)有意義;等效:IF((AL)&(0FH)>9)OR(AF)=1THEN(AL)+6;AH+1;AF=CF=1;(AL)&0FHELSE(AL)&0FH;(應(yīng)例:MOVMOVADD 微機(jī)系統(tǒng)與接 東南大 AAA*(ASCIIadjustforAddition)P77例2.7LEASI,STRING1LEALEADI,SUMMOVAL,[SI]ADCAL,[BX]MOV[DI],ALMOVAL,[SI+1];如以ASCII存放SUBSUB 調(diào)MOVASCII碼BCD帶進(jìn)位(CF)加?xùn)|南大 算術(shù)運(yùn)算(Arithmetic)AAA*(ASCIIAAA*(ASCIIadjustfor √P77例2.74609 LEASI,STRING1LEADI,SUMMOVCX,4INC…DECCX程序流程圖/面向過(guò)(循環(huán)/條件指令)結(jié)算術(shù)運(yùn)算(Arithmetic)指令 微機(jī)系統(tǒng)與接?xùn)|南大學(xué)DAA*(DecimaladjustforAddition)壓縮BCD加法調(diào)(單字節(jié))只對(duì)PackedBCD(00-99H)有意義等效:IF((AL)&(0FH)>9)OR(AF)=1THEN(AL)+6AF=1;((AL)&(9FH)>9)OR(CF)=1THEN(AL)+60H;例: 得到壓縮BCDMOVADDAL,BL;(AL=C1H,AF=1);DAA;(CF=1=AFAL=27H,可連加)打*算算術(shù)運(yùn)算(Arithmetic)指令 減 乘 除 AAS/DAS*(調(diào)整 IMUL(有符號(hào)乘 IDIV(有符號(hào)除例:減法:CF=1SUBAL,CH; SUBBYTEPTR[2000H],20SBBAX,[BP DEC DECWORDPTRDECBYTEPTR微機(jī)系統(tǒng)與接?xùn)|南大學(xué)打*東南大學(xué)微機(jī)系統(tǒng)與接NEGNEGdest; (dest)←0-(dest)改F例:NEGALNEGBX;NEGBYTEPTRCS:[2000H]AL=30HNEGALD0H(-48)CMPCompare)(dest)-(src)改例:CMPAL,CH; CMPBYTEPTR[2000H],20JCNEXT;利用FLAGS結(jié)果,無(wú)符號(hào)數(shù)比JGNEXT有符號(hào)數(shù)比較滿(mǎn)足SFOF=0時(shí)算術(shù)運(yùn)算(Arithmetic)指令 6算術(shù)運(yùn)算(Arithmetic)指令16位乘法MUL6算術(shù)運(yùn)算(Arithmetic)指令16位乘法MULCX;MULWORDPTR默認(rèn)AX*OPRD積=DX(高16位)|AX(低16位8位乘 MULCL;MULBYTEPTR默認(rèn) 積=例:AL=42H(66),CL=28H(40)MULCLAX=0A50H(2640)AX,0A50H,MULCXDX/AX=0020H/微機(jī)系統(tǒng)與接 東南大學(xué)算術(shù)運(yùn)算(Arithmetic)指令16位除法DIVCX;DIVWORDPTR默認(rèn)被除數(shù)DX(高16位)|AX(低16位/OPRD(1除0/結(jié)果余數(shù)商 (字節(jié)除商2558位除法DIV DIVBYTEPTR[BX+1]字:>65535)默認(rèn)AX/OPRD(字節(jié))結(jié)果AH=余數(shù)AL=例:DX=20H,AX=0FDF2HSI=333HDIVSIAX=0A50HDX=0002H DIVCL0028H微機(jī)系統(tǒng)與接 東南大學(xué)算術(shù)算術(shù)運(yùn)算(Arithmetic)指令I(lǐng)MUL/IDIV有符號(hào)數(shù)乘/除CBW/CWD符號(hào)擴(kuò) 打*指令一般了AAM*(ASCIIadjustforMultiply)AL(<100)轉(zhuǎn)換成UnpackedBCD(00-09H)到AX等效:AH(AL)/10;(商);(AL)(AL)%10(余數(shù))SF,ZF,PF單字節(jié)!AAD*(ASCIIadjustforDivide):UPKed-BCDAX:AL=AH*10+AL;AH=0單字節(jié)!微機(jī)系統(tǒng)與接 東南大學(xué)微機(jī)系統(tǒng)與接邏輯運(yùn)算 ANDAX,[BX];ANDORdest, ORORWORDPTR[BX],XORdest,src(logicalExclsiveorXORAX,AX;XORCL,NOTdest;B:dest=255-dest;W:dest=65535-NOTAL;NOTWORDPTR[BX]NOTBYTEPTRES:[2000H]邏輯邏輯運(yùn)算—位操作/.置位(1)ORAL,ORCL,復(fù)位(0)ANDAL,TEST 邏輯與測(cè)TESTAL,80H;TESTAX,0FFFFH;ZF=ANDAL,80H;ANDAX,0FFFFH.TEST與AND的差別.位判微機(jī)系統(tǒng)與接?xùn)|南大學(xué)微機(jī)系統(tǒng)與接?xùn)|南大學(xué)邏輯移位(Logical1位/CL位相當(dāng)于無(wú)符號(hào)數(shù)*2SHL/SALdest,1;SHLAL,1;SHLCX,1SHL/SALdest,CL SHLWORDPTR[BX],CLCFdest(MSB… 當(dāng)MSB≠CF則OF=1SHR(Shiftlogicalright) SHRdest,1(CL)算術(shù)移位(Arithmetic算術(shù)移位(ArithmeticSAR(ShiftArithmetic 帶符號(hào)SARdest,1;SARdest,CLMOVAL,SARAL,1;/2AL=SARAL,1;SARB(C4H=-B,0FFH=- /2-1不變/2-東南大學(xué)循環(huán)移位指令(RotateROL(RotateROLdestBROLAL,1BROR(RotateRORdestRORWORDPTR[BX],CLB8位或16位操作數(shù)移位/RORAL1B東南大學(xué)RCL(RotateThroughCarryFlagRCLdestDmaxD1RCRdest1/CL (高低順序交換微機(jī)系統(tǒng)與接?xùn)|南大學(xué) 串操作(String MOVSB-W/CMPSB-W/SCANSB- 方向SI=srcpointer(DS)DI=destpointer(ES)DF控INC(DF=0)/DECB+-1/W+-重復(fù)前綴:微機(jī)系統(tǒng)與接?xùn)|南大學(xué)CX個(gè)單 串 串操作功能與默認(rèn)操作 微機(jī)系統(tǒng)與接?xùn)|南大學(xué)REP(Z)MOVS(CX次REPE(Z)CMPS/SCAS(重復(fù)至CX=0或REPNE(ZF=0)Repeatwhile(CX≠0andZF=0)。以指令--重復(fù)前綴本身影響標(biāo)志位(CX-MOVSBW((ES):(DI))((DSSI))不影響標(biāo)志CMPSB/W---((es):(di))-((ds):(si))影響標(biāo)志 (AL)/(AX)–((ESDI影響標(biāo)志LODSB/W(loadString):(AL/AX)((DS):STOSB/W(Storestring):(AL/AX)((ES):轉(zhuǎn)移控制(ControlTransfer)-程序微機(jī)系統(tǒng)與接?xùn)|南大學(xué)轉(zhuǎn)移指令---無(wú)條件跳轉(zhuǎn)(UnconditionalCS:IPInstructionPointer下條指令地址(指針JMPSHORT_LABEL;近短IPSHORT向前 NEAR_LABELIP=IP+disp16段內(nèi)跳轉(zhuǎn)JMP 段間地址CS:IP=新地址JMPSHORTJMPNEARPTRJMPFARPTRREG16/mem16JMP JMP JMP0FFFFH:0(熱啟動(dòng)JMPFARPTRTABLE[SI];JMPNEARPTR轉(zhuǎn)移指令---條件跳轉(zhuǎn)(conditional轉(zhuǎn)移指令---條件跳轉(zhuǎn)(conditional(利用CMP,TEST,計(jì)算,移位指令等結(jié)果改變程序流JCCSHORT_LABEL;限近短跳IP滿(mǎn)足條件IP=IP+disp8,否則順序執(zhí)行(IFELSE)JZ/JE--JNZ/JNE (ZF)=1--(ZF)=0東南大學(xué)--(SF)=1--(PF)=0----(OF)=1----(CF)=1--JB/JNAE-- (CF)=1-JA/JNBE--JNA/JBE OR(ZF)=1(運(yùn)算++,+-,--,-+后)JL/JNGE--JNL/JGE(SF)≠(OF)&(ZF)=0---(SF)=(OF)東南大學(xué)LOOPLOOPshort_label;loopCXLOOPZ/LOOPEshort_label;(loopwhile循環(huán)直到(CX)=0orLOOPNE/LOOPNZshort_label;(Loopwhile循環(huán)直到(CX)=0or ifCX=0Jumpto(JumpOnCXCX為零控制調(diào).循環(huán)跳轉(zhuǎn)超過(guò)-128/+127Dowhile/whileDo/Fori=0;i<100;i++)的實(shí)微機(jī)系統(tǒng)與接?xùn)|南大學(xué)(Callaprocedure微機(jī)系統(tǒng)與接?xùn)|南大學(xué)過(guò)程(Procedure);如果一些程序模塊需要在不同地方多次反復(fù)地出現(xiàn)使用,則可以將這些程序模塊設(shè)計(jì)成過(guò)程,每次需要時(shí)進(jìn)行調(diào)用。過(guò)程結(jié)束(相當(dāng)于高級(jí)語(yǔ)言中的子程序Subroutine,或函數(shù)縮短源程 需要利用堆棧技術(shù),控制與(Callaprocedure微機(jī)系統(tǒng)與接?xùn)|南大學(xué)CALL段內(nèi)\段間:直接/間接調(diào)用(過(guò)程/子程序RETRETF)(分遠(yuǎn)近,產(chǎn)生不同RET碼(CallaprocedureCALL(SP)(SP)-CALL CALL(SP)(SP)-2,((SP)+1,(SP))(CS);(CS)SEGCALL (CS)MEM32+2,例:CALL2000H;CALL CALLNEARPTRCALL2000:3000H;CALLFAR微機(jī)系統(tǒng)與接 東南大學(xué)S(S(ReturnFromCall東南大學(xué)RET(C3H);(IP)((SP)+1:(SP)),RETpop_value;(C2Hdata_low(IP)((SP)+1:(SP)), RETF(CBH);(IP)((SP)+1:(SP)), pop_value(CAHdata_lowdata_high)IP:CSC函數(shù)調(diào) 傳遞參數(shù)從右到左壓入堆棧,再壓入返回地(W/DW)后轉(zhuǎn)移,返回后修改SP(ADDSP,n); pact)IntT_PROC(inta,intb);C函數(shù)_T_PROCprocNEAR;匯編子程序(過(guò)程PUSHBP; [BP]=保存BP,[BP+2]=RET_IP,[BP+4]=a[BP+6]=bPOP 返回后ADD 返回值:char,short,int=AX,float,double:AX=EA,long:DX,AX;NearPointer:AX,FarPointer:DX,AX 東南大學(xué) 中斷指令 中斷指令 微機(jī)系統(tǒng)與接?xùn)|南大學(xué)軟件中斷:8086支持在程序中安排一條中斷指令引起8086/8088:中斷0-FFH,每個(gè)占用4字節(jié)中斷向量(CS:IP) 區(qū):0000:0000~03FFHn號(hào)中斷向 在0000:4*n~0000:4*n+3單 中斷指令 INT(Interrupt)INTn (n中斷類(lèi)型號(hào)(SP)(SP)-2,((SP)+1,(SP))(FLAG斷 (IF)0(SP)(SP)-2,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 南京工業(yè)大學(xué)浦江學(xué)院《圖形與標(biāo)志設(shè)計(jì)》2021-2022學(xué)年第一學(xué)期期末試卷
- 非特異性免疫說(shuō)課稿
- 深圳市萬(wàn)豪御景苑施工組織設(shè)計(jì)
- 南京工業(yè)大學(xué)浦江學(xué)院《企業(yè)家精神》2022-2023學(xué)年第一學(xué)期期末試卷
- 【初中化學(xué)】化學(xué)反應(yīng)的定量關(guān)系單元綜合題-2024-2025學(xué)年九年級(jí)化學(xué)人教版上冊(cè)
- 南京工業(yè)大學(xué)浦江學(xué)院《公益組織內(nèi)部治理和戰(zhàn)略管理》2022-2023學(xué)年第一學(xué)期期末試卷
- 精神科責(zé)任自負(fù)協(xié)議書(shū)(2篇)
- 南京工業(yè)大學(xué)《有機(jī)波譜分析》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)《無(wú)機(jī)非金屬材料工學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 教育4-5歲幼兒尊重并接納不同群體的實(shí)施方案
- 2019新人教版高中生物選擇性必修二全冊(cè)重點(diǎn)知識(shí)點(diǎn)歸納總結(jié)
- 2023版國(guó)開(kāi)電大本科《高級(jí)財(cái)務(wù)會(huì)計(jì)》在線(xiàn)形考(任務(wù)一至四)試題及答案
- 工業(yè)互聯(lián)網(wǎng)安全技術(shù) 課件全套 魏旻 第1-9章 緒論、工業(yè)互聯(lián)網(wǎng)安全體系架構(gòu) -工業(yè)互聯(lián)網(wǎng)安全測(cè)試
- 痛風(fēng)病完整課件
- 湖北漢江王甫洲水力發(fā)電限責(zé)任公司公開(kāi)招聘工作人員【6人】高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 慢性阻塞性肺疾病案例分析護(hù)理
- 孤殘兒童護(hù)理理論知識(shí)考試題庫(kù)及答案
- 2024年興業(yè)銀行股份有限公司校園招聘考試試題及參考答案
- 2024年計(jì)算機(jī)軟考(初級(jí))網(wǎng)絡(luò)管理員考試題庫(kù)大全(含真題等)
- 北師大版三年級(jí)數(shù)學(xué)上冊(cè)第六單元《乘法》(大單元教學(xué)設(shè)計(jì))
- 紡織品購(gòu)銷(xiāo)合同(5篇)
評(píng)論
0/150
提交評(píng)論