在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

您的位置:電子發燒友網>電子百科>電腦硬件>臺式機>

指令系統實例分析

2010年04月15日 11:21 www.xsypw.cn 作者:佚名 用戶評論(0

指令系統實例分析

一、教學計算機指令系統介紹
1、教學計算機指令系統概述
(1)6位固定長度的操作碼,最多有64條指令。
(2)指令分類

①按指令長度分:有單字、雙字指令

②按操作數的個數分:有無操作數、單操作數和雙操作數指令

③按尋址方式分:有寄存器尋址、寄存器間接尋址、立即數尋址、變址尋址、相對尋址、直接尋址和堆棧尋址。
(3)指令格式

15 10? 9 8? 7 0?
 6位操作碼? 2位條件碼? 目的寄存器編號? 源寄存器編號?
輸入、出端口地址/相對轉移的位移量?
立即數/絕對地址/變址位移量?
?

操作碼:在最高6位,最多64條指令。


條件碼:占2位,用作條件轉移指令的判斷條件(對應狀態字C、Z、V、S)

最低8位:不同指令有不同的用法。
●輸入或輸出端口地址
●相對尋址的位移量(-128~+127)
●分成兩個4位字段,表示雙操作數的寄存器編號

2、教學計算機指令系統詳述
(1)按操作數的個數分類

①無操作數指令:11條
NOP 空操作指令 DI 關中斷指令
PSHF 狀態字入棧指令 STC 進位位置1(C←1)
POPF 狀態字出棧指令 CLC 進位位置0(C←0)
EI 開中斷指令
RET 子程序返回指令
IRET 中斷返回指令
LDMC 裝入微指令代碼指令
HALT 動態停機指令

②單操作數指令:有兩種格式,共12條
格式1: 15 10? 9 8? 7 4? 3 0?
操作碼6位? 不用? 不用? SR?


MUL SR 無符號乘, R0 R1 ←R1×SR
DIV SR 無符號除, R0(余數)R1(商) ← R0 R1 /SR
格式2: 15 10? 9 8? 7 4? 3 0?
操作碼6位? 不用? DR? 不用?


指令:PUSH DR 將DR壓入堆棧
POP DR 將棧頂元素彈出送入DR
INC DR DR ←DR+1
DEC DR DR←DR-1
NOT DR DR ←DR
SHL DR DR邏輯左移,最低位補0,最高位移入C

SHR DR DR邏輯右移,最高位補0,最低位移入C

RCL DR DR與C循環左移,C移入最低位,最高位移入C

RCR DR DR與C循環右移,C移入最高位,最低位移入C

③雙操作數指令,有兩種格式,共17條
格式1: 15 10? 9 8? 7 4? 3 0?
OP? 不用? DR? SR?


指令:ADD DR,SR 功能: DR DR+SR
ADC DR,SR 功能: DR DR+SR+C
SUB DR,SR 功能: DR DR-SR
SBB DR,SR 功能: DR DR-SR-C
CMP DR,SR 功能: DR-SR
TEST DR,SR 功能: DR&SR
OR DR,SR 功能: DR DR or SR
XOR DR, SR 功能: DR DR xor SR
AND DR, SR 功能: DR DR & SR
MOV DR,SR 功能: DR SR
MOV DR,[SR] 功能: DR [SR]
MOV [DR],SR 功能: [DR] SR
格式2: 15 10? 9 8? 7 4? 3 0?
OP? 不用? DR? SR?
DATA/ADR/OFFSET
?


DATA:立即數 ADR:內存地址
OFFSET:偏移量
指令: 功能:
MOV DR, DATA DR DATA
MOV DR, [ADR] DR [ADR]
MOV [ADR],SR [ADR] SR
MOV DR , OFFSET[SR] DR [OFFSET+SR]
MOV OFFSET [SR],DR [OFFSET+SR] DR

④I/O指令,輸入、輸出指令各1條
格式: 15 10? 9 8? 7 0?
OP? 不用? IO/ PORT?

指令:
IN PORT R0 [PORT],從外設讀入一字節到R0低8位
OUT PORT [PORT] R0, 把R0的低8位數據寫到外設


⑤轉移指令,3種格式,共6條相對轉移指令
格式1: 15 10? 9 8? 7 0?
OP? CND? 位移量?


JR ADR CND不用,必轉ADR地址,ADR為原PC值+位移量
JR CND,ADR 當條件滿足時轉ADR所指的地址,ADR 為原PC值+位移量,條件 不滿足則順序執行
通過通用寄存器給出轉移地址的轉移指令
格式2: 15 10? 9 8? 7 4? 3 0?
OP? CND? 不 用? SR?

指令:
JP SR CND不用,無條件轉SR 所指的地址
JP CND,SR 當條件滿足時轉SR 所指的地址,條件不滿足則順序執行
按絕對地址實現的轉移指令
格式3: 15 10? 9 8? 7 4? 3 0?
OP? CND? 不用? 不用?
ADR
?


指令:
JP ADR CND不用,無條件轉移到ADR地址
JP CND,ADR 當條件滿足時轉移到ADR地址,條件不滿足則順序執行 ,

⑥子程序調用指令,兩種格式,共兩條。
格式1: 15 10? 9 8? 7 4? 3 0?
OP? 不用? 不用? SR?

指令:CALL SR 調用SR指定的子程序,SP <---SP-1,
[SP] <---PC,PC <---- SR
格式: 15 10? 9 8? 7 4? 3 0?
OP? 不用? 不用? 不用?
ADR
?


指令:
CALL ADR 調用通過ADR指定的子程序,SP SP-1
[SP] PC,PC ADR
可以看出,子程序調用指令的兩種格式與無條件轉移指令的后兩種格式是一樣的。


(2)按指令實現的功能分類
①算邏指令:19條(見教材P139頁)
②傳送指令:12條(見教材P140頁)
③輸入、輸出指令:2條(見教材P140頁)
④控制類指令:17條(每條條件轉移指令按兩條計算)
⑤其它指令,3條

3、匯編語言程序設計
計算機語言按層次分為三級:
①機器語言 ②匯編語言 ③高級語言
匯編語言程序舉例:
例1 設計一個小程序,用次數控制在終端屏幕上輸出0~9十個數字符。(注:字符0~9的ASCII碼為30H ~39H)
A820
MOVE R2, 0A ;R2為計數器,初值送10
MOVE R0, 30 ;R0初值送‘0'的ASCII碼30H
(824) OUT 80 ;輸出R0中存放的字符,80為端口地址
DEC R2 ; R2計數器減1,置狀態標志位
JR Z,830 ;若為0,就轉移到830處執行;否則順序執行
PUSH R0 ; R0入棧,為了輸入外部設備狀態字
IN 81 ;將端口地址為81的外設狀態字輸入到R0中
SHR R0 ;R0邏輯右移一位,最低位進入C
JP NC,828;C=0,表示沒有就緒,循環等待;
C=1,順序執行
POP R0;棧頂元素彈出進R0
INC R0;R0內容+1
JP 824 ;無條件轉移到824
(830) RET ;返回主程序

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:admin )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      主站蜘蛛池模板: 4455ee日本高清免费观看| 欧美在线网站| 伊人网在线视频| 亚洲第一在线视频| 天天做天天做天天综合网| 天天操天天插| xxxxxxxxxxx性bbbb| 欧美aaaaa| 一级欧美视频| 亚洲一区欧美日韩| 亚洲视频在线一区| 5g影院天天| 又黄又爽又猛午夜性色播在线播放 | 欧美白虎逼| 亚洲男人的天堂久久无| 亚洲 另类色区 欧美日韩| 91男女视频| 99久久99久久精品国产| 天堂网最新版www| 亚洲天堂婷婷| 深夜释放自己vlog糖心旧版本 | h网站免费| 国产2021成人精品| 永久黄网站色视频免费| 四虎在线观看免费视频| 久久黄色毛片| 天天舔天天射天天干| 高清视频在线播放| 欧美一卡二卡科技有限公司| 亚洲人成电影院| 日本拍拍| 国产乱码精品一区二区三| 天天操夜夜草| 69女poren60| 午夜精品视频任你躁| 美女被啪到哭网站在线观看| 亚洲三级色| 在线观看免费午夜大片| 在线天堂bt种子资源| 你懂的国产精品| 天天干天天射天天爽|