部分常用指令和尋址方式

部分常用指令和尋址方式

ID:37480738

大小:204.00 KB

頁數(shù):58頁

時間:2019-05-12

部分常用指令和尋址方式_第1頁
部分常用指令和尋址方式_第2頁
部分常用指令和尋址方式_第3頁
部分常用指令和尋址方式_第4頁
部分常用指令和尋址方式_第5頁
資源描述:

《部分常用指令和尋址方式》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、第3部分常用指令和尋址方式AssemblyLanguageProgramming1常用基本操作AssemblyLanguageProgramming=偽操作格式:名稱=表達式賦值操作將表達式的數(shù)值指派給名稱表達式一定為數(shù)值名稱的值可被多次指派例如:MAXINT=7FFFHCOUNT=1COUNT=COUNT*2EQU偽操作格式:名稱EQU表達式利用名稱替代表達式表達式可以為數(shù)值,也可為字符串使用<>代表字符串一旦賦值完成,不能再次改變舉例:SampleEQU7FhaStringEQU<1.234>messageEQU

2、sage>MPYEQUMUL'利用MPY替代MUL指令注意EQU偽操作中的表達式名是不允許重復定義的,而=偽操作則允許重復定義。上述兩個偽操作和數(shù)據(jù)定義DB/DW/DD等不同之處,主要體現(xiàn)在:EQU和=不分配內(nèi)存空間,僅僅定義了數(shù)據(jù),編譯時用定義的數(shù)據(jù)替換標識符數(shù)據(jù)定義偽指令DB/DW/DD分配相應的內(nèi)存空間通用數(shù)據(jù)傳輸指令傳送指令MOV數(shù)據(jù)交換指令XCHG地址偏移量加載LEAMOV指令MOVtarget,sourcereg,regmem,regreg,memmem,immedreg,immed存儲器操作數(shù)之間不能相互傳值兩個操作數(shù)的類型

3、須一致段寄存器和立即數(shù)之間不能相互傳值CS不能作為目標寄存器使用合法指令舉例寄存器傳送MOVEDX,ECXMOVES,AXMOVBYTEFLD,AHMOV[DI],BX立即數(shù)傳送MOVCX,40HMOVBYTEFLD,25HMOVWORDFLD[BX],16H直接存儲器傳送MOVCH,BYTEFLDMOVCX,WORDFLD[BX]段寄存器傳送MOVAX,DSMOVWORDFLD,DS非法MOV指令MOVDL,WORD_VALMOVDX,BYTE_VAL注:PTR的使用MOVDL,WORDPTRWORD_VALMOVDX,BYTEPTPB

4、YTE_VALMOVBYTE_VAL1,BYTE_VAL2'存儲器之間不能之間傳送MOVES,23'立即數(shù)到段寄存器不能直接傳送MOVES,DS‘段寄存器間不能傳送MOVCS,23交換數(shù)據(jù)指令XCHGXCHGtarget,sourcereg,regreg,memmem,regMOV和XCHG不能執(zhí)行存儲器之間的數(shù)據(jù)傳送交換數(shù)據(jù)操作的有效方法不需臨時的空間排序經(jīng)常需要此操作ItworksonlywiththegeneralregistersAX,BX,CX,DXBP,SI,DI,SPSEG格式:SEG變量名或者標號例如MOVAX,SEGK1

5、MOVAX,SEGDATAXOFFSET和LEA指令OFFSET操作符取偏移量MOVBX,OFFSETDATA1LEA利用偏移量初始化寄存器BX,SI,DI等,為的是指向存儲器的一個地址舉例DATA1DB25DUP(?)DATA2DB?……LEABX,DATA1'裝入偏移地址MOVDATA2,[BX]'傳送DATA1的第一個字節(jié)數(shù)據(jù)等效的指令LEABX,DATA1‘裝入偏移地址??MOVBX,DATA1LDS和LESLDSREG,SRC執(zhí)行的操作:(REG)?(SRC)(DS)?(SRC+2)把源操作數(shù)指定的4個相繼字節(jié)送到由指令指定的寄

6、存器及DS寄存器中.該指令常指定SI寄存器.LESREG,SRC執(zhí)行的操作:(REG)?(SRC)(ES)?(SRC+2)把源操作數(shù)指定的4個相繼字節(jié)送到由指令指定的寄存器及ES寄存器中.該指令常指定DI寄存器.地址偏移BDB4Fh,20h,3ChWDW2048,-100,0MOVBX,W+2MOVB+1,AHMOVAH,B+5MOVDX,W-3匯編器計算地址的偏移注意:匯編的時刻計算地址MOVAX,B-1不是從B的數(shù)值中減去1TYPE運算符例如V1DB‘ABCD’V2DW1234H,5678HV3DDV2……MOVAL,TYPEV1;0

7、1HMOVBL,TYPEV2;02HMOVCL,TYPEV3;04HLENGTH和SIZELENGTH返回數(shù)組變量元素的個數(shù)SIZE返回數(shù)組元素的字節(jié)大小Size=length*typeORG和$ORGn定位常數(shù)值為n的偏移地址$當前偏移地址例:ORG$+8可以表示跳過8個字節(jié)的存儲區(qū)例題例如:BUFDW1,2,$+1,3如果BUF的偏址為10H,問內(nèi)存情況如何?例如:BUFDB1,2,3,4ABCEQU$-OFFSETBUF問ABC等于什么?PTR強制修改操作數(shù)的類型例如:MOV[BX],AX對MOV[BX],4錯改為:MOVWORDP

8、TR[BX],4MOVBYTEPTR[BX],4簡單的算術(shù)運算ADDdest,sourceSUBdest,sourceINCdestDECdest操作數(shù)的類型一定要一致對標志寄存器起作用源操作

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。