亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 指令.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
標志寄存器 

  標志寄存器又稱程序狀態寄存器PSW (Program Status Word).

各機型標志寄存器的內容如下:
OF overflow flag 溢出標志 操作數超出機器能表示的范圍表示溢出,溢出時為1. 
SF sign Flag 符號標志 記錄運算結果的符號,結果負時為1. 
ZF zero flag 零標志 運算結果等于0時為1,否則為0. 
CF carry flag 進位標志 最高有效位產生進位時為1,否則為0. 
AF auxiliary carry flag 輔助進位標志 運算時,第3位向第4位產生進位時為1,否則為0. 
PF parity flag 奇偶標志 運算結果操作數位為1的個數為偶數個時為1,否則為0. 
DF direcion flag 方向標志 用于串處理.DF=1時,每次操作后使SI和DI減小.DF=0時則增大. 
IF interrupt flag 中斷標志 IF=1時,允許CPU響應可屏蔽中斷,否則關閉中斷. 
TF trap flag 陷阱標志 用于調試單步操作. 
IOPL I/O privilege level I/O特權級 在保護模式下,用于控制對I/O地址空間的訪問. 
NT nested task 嵌套任務標志   
RF resume flag 重新啟動標志   
VM virtual_8086 mode 虛8086模式位 VM=1時,可模擬8086處理器的程序設計環境. 
AC alignment check mode 對準檢查方式位   
VIF virtual interrupt flag 虛擬中斷標志   
VIP virtual interrupt pending flag 虛擬中斷未決標志   
ID identification flag 標識標志
DEBUG中標志位的符號表示:
FLAG NAME FLAG == TRUE (1) FLAG == FALSE (0) 
OF 溢出(是/否) OV OVerflow NV Not oVerflow 
DF 方向(減量/增量) DN DowN UP UP 
IF 中斷(允許/關閉) EI Enable Interrupt DI Disable Interrupt 
SF 符號(負/正) NG NeGative PL PLus 
ZF 零(是/否) ZR ZeRo NZ Not  Zero 
AF 輔助進位(是/否) AC Auxiliary Carry NA Not Auxiliary 
PF 奇偶(是/否) PE Parity Even PO Parity Odd 
CF 進位(是/否) CY CarrY NC Not Carry 
 
  過程設計 
--------------------------------------------------------------------------------
  過程定義語句:PROC 和ENDP必須有名字,兩者成對出現.

procedure_name    PROC    [ NEAR | FAR ]        ;要說明是NEAR過程或FAR過程.

...

RET        ;RET 返回指令必須與[ NEAR  |  FAR ] 對應

procedure_name    ENDP

注:主程序和所調用的過程在同一代碼段中,則定義說明為NEAR屬性

    主程序和所調用的過程不在同一代碼段中,則定義說明為FAR屬性

 

過程文檔說明:

1.過程名

2.功能說明

3.占用寄存器、工作單元說明

4.輸入參數說明

5.輸出參數說明

 

現場保護及現場恢復的兩種方法:

1.利用PUSH指令將過程要占用的寄存器的內容保存在堆棧中,恢復時用POP指令從棧中取出.

如果在主程序用PUSH指令保護寄存器,則要在主程序中用POP指令恢復寄存器.

如果在過程中用PUSH指令保護寄存器,則要在過程中用POP指令恢復寄存器.

SUB1    PROC    NEAR   ;本例在過程中使用PUSH和POP

        PUSH    AX        ;入棧保護 [into stack to protect]

        PUSH    BX

        PUSH    DX

        ...

        POP    DX        ;出棧恢復 [out  stack  to restore]

        POP    BX

        POP    AX

        RET

SUB1    ENDP

2.利用數據傳送指令將過程要占用的寄存器的內容保存到指定的內存單元,恢復時再取回到相應的寄存器中.

BUFFER    DW    10    DUP(?)        ;指定的內存單元 [specified  memory block]

...

SUB1    PROC    NEAR

        MOV    DI , OFFSET BUFFER  ;將寄存器存入到內存單元保護 [save memory block to protecte register]

        MOV    [DI] , AX

        MOV    [DI+2] , BX

        MOV    [DI+4] , DX

        ...

        MOV    SI , OFFSET  BUFFER  ;從內存單元取回到相應的寄存器[restored register from memory block]

        MOV    AX , [SI]

        MOV    BX , [SI+2]

        MOV    DX , [SI+4]

        RET

