當前位置首頁 > 計算機 > 計算機原理
搜柄,搜必應! 快速導航 | 使用教程

微型計算機原理及應用第三版 (5)

文檔格式:PPT| 16 頁|大小 73KB|積分 15|2024-12-10 發(fā)布|文檔ID:253299991
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 16
此文檔下載收益歸作者所有 下載文檔
  • 版權提示
  • 文本預覽
  • 常見問題
  • 單擊此處編輯母版標題樣式,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第七章 8086匯編語言中基本語法,助記符,指令:,CPU,可以執(zhí)行的能完成特定功能的語句,能產(chǎn)生目標代碼它主要由,CPU,指令組成偽指令:是一種不產(chǎn)生目標代碼的語句,它僅僅在匯編過程中告,訴匯編程序應如何匯編,宏指令:它是一個指令序列匯編時凡有宏指令語句的地方都用,相應的指令序列的目標代碼插入一、匯編語言源程序的一些必要成分,1、段結構的形成,、段定義偽指令:,SEGMENT,與,ENDS,段名,SEGMENT,段名,ENDS,(*),段名字必須在兩處出現(xiàn),而且必須致segment,和,ends,必須成對出現(xiàn)segment,定義一個段的開始,ends,定義一個段的結束,段寄存器說明偽指令:,assume,ASSUME,段寄存器名:段名,段寄存器名:段名,,(*),指出源程序中的邏輯段與物理段之間的關系當匯編程序匯編一個邏輯段時,即可利用相應的段寄存器尋址該邏輯段中的指令或數(shù)據(jù)只是通知匯編程序有關段寄存器與邏輯段的關系,并沒有給段寄存器賦于實際的初值例如:,CODESEGMENT,ASSUMECS:CODE,DS:DATA,SS:STACK,MOVAX,DATA,MOVDS,AX,MOVAX,STACK,MOVSS,AX,CODEENDS,模塊偽指令:,name,end,public,extrn,NAME,用于給源程序匯編以后得到的目標程序指定一個模塊名,連接時需要使用這個目標程序的模塊名。

    NAME,模塊名,(2),END,表示源程序到此結束,指示匯編程序停止匯編,對于,END,后面的語句可以不予理會END,標號,END,偽指令后面的標號表示程序執(zhí)行的啟動地址END,偽指令將標號的段基值和偏移地址分別提供給,CS,和,IP,寄存器方括號中的標號是任選項如果有多個模塊連接在一起,則只有主模塊的,END,語句使用標號3),PUBLC,偽指令說明本模塊中的某些符號是公共的,即這些符號可以,提供給將被連接在起的其他模塊使用,PUBLIC,符號,(4),EXTRN,EXTRN,偽指令說明本模塊中所用的某些符號是外部的,即這些符號在將被連接在一起的其他模塊中定義(在定義這些符號的模塊中還必須用,PUBLIC,偽指令說明),EXTRN,名字:類型,,例如:程序的框架,datasegment,dataends,codesegment,assume,cs,:code,ds,:data,start:,mov,ax,data,mov ds,ax,codeends,endstart,2、數(shù)據(jù)的定義,常量、變量和標號,常量,:,一個常量如果是一個字符串,該字符串必須用單引號或雙引號括起來,匯編語言把它們匯編成相應的,ASCII,碼。

    變量:,變量實際上代表著內(nèi)存中一塊存儲單元,,變量有三個屬性:段基址、段內(nèi)偏移量以及類型變量的類型是指變量元素具有的字節(jié)數(shù),字節(jié)變量表示一個8位數(shù)據(jù),其類型為1;字變量表示一個十六位數(shù)據(jù)其類型為2;雙字變量表示一個32位的數(shù)據(jù),其其類型為4;,標號:,實際上是代碼段中的某一指令的地址它也有三個屬性:段地址、段內(nèi)偏移量和類型標號的類型有兩種:,NEAR,標號,,它只能在定義它的段內(nèi)被引用,其類型為,l,:,FAR,標號,,它既可以在定義它的段內(nèi)被引用,也可以在其他段內(nèi)被引用,其類型為,2,,它代表了指令的段地址和偏移量標號可以在各種轉(zhuǎn)移指令中作為操作數(shù)使用它只能定義在可執(zhí)行的代碼段中數(shù)據(jù)定義偽指令:,DB,DW,DD,DQ,DT,數(shù)據(jù)定義偽指令的用途是定義一個變量的類型,給存儲器賦初值,或者僅僅給變量分配存儲單元,而不賦于特定的值,第一種格式:,名字 偽指令 表達式,第二種格式:,名字 偽指令,DUP (,表達式),例題:畫出經(jīng)過如下數(shù)據(jù)定義后內(nèi)存中數(shù)據(jù)的存放情況,var1 db 100,0ffh,var2 db ,abc,注意:字符串定義用,db,var3,dw,?,ab,var4,dw,1,3456h,var5,dd,56789h,var6 db 3 dup(1,2),符號定義偽指令:,equ,=,label,(1)EQU,和=,名字,EQU,表達式,例如:,CHAR EQU HELLO THE WORLD,(*),利用,EQU,偽指令,可以用一個名字代表一個數(shù)值,或用一個較,簡短的名來代替一個較長的名字。

    EQU,偽指令不允許對同一符號重復定義偽指令與,EQU,基本相同只是區(qū)別在于它可以對同一個名字,重復定義,(2),LABEL,名字,LABEL,類型,AREAW LABEL WORD MOV AREAW,AX,AREAB DB l00 DUP(?)MOV AREAB,AL,(四)其它的一些偽指令,(1),ORG,和$,ORG,指定了在它之后的代碼或數(shù)據(jù)存放的起始地址的偏移量即 以語句中表達式的值作為起始地址,ORG ,在匯編程序?qū)υ闯绦虻膮R編過程中,使用地址計數(shù)器來保存當前正在匯編的指令的地址地址計數(shù)器的值可用$來表示匯編語言允許用戶直接,用$來引用地址計數(shù)器的值.,ORG$+8,JNZ$+6,ARRAY DW 11H,12H,$+3,13H,(,假設,ARRAY,的起始地址為0070,H),(2).RADIX,定義源程序中書寫數(shù)據(jù)時的隱含進位方式,.,RADIX ,(3),COMMENT,塊注釋偽指令,COMMENT,定界符 注釋 定界符,二、表達式與運算符,1、算術運算符,算術運算符有加(十)、減(一)、乘(,)、除()、模(,MOD)、,左移(,SHL)、,右移(,SHR),七種。

    除法返回的是商,而,MOD,操作返回除法操作的余數(shù).例如,PI-INT EQU 3141610000 ;,PI-INT3,P-REM EQU 31416 MOD 10000 ;,P-REM1416,SHL,和,SHR,是移位操作般在建立屏蔽字時使用例如:,MASKB EQU 00110010B,MASKB1 EQU MASKB SHL 2 ;,MASKB1=11001000B,MASKB2 EQU MASKB SHR 2 ;,MASKB2=00001100B,注意:運算符的運算是在匯編時完成的,2、邏輯運算符,匯編語言的邏輯運算符有,AND,邏輯與,OR,邏輯或,XOR,邏輯異或,NOT,邏輯非,邏輯運算符與邏輯運算指令的區(qū)別在于前者在匯編時完成邏輯運算,而后者在執(zhí)行指令時完成邏輯運算,MASKB EQU 00101011B,MOV AL,5EH,AND AL,MASKB AND 0FH;,ANDAL,0BH,;,(AL)=0AH,3、關系運算符,關系運算符有:,EQ,等于;,NE,不等,LT,小于;,GT,大于,LE,小于等于;,GE,大于等于,關系運算符比較兩個操作數(shù)并產(chǎn)生一個邏輯值。

    如果關系成立,則結果為,真(0,FFFFH),;,否則為,假(0000,H),關系運算符一般都,同其他操作結合以構成一個判斷表達式例如要實現(xiàn),AX=5,如果,CHOICE20,AX=6,如果,CHOICE20,那么可以使用下列語句:,MOV AX,(,(CH0ICE LT 20),AND 5),OR,(,(CHOICE GT 20),AND 6),4分析運算符,(1),SEG,求段基址,(2),OFFSET,求偏移地址,(3),TYPE,求符號名類型值,(4),SIZE,求為符號名分配的字節(jié)數(shù),(5),LENGTH,求為符號名分配的項數(shù),TABLE DW 100 DUP(?),MOV AX,SEG TABLE ;,把,TABLE,的段地址送,AX,MOV BX,OFFSET TABLE ;,把,TABLE,的偏移地址送,BX,MOV CX,TYPE TABLE ;,MOV DX,LENGTH TABLE,MOV BP,SIZE TABLE,注意:,LENGTH,和,SIZE,運算符只對用,DUP,定義的變量有意義,5.組合運算符,(1),PTR,運算符,PTR,運算符用于指定或暫時改變變量或標號的原有屬性。

    MOV,BYTE PTR,SI,0FFH,JMP,DWORD PTR,DI,VAR DW 100 DUP(?),MOV,BYTE PTR,VAR,AL,(2)THIS,運算符,LABC EQU THIS BYTE,LABD DW 4321H,MOV AL,LABC,MOV AX,LABD,操作系統(tǒng)使用的兩種方式,(1)使用者:命令行方式或圖形界面方式,(2)程序員:系統(tǒng)功能調(diào)用或應用程序接口(,API),系統(tǒng)功能調(diào)用,:,操作系統(tǒng)提供給應用程序的軟件接口,完成應用程 序?qū)ο到y(tǒng)的使用,系統(tǒng)功能調(diào)用的使用方法,(1)傳送入口參數(shù)到指定寄存器中;有的子程序無入口參數(shù),則只需安排后兩個語句,(2)功能號送入,AH,寄存器中;,(3),INT 2lH4),系統(tǒng)將出口參數(shù)送到指定寄存器中或從屏幕顯示出來例題:,從鍵盤輸入一串字符到一個內(nèi)存變量,遇到回車則結束輸入,同時在屏幕上顯示相同個數(shù)的一串星號DATASEGMENT,VARDB 10 DUP(0),DATAENDS,CODESEGMENT,ASSUME CS:CODE,DS:DATA,START:MOVAX,DATA,MOVDS,AX,LEADI,VAR,LAB:,MOV AH,8,INT21H,CMPAL,ODH,JZNEXT,MOVDI,AL,INCDI,MOVAH,2,MOVDL,2AH,INT21H,JMPLAB,NEXT:,MOVAH,4CH,INT21H,CODEENDS,END START,。

    點擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關注青少年成長健康無煙為成長護航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強不息.pptx
    XX學校班主任培訓用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預防指南預見夏天健康童行夏季傳染病預防科普.pptx
    高中生心理健康教育主題班會快樂學習高效學習正視壓力學會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護職防同行.pptx
    XX幼兒園防災減災安全教育臨災不亂安全童行學會保護自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴治黨和黨風廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶祝“五一”暨勞動模范表彰大會上的講話發(fā)言材料多篇.docx
    2025年稅務局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風廉政建設工作要點材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:hjk269565
    資質(zhì):實名認證