日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

您好,歡迎來電子發(fā)燒友網! ,新用戶?[免費注冊]

當前位置:電子發(fā)燒友網 > 圖書頻道 > 電子 > 《微計算機原理》 > 第3章 8086指令系統(tǒng)

第1節(jié) 8086的尋址方式

           8086指令系統(tǒng)是在8位微處理器8080/8085的指令系統(tǒng)基礎上設計的,它兼容了8080/8085的全部指令,與8位微處理器具有 兼容性的指令往往是處理字節(jié)(8位)上午。此外,8086還有自己所特有的對字或字符串的處理指令,以及對帶符號數(shù)的運算指令、中斷指令和協(xié)處理器指令。 
  指令系統(tǒng)中有一類指令叫轉移指令,還有一類叫調用指令,這兩類指令涉及轉移地址或者調用地址的提供方式,一般也稱為指令地址的尋址方式。

     1、了解8086的尋址方式
     2、熟練掌握8086的各種指令,并掌握它們的作用

                 §8086的尋址方式

              §標志寄存器

              §8086指令系統(tǒng)

              §練習題

              §自測題


     3.1 8086的尋址方式
     3.2 數(shù)據(jù)傳送指令
     3.3 算術運算指令
     3.4 邏輯運算和移位指令
     3.5 串操作指令
     3.6 控制轉移指令
     3.7 處理器控制指令 

    ?。薄⑺悸非逦乩斫飧鞣N尋址方式;
    ?。?、自己多寫一些小程序或多做些相關的練習題。 

    尋址方式  指令系統(tǒng)    標志 

      1、《微型計算機技術及應用》,戴梅萼等編著,第二版,清華大學出版社
       2、《微型計算機原理》,季維法等編著,第一版,電子科技大學出版社
       3、《微型計算機原理—常見題型解析及模擬題》,武自芳主編,西北工業(yè)大學出版社
      4、《80X86/80X87匯編語言程序設計》,洪志全等編著,電子科技大學出版社

 

  §3.1 8086的尋址方式

  計算機中無論是什么指令,其操作的對象都是數(shù)據(jù),指令必須指出操作數(shù)的值是多少或指出操作數(shù)存放在什么地方。形成操作數(shù)存放地址的方法,稱為尋址方式。尋址方式要涉及到寄存器、存儲器、外設接口電路。

  1、 寄存器尋址

  操作數(shù)存放在CPU的寄存器中,指令以寄存器名代表該操作數(shù)。

  2、 立即尋址

  操作數(shù)為常數(shù),指令中直接寫出該常數(shù)值。

  3、 直接尋址

  操作數(shù)在內存中,指令給出存儲單元的有效地址EA(Effective Address,16位地址偏移量稱為有效地址)。存儲單元的段地址值缺省為DS寄存器的值。

  在指令中,也可直接指定存儲單元的段地址

  "CS:"放在有效地址前,替換了缺省的DS段,稱為"段替換前綴"。

  一般說來,在程序設計中,把全部數(shù)據(jù)集中放在一個或幾個數(shù)據(jù)段中,在程序的開始,把當前要使用的數(shù)據(jù)段的基地址送給DS寄存器,然后用缺省段地址的尋址方式使用該段中的數(shù)據(jù)。如果要使用另一個數(shù)據(jù)段,再把要使用的數(shù)據(jù)段的基地址送給DS寄存器,然后用缺省段地址的尋址方式使用新數(shù)據(jù)段中的數(shù)據(jù)。很少使用段替換前綴。如圖3-1所示。

  4、 寄存器間接尋址

  當操作數(shù)在內存中時,內存單元的有效地址也可以用某些寄存器的 值來表示??梢允褂玫募拇嫫骷捌淙笔〉亩稳缦卤?

  寄存器間接尋址方式中,內存單元的有效地址EA還可以用以下兩種方式來表示。

  (1) BX/BP/SI/DI的值加上一個8位常數(shù)(稱為8位位移量)或16位常數(shù)(稱為16位位移量),如圖3-2所示。

  (2) BX/BP/SI/DI中的兩個寄存器的值之和,或者再加上一個8位位移量或16位位移量,但不能同時出現(xiàn)BP和BX,也不能同時出現(xiàn)SI和DI。如圖3-3所示。

  當兩個寄存器中有一個是

  BP時,段地址缺省為SS。否則,段地址缺省為DS。

  §3.2 標志寄存器

  8086CPU內部有一個16位標志寄存器,其中只使用了9位,每一位表示一個標志,如圖3-4。有6位狀態(tài)標志,表示CPU運算結果的特征。有3位控制標志,用來控制CPU的行為。

  在文字說明中,標志寄存器可用符號FLAGS或PSW(Program Status Word,程序狀態(tài)字)來表示,但這些符號不能出現(xiàn)在指令中,例如,"MOV AX,F(xiàn)LAGS"不是合法的指令。

  1、 進位標志CF(Carry)

  在運算指令執(zhí)行后,當最高位(字節(jié)運算時,最高位是D7位;字運算時,最高位是D15位)上有進位或借位時,CF置1,否則置0。循環(huán)和移位指令操作也能把存儲單元或寄存器中的最高位或最低位移入CF中。

  2、 奇偶校驗標志PF(Parity)

  在運算指令執(zhí)行后,結果的低8位中含1的位數(shù)為偶數(shù)時,PF標志置1,否則置0。

  3、 輔助進位標志AF(Auxiliary Carry)

  在運算指令執(zhí)行后,當Bit3向Bit4有進位,或Bit3向Bit4有借位,AF標志置1,否則置0。

  4、 零標志ZF(Zero)

  在運算指令執(zhí)行后,結果為0,則ZF標志置1,否則置0。

  5、 符號標志SF(Sign)

  在運算指令執(zhí)行后,最高位為1,則SF標志置1,否則置0。

  6、 溢出標志OF(Overflow)

  在有符號數(shù)加、減運算中,運算結果超出了表示范圍。

  如: 有符號字節(jié)運算的結果超出了-128 ~ +127;

  有符號字運算的結果超出了-32768 ~ +32767。

  則OF標志置1,否則置0。當運算結果超出了表示范圍,運算結果是錯誤的。

  使用雙高位來判別OF標志。所謂雙高位判別,即規(guī)定符號位(用CS表示)有進位時,CS=1,否則 CS=0。數(shù)值部分最高位(CP表示)有進位時CP=1,否則 CS=0。若CS⊕CP=1("異或"運算),則有溢出產生。

  注意:

  (1) 上述CF和CS的值是相同的,對于無符號數(shù)稱為CF ,對于有符號數(shù),由于最高位代表符號,故稱為CS。

  (2) 除法運算(無符號數(shù)和有符號數(shù))溢出時,產生"除數(shù)為0"中斷,不能用上述方法或其他方法判別除法運算溢出。

  (3) 乘法運算始終不會溢出。

  DEBUG命令中,標志位的表示(《MS-DOS 6.22參考手冊》p185)

  7、 跟蹤標志TF(Trap)

  若TF置1,則CPU進入"單步運行方式"。在單步運行方式中,CPU每執(zhí)行一條指令,則產生一個類型碼為1的內部中斷(稱為單步中斷),單步中斷處理程序執(zhí)行完后,再執(zhí)行下一條指令。單步中斷處理程序可以作為調試程序,如圖3-5所示。

  8、 中斷允許標志IF(Interrupt Enable)

  若IF置1,允許CPU響應可屏蔽中斷請求INTR;若IF=0,禁止CPU響應可屏蔽中斷請求INTR。該標志不影響NMI中斷和內部中斷。

  該標志用于字符串處理指令中。

  字符串是一中數(shù)據(jù)類型,它占用一個或多個連續(xù)內存單元,如圖3-6所示?! ?/p>

字符串指令執(zhí)行時,操作數(shù)(源字符串和目的字符串)的地址會自動改變。方向標志用于指定地址改變的方向,當DF=0時,地址增加(從低地址向高地址處理);當DF=1時,地址減少(從高地址向低地址處理)。

  標志寄存器的各標志位可以用指令來修改。

?
巫溪县| 潍坊市| 贵溪市| 施甸县| 鄂尔多斯市| 五大连池市| 临汾市| 云南省| 临高县| 新民市| 南城县| 葵青区| 平乡县| 卢氏县| 灵台县| 锦州市| 青神县| 合水县| 孟津县| 郎溪县| 安多县| 互助| 治多县| 福泉市| 青田县| 宜都市| 体育| 苍山县| 阿荣旗| 渑池县| 湟源县| 绥化市| 本溪市| 通化市| 友谊县| 会宁县| 霞浦县| 通化市| 托里县| 临泽县| 商丘市|