SUB1    ENDP

 

主程序和過程間參數傳遞的三種方法:寄存器傳遞、堆棧傳遞、存儲器傳遞

調用過程前,必須把操作中的加工處理數據傳送給過程,這些加工處理數據稱為輸入參數.

返回主程序前,把本次操作的最終結果傳遞給主程序,這些加工處理所得的結果稱為輸出參數.
 
  尋址 
--------------------------------------------------------------------------------
  當操作數存放在存儲器時,存儲單元的物理地址有兩部分:段地址和偏移地址.

指令中操作數也可以不在基本規定的段區內,必須在指令中指定段寄存器,即段超越.

存取的約定段及段超越(可修改段),如下所示 :

 存取方式 默認段 偏移地址 段超越  
 取指令 CS IP - - - -  
 堆棧操作 SS SP - - - -  
 源串 DS SI CS,ES,SS  
 目的串 ES DI - - - -  
 BP SS (EA) CS,DS,ES  
 一般數據 DS (EA) CS,ES,SS  

注:EA=Effect Address即有效地址,   - - - -表示不可以段超越

 

 

基址寄存器: BX , BP

變址寄存器: SI  ,  DI

除基址BX , BP和變址SI , DI這四個寄存器可間接尋址外(即加上中括號[ ]),其它寄存器一律不準間接尋址.

與數據有關的尋址方式:

立即尋址 MOV  AX , 常數 
直接尋址   MOV  AX , [常數] ;加上中括號  或  MOV AX , 變量名或標號 
寄存器尋址 MOV  AX , 通用寄存器 
寄存器間接尋址 MOV  AX , [(BX,BP,SI,DI)中的一個]    ;以下四行均需加上中括號 
寄存器相對尋址 MOV  AX , [(BX,BP,SI,DI)中的一個 + 偏移量] 
基址變址尋址 MOV  AX , [基址寄存器 + 變址寄存器] 
相對基址變址尋址 MOV  AX , [基址寄存器 + 變址寄存器 + 偏移量] 

與轉移地址有關的尋址方式(CALL指令也可用下列四種中任何一種尋址):

尋址方式 格式 轉移的有效地址 
段內直接尋址 JMP SHORT 標號 IP=標號, CS值不變  
段內間接尋址 JMP WORD PTR 標號[基/變址寄存器]  IP=(EA), CS值不變 
段間直接尋址 MP FAR PTR 標號 IP=標號的偏移地址,CS=標號的段對址 
段間間接尋址 JMP DWORD PTR 標號[基/變址寄存器] IP=(EA) , CS=(EA-2) 
  
  數據傳送指令 
 
MOV指令為雙操作數指令,兩個操作數中必須有一個是寄存器.

MOV  DST , SRC    //  Byte / Word

執行操作: dst = src
  
 
1.目的數可以是通用寄存器, 存儲單元和段寄存器(但不允許用CS段寄存器).

2.立即數不能直接送段寄存器

3.不允許在兩個存儲單元直接傳送數據

4.不允許在兩個段寄存器間直接傳送信息
 
PUSH入棧指令及POP出棧指令: 堆棧操作是以"后進先出"的方式進行數據操作.

PUSH   SRC    //Word

入棧的操作數除不允許用立即數外,可以為通用寄存器,段寄存器(全部)和存儲器.

入棧時高位字節先入棧,低位字節后入棧.
 
POP     DST    //Word

出棧操作數除不允許用立即數和CS段寄存器外, 可以為通用寄存器,段寄存器和存儲器.

執行POP   SS指令后,堆棧區在存儲區的位置要改變.

執行POP  SP 指令后,棧頂的位置要改變.


XCHG(eXCHanG)交換指令: 將兩操作數值交換.

XCHG   OPR1, OPR2     //Byte/Word

執行操作: Tmp=OPR1       OPR1=OPR2        OPR2=Tmp

1.必須有一個操作數是在寄存器中

2.不能與段寄存器交換數據

