亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1450|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

匯編語(yǔ)言分析題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:455049 發(fā)表于 2018-12-26 13:55 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

AX(累加器)

BX(基址寄存器)

CX(計(jì)數(shù)器)

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

指針及變址寄存器:

SP(堆棧指針寄存器)

BP(基址指針寄存器)

SI(源變址寄存器)

DI(目的變址寄存器)

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

主存儲(chǔ)器

- 主存的基本存儲(chǔ)單位是位(bit),它能容納一個(gè)二進(jìn)制數(shù)的0或1

- 字節(jié)編址:以字節(jié)為最小尋址單位。

- 8086的最大尋址空間1M

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

- “對(duì)準(zhǔn)字”和“不對(duì)準(zhǔn)字”

堆棧

在內(nèi)存中開(kāi)辟出一片存儲(chǔ)區(qū),采用一端固定,另一端活動(dòng)的方式存取數(shù)據(jù)

進(jìn)棧指令 PUSH

格式:  PUSH OPS

功能:將寄存器、段寄存器或存儲(chǔ)器中的一個(gè)字?jǐn)?shù)據(jù)壓入堆棧。

(SP)-2 -> SP

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

PUSH AX

執(zhí)行后:(SP)=0FFEH

注:PUSH AL ;錯(cuò)誤

PUSH 0003H ;錯(cuò)誤

出棧指令  POP

格式:  POP OPD

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

(SP)+2 -> SP

例:設(shè) (BX)=2004H

POP BX

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

注:PUSH CS ;正確

POP CS ;錯(cuò)誤

存儲(chǔ)器的分段管理

- 地址表示的一對(duì)矛盾:

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

而寄存器是16位結(jié)構(gòu)的。

- 解決方法:

引入了存儲(chǔ)器“分段”的概念,即把1M字節(jié)內(nèi)存空間分成若干段。每段最大可達(dá)64K字節(jié)--可由16位寄存器進(jìn)行尋址。

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

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

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

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

- 注意:

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

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

② 除非專(zhuān)門(mén)指定,一般情況下,段在存儲(chǔ)器中的分配是由操作系統(tǒng)負(fù)責(zé)的。

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

問(wèn)下一條要執(zhí)行的指令的物理地址PA?

(CS)內(nèi)容左移4位+(IP)

PA = 80000H+0100H=80100H

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

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

PA = 10000H +0200H =10200H

例3:設(shè)(SS)=1000H (SP)=2000H 問(wèn)該堆棧段棧頂?shù)牡奈锢淼刂稰A?

(SS)內(nèi)容左移4位+(SP)

PA = 10000H +2000H =12000H

數(shù)值數(shù)據(jù)在機(jī)器內(nèi)的表示形式

8086的兩個(gè)規(guī)定:

- 數(shù)值數(shù)據(jù)均指無(wú)符號(hào)定點(diǎn)數(shù)

- 有符號(hào)數(shù)則一律采用n位二進(jìn)制補(bǔ)碼表示。

- 8086中,16位補(bǔ)碼的表示范圍:

7FFFH ~~ 8000H

注:機(jī)器在進(jìn)行算術(shù)運(yùn)算時(shí),總是把參加運(yùn)算的用補(bǔ)碼表示的操作數(shù)作為無(wú)符號(hào)數(shù)處理。

字符數(shù)據(jù)在機(jī)器內(nèi)的表示形式

ASCII碼 (美國(guó)信息標(biāo)準(zhǔn)交換碼)

- 字符數(shù)據(jù)是以ASCII碼形式存放在內(nèi)存中的。

例如 “1” 就是 31H

“A” 就是 41H

BCD碼

定義:利用二進(jìn)制形式來(lái)表示十進(jìn)制數(shù)。

利用4位二進(jìn)制數(shù)(0000B~1001B)來(lái)表示十進(jìn)制數(shù)(0~9)

例如: 19 = 00011001BCD

= 000010011B

標(biāo)志寄存器

1、狀態(tài)標(biāo)志:表示前面的操作執(zhí)行后,算術(shù)邏輯部件處于怎樣一種狀態(tài)。

例如,是否產(chǎn)生了進(jìn)位,是否發(fā)生了溢出等等。程序中,可以通過(guò)對(duì)某個(gè)狀態(tài)標(biāo)志的測(cè)決

定后面的走向及操作。

零標(biāo)志ZF(Zero Flag):若運(yùn)算結(jié)果為0,則ZF=1;否則ZF=0。

例1:MOV AL, 4

SUB AL, 4

例2:XOR AX, AX

執(zhí)行后,ZF也一定為1。

進(jìn)位標(biāo)志CF(Carry Flag):

它反映:

加法時(shí),最高位(字節(jié)操作時(shí)的D7位,字操作時(shí)的D15位)是否有進(jìn)位產(chǎn)生。

減法時(shí),最高位(字節(jié)操作時(shí)的D7位,字操作時(shí)的D15位)是否有借位產(chǎn)生。

例如:

MOV AL, 3;

SUB AL, 4;

執(zhí)行后,CF=1。

奇偶標(biāo)志PF(Parity Flag):

若運(yùn)算結(jié)果低8位中“1”的個(gè)數(shù)為偶數(shù),則PF=1;否則PF=0。

例:MOV AL, 2

ADD AL, 1

執(zhí)行后,PF位為1。

輔助進(jìn)位標(biāo)志AF(Auxiliary carrry Flag):

也稱(chēng)“半進(jìn)位標(biāo)志”,它反映:

加法時(shí),第3位向第4位有進(jìn)位;

減法時(shí),第3位向第4位有借位。

溢出標(biāo)志OF(Overflow Flag):

若運(yùn)算過(guò)程中發(fā)生了“溢出”,則OF=1。

定義:運(yùn)算結(jié)果超出計(jì)算裝置所能表示的范圍,稱(chēng)為溢出。

判斷方法之一【邏輯】:

溢出=最高位進(jìn)位 ⊕ 次高位進(jìn)位

符號(hào)標(biāo)志SF (Sign Flag):

當(dāng)運(yùn)算結(jié)果的最高位為1時(shí)SF=1,否則SF=0。

例:分析執(zhí)行下述兩條指令后,以上六個(gè)標(biāo)志位的變化。

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、控制標(biāo)志(3位):

每一位控制標(biāo)志都對(duì)一種特定的功能起控制作用。可以通過(guò)專(zhuān)門(mén)的指令對(duì)其進(jìn)行“置位”(Set)或“復(fù)位”(Reset)。

中斷標(biāo)志IF(Interrupt Enable Flag):

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

指令系統(tǒng)中有兩條專(zhuān)門(mén)的指令可以置“1”或置“0” IF標(biāo)志位:

STI 使IF置“1”,即開(kāi)放中斷。

CLI 使IF清“0”,即關(guān)閉中斷

方向標(biāo)志DF(Direction Flag):

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

STD

CLD

跟蹤標(biāo)志TF(Trap Flag):

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

3、標(biāo)志位寄存器的操作

- 傳送

LAHF

功能:將標(biāo)志位寄存器的低8位送入AH中,即:

(FLAGS)7~0 -> AH

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

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

SAHF

功能:將AH的內(nèi)容送入標(biāo)志位寄存器的低8位中,即:

AH ->(FLAGS)7~0

- 棧操作

PUSHF

POPF

例: MOV AX,0FFFFH

PUSH AX

POPF

結(jié)果:(FLAGS)=0FFFFH


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

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表