久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1042|回復: 0
打印 上一主題 下一主題
收起左側

匯編語言分析題

[復制鏈接]
跳轉到指定樓層
樓主
ID:455049 發表于 2018-12-26 13:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

AX(累加器)

BX(基址寄存器)

CX(計數器)

DX(數據寄存器)  ;可以分8位使用。

指針及變址寄存器:

SP(堆棧指針寄存器)

BP(基址指針寄存器)

SI(源變址寄存器)

DI(目的變址寄存器)

IP(指令指針寄存器):用來存放下一條要執行指令在內存中代碼段中的偏移地址。

主存儲器

- 主存的基本存儲單位是位(bit),它能容納一個二進制數的0或1

- 字節編址:以字節為最小尋址單位。

- 8086的最大尋址空間1M

- 字的存放形式“低位在前,高位在后”

- “對準字”和“不對準字”

堆棧

在內存中開辟出一片存儲區,采用一端固定,另一端活動的方式存取數據

進棧指令 PUSH

格式:  PUSH OPS

功能:將寄存器、段寄存器或存儲器中的一個字數據壓入堆棧。

(SP)-2 -> SP

例:假設(SP)=1000H (AX)= 1234H

PUSH AX

執行后:(SP)=0FFEH

注:PUSH AL ;錯誤

PUSH 0003H ;錯誤

出棧指令  POP

格式:  POP OPD

功能:將棧頂元素(字)彈出送至寄存器、段寄存器(CS除外)或存儲器中。

(SP)+2 -> SP

例:設 (BX)=2004H

POP BX

執行后: (BX)=1234H (SP)=1000H

注:PUSH CS ;正確

POP CS ;錯誤

存儲器的分段管理

- 地址表示的一對矛盾:

直接尋址能力為1M (字節);

而寄存器是16位結構的。

- 解決方法:

引入了存儲器“分段”的概念,即把1M字節內存空間分成若干段。每段最大可達64K字節--可由16位寄存器進行尋址。

段的起始地址成為“段基址”,要訪問的單元距段基址的距離(字節數)為“偏移量”(Offset)。

程序設計時,使用的是邏輯地址。邏輯地址由“段基址”和“偏移量”構成(均為16位)。

“段基址”由段寄存器CS、DS、SS和ES提供;

“偏移量”由BX、BP、IP、SP、SI、DI或根據尋址方式計算出的有效地址EA(Effective Address)提供。

- 注意:

①每個存儲單元有唯一的物理地址,但它卻可由不同的“段基址”和“偏移量”組成。例如:

1200H:0345 -> 12345H 1100H:1345 -> 12345H

② 除非專門指定,一般情況下,段在存儲器中的分配是由操作系統負責的。

例1:設(CS)=8000H (IP)=0100H

問下一條要執行的指令的物理地址PA?

(CS)內容左移4位+(IP)

PA = 80000H+0100H=80100H

例2:設(DS)=1000H 該數據段中偏移量為0200H處的物理地址PA?

(DS)內容左移4位+偏移量

PA = 10000H +0200H =10200H

例3:設(SS)=1000H (SP)=2000H 問該堆棧段棧頂的的物理地址PA?

(SS)內容左移4位+(SP)

PA = 10000H +2000H =12000H

數值數據在機器內的表示形式

8086的兩個規定:

- 數值數據均指無符號定點數

- 有符號數則一律采用n位二進制補碼表示。

- 8086中,16位補碼的表示范圍:

7FFFH ~~ 8000H

注:機器在進行算術運算時,總是把參加運算的用補碼表示的操作數作為無符號數處理。

字符數據在機器內的表示形式

ASCII碼 (美國信息標準交換碼)

- 字符數據是以ASCII碼形式存放在內存中的。

例如 “1” 就是 31H

“A” 就是 41H

BCD碼

定義:利用二進制形式來表示十進制數。

利用4位二進制數(0000B~1001B)來表示十進制數(0~9)

例如: 19 = 00011001BCD

= 000010011B

標志寄存器

1、狀態標志:表示前面的操作執行后,算術邏輯部件處于怎樣一種狀態。

例如,是否產生了進位,是否發生了溢出等等。程序中,可以通過對某個狀態標志的測決