3.存儲器與存儲器之間不能交換數據.

 
XLAT(TRANSLATE)換碼指令: 把一種代碼轉換為另一種代碼.

XLAT   (OPR 可選)   //Byte

執行操作: AL=(BX+AL)

指令執行時只使用預先已存入BX中的表格首地址,執行后,AL中內容則是所要轉換的代碼.

 
地址傳送指令: LEA,LDS和LES

LEA(Load Effective Address) 有效地址傳送寄存器指令

LEA     REG , SRC              //指令把源操作數SRC的有效地址送到指定的寄存器中.

執行操作: REG  = EAsrc 

注: SRC只能是各種尋址方式的存儲器操作數,REG只能是16位寄存器

MOV     BX , OFFSET OPER_ONE 等價于 LEA     BX , OPER_ONE

MOV  SP , [BX]  //將BX間接尋址的相繼的二個存儲單元的內容送入SP中

LEA   SP , [BX]  //將BX的內容作為存儲器有效地址送入SP中

 
LDS(Load DS with pointer)指針送寄存器和DS指令

LDS    REG ,  SRC   //常指定SI寄存器。

執行操作: REG=(SRC), DS=(SRC+2)        //將SRC指出的前二個存儲單元的內容送入指令中指定的寄存器中,后二個存儲單元送入DS段寄存器中。

 
LES (Load ES with pointer) 指針送寄存器和ES指令

LES    REG , SRC        //常指定DI寄存器

執行操作: REG=(SRC) , ES=(SRC+2) //與LDS大致相同,不同之處是將ES代替DS而已.

 
標志寄存器傳送指令: LAHF,SAHF,PUSHF和POPF

LAHF ( Load AH with Flags ) 標志位送AH指令

LAHF              //將PSW寄存器中的低8位的狀態標志(條件碼)送入AH的相應位, SF送D7位, ZF送D6位......

執行操作: AH=PSW的低位字節。

SAHF ( Store AH into Flags ) AH送標志寄存器指令

SAHF               //將AH寄存器的相應位送到PSW寄存器的低8位的相應位, AH的D7位送SF, D6位送ZF......

執行操作: PSW的低位字節=AH。

PUSHF ( PUSH the Flags) 標志進棧指令

PUSHF         //將標志寄存器的值壓入堆棧頂部, 同時棧指針SP值減2

執行操作: SP=SP-1,(SP)=PSW的高8位,  SP=SP-1, (SP)=PSW的低8位
 
POPF ( POP the Flags ) 標志出棧指令

POPF            //與PUSHF相反, 從堆棧的頂部彈出兩個字節送到PSW寄存器中, 同時堆棧指針值加2

執行操作:  PSW低8位=(SP), SP=SP+1,   PSW高8位=(SP) , SP=SP+1

輸入輸出指令(IN,OUT):只限于使用累加器AX或AL與外部設備的端口傳送信息.

IN (INput)輸入指令:信息從I/O通過累加器傳送到CPU

IN    AL , PORT         //直接的字節輸入,PORT是外設端口編號(即端口地址),只能取 00H ~ 0FFH共256個端口地址.

IN    AX , PORT        //直接的字輸入,AX存儲連續兩個端口地址PORT+1,PORT

IN    AL , DX             //間接的字節輸入,端口地址范圍可通過DX設置為0000H ~ 0FFFFH共65536個端口地址

IN    AX , DX             //間接的字輸入

OUT( OUTput)輸出指令 :信息從CPU通過累加器傳送到I/O

OUT    PORT , AL        //直接的字節輸出,PORT規定與IN指令相同.

OUT    PORT , AX

OUT    DX , AL            //間接的字節輸出

OUT    DX , AX

MOV   AL,05H     OUT  27H, AL    //將字節05H傳送到地址27H的端口
加法運算指令

ADD(ADD)加法指令

ADD     DST , SRC      //Byte/Word

執行操作: dst=dst+src

1.兩個存儲器操作數不能通過ADD指令直接相加, 即DST 和SRC必須有一個是通用寄存器操作數.

2.段寄存器不能作為SRC 和DST.

3.影響標志位Auxiliary Crray Flag ,Carry Flag, Overflow Flag, Parity Flag, Sign Flag 和Zero Flag ,如下所示:

CF 根據最高有效位是否有進(借)位設置的:有進(借)位時CF=1, 無進(借)位時CF=0. 
OF 根據操作數的符號及其變化來設置的:若兩個操作數的符號相同,而結果的符號與之相反時OF=1, 否則為0. 
ZF 根據結果來設置:不等于0時ZF=0, 等于0時ZF=1 
SF 根據結果的最高位來設置:最高位為0, 則SF=0. 
AF 根據相加時D3是否向D4進(借)位來設置:有進(借)位時AF=1, 無進(借)位時AF=0 
PF 根據結果的1的個數時否為奇數來設置:1的個數為奇數時PF=0, 為偶數時PF=1 

ADC( ADd with Carry)帶進位加法指令

ADC     DST , SRC  //Byte/Word

執行操作: dst=dst+src+CF  //與ADD不同之處是還要加上進位標志位的值.

INC ( INCreament) 加1指令

INC    OPR    //Byte/Word

執行操作: OPR=OPR+1

1.OPR可以是寄存器和存儲器操作數, 但不能是立即數和段寄存器

2.影響標志位OF,SF,ZF,PF 和AF,不影響CF.

減法運算指令

SUB ( SUBtract ) 不帶借位的減法指令

SUB    DST , SRC    //Byte/Word

執行操作:dst=dst - src

1.DST和SRC尋址方式及規定與ADD相同.

2.影響全部標志位.(判斷標志位參見ADD)

SBB ( SuBtract with  Borrow) 帶借位減法指令

SBB    DST , SRC        //Byte/Word

執行操作:dst= dst - src - CF


DEC ( DECrement ) 減1指令

DEC    OPR    //Byte/Word