定后面的走向及操作。

零標志ZF(Zero Flag):若運算結果為0,則ZF=1;否則ZF=0。

例1:MOV AL, 4

SUB AL, 4

例2:XOR AX, AX

執行后,ZF也一定為1。

進位標志CF(Carry Flag):

它反映:

加法時,最高位(字節操作時的D7位,字操作時的D15位)是否有進位產生。

減法時,最高位(字節操作時的D7位,字操作時的D15位)是否有借位產生。

例如:

MOV AL, 3;

SUB AL, 4;

執行后,CF=1。

奇偶標志PF(Parity Flag):

若運算結果低8位中“1”的個數為偶數,則PF=1;否則PF=0。

例:MOV AL, 2

ADD AL, 1

執行后,PF位為1。

輔助進位標志AF(Auxiliary carrry Flag):

也稱“半進位標志”,它反映:

加法時,第3位向第4位有進位;

減法時,第3位向第4位有借位。

溢出標志OF(Overflow Flag):

若運算過程中發生了“溢出”,則OF=1。

定義:運算結果超出計算裝置所能表示的范圍,稱為溢出。

判斷方法之一【邏輯】:

溢出=最高位進位 ⊕ 次高位進位

符號標志SF (Sign Flag):

當運算結果的最高位為1時SF=1,否則SF=0。

例:分析執行下述兩條指令后,以上六個標志位的變化。

MOV BL,58H

ADD BL,4AH

解: 0101 1000B

+ 0100 1010B

1010 0010B

CF=0 SF=1 OF=1 PF=0 ZF=0 AF=1

2、控制標志(3位):

每一位控制標志都對一種特定的功能起控制作用。可以通過專門的指令對其進行“置位”(Set)或“復位”(Reset)。

中斷標志IF(Interrupt Enable Flag):

如果IF置“1”,則CPU可以接受可屏蔽中斷請求;反之,則CPU不能接受可屏蔽中斷請求。

指令系統中有兩條專門的指令可以置“1”或置“0” IF標志位:

STI 使IF置“1”,即開放中斷。

CLI 使IF清“0”,即關閉中斷

方向標志DF(Direction Flag):

用于串操作指令中的地址增量修改(DF=0)還是減量修改(DF=1)。

STD

CLD

跟蹤標志TF(Trap Flag):

若TF=1,則CPU按跟蹤方式(單步方式)執行程序。

3、標志位寄存器的操作

- 傳送

LAHF

功能:將標志位寄存器的低8位送入AH中,即:

(FLAGS)7~0 -> AH

例:執行前 (FLAGS)=0485H (AX)=0FFFFH

執行后 (FLAGS)=0485H (AX)=85FFH

SAHF

功能:將AH的內容送入標志位寄存器的低8位中,即:

AH ->(FLAGS)7~0

- 棧操作

PUSHF

POPF

例: MOV AX,0FFFFH

PUSH AX

POPF

結果:(FLAGS)=0FFFFH


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜欧美一区二区三区在线播放 | 99精品视频在线观看 | 99久久精品免费看国产四区 | 日本在线一区二区 | 伊人久操 | 天堂成人av | 日韩久久久久久 | 免费黄色在线 | 日本成人三级电影 | 国产亚洲精品久久久久动 | www.久久.com | 国产福利视频在线观看 | 毛片久久久 | 日本午夜视频 | 久久久久久亚洲欧洲 | 欧美综合在线观看 | 午夜激情影院 | 视频在线一区 | 中文在线播放 | av天天看| 福利网站在线观看 | 亚洲欧美一区二区三区国产精品 | 九九九久久国产免费 | 国产精品美女久久久久 | 欧美一区二区久久 | 国产一区二区高清在线 | 干一干操一操 | 成av在线 | 亚洲高清在线视频 | 欧美精品一区二区在线观看 | 色橹橹欧美在线观看视频高清 | 欧美激情一区二区三区 | 国产成人精品一区二区三区在线 | 成人亚洲视频 | 天天影视综合 | 一级毛片黄片 | 91精品国产91久久综合桃花 | 91精品国产综合久久福利软件 | 午夜精品在线 | 欧美精品导航 | 99久久视频 |