執行操作:OPR = OPR - 1  //除CF標志位, 其余標志位都受影響.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清dvd| 亚洲国产视频一区| 一区二区成人在线| 黄网站免费久久| 欧洲生活片亚洲生活在线观看| 日韩欧美中文字幕制服| 亚洲免费成人av| 国产69精品一区二区亚洲孕妇| 精品1区2区3区| 日韩一区日韩二区| 久草精品在线观看| 在线不卡欧美精品一区二区三区| 国产精品天干天干在线综合| 久久av资源站| 欧美老女人第四色| 亚洲国产日韩在线一区模特| 色综合久久久久综合体| 国产视频视频一区| 国产一区二区久久| 精品乱人伦小说| 99精品视频中文字幕| 精品国产免费久久| 免费在线一区观看| 欧美日韩国产系列| 亚洲国产中文字幕在线视频综合| av在线一区二区| 亚洲欧美在线视频观看| 国产91精品一区二区麻豆网站| 久久久五月婷婷| 韩国在线一区二区| 久久久久久久久久久久久久久99| 久久超碰97中文字幕| 欧美videossexotv100| 麻豆国产精品一区二区三区| 欧美一区二区福利在线| 视频一区在线视频| 欧美一区二区福利视频| 美女一区二区视频| 精品国一区二区三区| 激情成人综合网| 国产午夜一区二区三区| 成人综合婷婷国产精品久久免费| 久久女同互慰一区二区三区| 国产精品一区在线观看乱码| 国产精品免费av| 色婷婷综合久久久中文字幕| 亚洲综合在线第一页| 欧美丰满少妇xxxbbb| 久久av老司机精品网站导航| 中文字幕精品—区二区四季| gogo大胆日本视频一区| 国产一区二区三区蝌蚪| 久久久久久影视| 一本色道久久综合狠狠躁的推荐| 亚洲影视在线播放| 欧美一区二区免费观在线| 精油按摩中文字幕久久| 中文字幕中文字幕在线一区 | 成人美女在线观看| 亚洲日本在线看| 日韩欧美综合一区| 91一区二区在线| 视频一区二区三区在线| 国产三级一区二区| 91福利社在线观看| 国产综合色视频| 成人av在线电影| 性做久久久久久久久| 欧美激情在线观看视频免费| 日韩不卡一区二区三区| 欧美电视剧在线观看完整版| 欧美国产日本韩| 91免费观看在线| 麻豆久久一区二区| 一区二区三区在线视频播放| 欧美一区二区私人影院日本| 粉嫩av一区二区三区粉嫩| 亚洲成a天堂v人片| 国产精品天美传媒| 亚洲精品在线网站| 在线免费观看不卡av| 国产成人综合视频| 青青草原综合久久大伊人精品| 国产精品免费人成网站| 日韩一级片在线播放| 色噜噜狠狠色综合中国| 国产毛片精品一区| 天堂影院一区二区| 一区二区三区四区五区视频在线观看| 日韩美女天天操| 欧美日韩www| 色婷婷av一区二区三区之一色屋| 国产激情偷乱视频一区二区三区| 青草国产精品久久久久久| 一区二区三区日本| 1000部国产精品成人观看| 久久免费午夜影院| www日韩大片| 日韩一卡二卡三卡国产欧美| 欧美日韩国产综合一区二区| 色先锋aa成人| 91丝袜高跟美女视频| 波多野结衣亚洲| 成人久久久精品乱码一区二区三区| 老司机一区二区| 久久成人免费日本黄色| 麻豆精品国产传媒mv男同 | 欧美性xxxxxx少妇| 色94色欧美sute亚洲线路一久| youjizz久久| 97久久精品人人做人人爽50路| 成人综合婷婷国产精品久久蜜臀| 国产一区二区三区高清播放| 久久精品国产精品亚洲红杏| 日本欧美在线观看| 乱一区二区av| 国产在线一区二区综合免费视频| 国产最新精品免费| 国产福利精品一区二区| 粉嫩高潮美女一区二区三区| 99久久精品免费看| 在线观看免费一区| 欧美剧情片在线观看| 欧美精品在欧美一区二区少妇| 欧美一区二区成人6969| 精品精品国产高清a毛片牛牛| 久久精品人人做| 成人免费一区二区三区在线观看| 亚洲品质自拍视频网站| 视频一区视频二区中文| 精彩视频一区二区三区| 成人激情免费网站| 色爱区综合激月婷婷| 6080午夜不卡| 国产午夜精品理论片a级大结局| 国产精品久久久久久久久搜平片| 亚洲欧美韩国综合色| 五月天网站亚洲| 国产一区二区视频在线播放| 成人小视频在线观看| 欧美吻胸吃奶大尺度电影| 日韩一级大片在线观看| 欧美激情中文字幕一区二区| 一区二区三区国产精华| 美女网站一区二区| aaa亚洲精品一二三区| 欧美高清视频在线高清观看mv色露露十八 | 欧美成人vps| 综合分类小说区另类春色亚洲小说欧美| 一区二区三区四区激情| 麻豆国产精品一区二区三区| 不卡区在线中文字幕| 91精品久久久久久久99蜜桃| 中文字幕精品一区| 天堂在线一区二区| 95精品视频在线| 久久午夜国产精品| 日韩精品三区四区| youjizz国产精品| 精品福利视频一区二区三区| 亚洲免费观看视频| 成人午夜碰碰视频| 欧美videos中文字幕| 一区二区三区国产精华| 国产91精品一区二区麻豆网站| 7777精品伊人久久久大香线蕉最新版| 国产午夜精品久久| 麻豆一区二区99久久久久| 欧美色图12p| 亚洲精品日产精品乱码不卡| 国内外成人在线视频| 日本精品裸体写真集在线观看| 精品国产99国产精品| 首页综合国产亚洲丝袜| 91色乱码一区二区三区| 中文字幕久久午夜不卡| 国产美女精品一区二区三区| 欧美一区二区日韩| 婷婷六月综合亚洲| 欧美日韩国产精品成人| 亚洲精品高清在线| 99精品视频一区二区| 欧美国产一区二区| 国产激情精品久久久第一区二区| 欧美变态tickle挠乳网站| 丝瓜av网站精品一区二区| 在线免费av一区| 亚洲国产精品久久不卡毛片| 91精品福利视频| 中文字幕一区二区三区蜜月| 成人永久aaa| 中文字幕精品在线不卡| 成人高清视频在线| 中文字幕免费观看一区| av电影天堂一区二区在线观看| 国产精品久久久久久久久免费相片 | 久久97超碰色| 精品成人免费观看| 国产精品亚洲综合一区在线观看| 久久这里只有精品首页|