最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

操作系統(tǒng)-匯編實(shí)現(xiàn)C語法01

2023-03-09 11:47 作者:脫韁小野馬の  | 我要投稿

寄存器的名稱(64位系統(tǒng)/32位系統(tǒng)兼容)

可以在64位系統(tǒng)上使用mov eax,xxx等指令


8086CPU寄存器

想想8086有14個(gè)16位(才2個(gè)字節(jié))寄存器

即 AX,BX,CX,DX,SP,BP,SI,DI,IP,FLAG(PSW), CS,DS,SS,ES. 這 14 個(gè)寄存器按照一定方式又分為了通用寄存器,控制寄存器段寄存器.

詳細(xì)參考:https://blog.csdn.net/u010021014/article/details/116670289


x86寄存器

學(xué)習(xí)的時(shí)候可以裝個(gè)32bit的Ubuntu16.04,它的寄存器少一些, 配合sublime寫代碼,學(xué)原理相對容易些.


x86-64寄存器

x86-64有16個(gè)64位(4個(gè)字節(jié))寄存器,分別是: rax,rbx,rcx,rdx,esi,edi,rbp,rsp,r8,r9,r10,r11,r12,r13,r14,r15

  • rax 作為函數(shù)返回值使用
  • rsp 棧指針寄存器指向棧頂
  • rbp 棧楨指針指向?;?/li>
  • rdi rsi rdx rcx r8 r9 用作函數(shù)參數(shù)依次對應(yīng)第1參數(shù) 第2參數(shù)
  • rbx r12 r13 r14 r15 用作數(shù)據(jù)存儲遵循被調(diào)用者使用規(guī)則簡單說就是隨便用調(diào)用子函數(shù)之前要備份它以防他被修改
  • r10 r11 用作數(shù)據(jù)存儲遵循調(diào)用者使用規(guī)則簡單說就是使用之前要先保存原值
  • rip: 相當(dāng)于PC指針指向當(dāng)前的指令地址指向下一條要執(zhí)行的指令

EFLAGS Register

EFLAGS 稱為標(biāo)志寄存器或程序狀態(tài)字(Program?Status?Word.?PSW).

  • 6個(gè)狀態(tài)標(biāo)志(status flags)(CF, SF, AF, PF, OF, ZF)
  • 3個(gè)(control flags)(IF, TF, DF)
  • 系統(tǒng)標(biāo)志(system flags)


狀態(tài)標(biāo)志(status flags)

CF-進(jìn)位標(biāo)志算術(shù)運(yùn)算時(shí)有進(jìn)位CF=1,無進(jìn)位CF=0

這里針對的是最高位向前有沒有進(jìn)位,注意與AF區(qū)分

PF-奇偶標(biāo)志運(yùn)算結(jié)果中“1”的個(gè)數(shù)為偶數(shù)時(shí)PF=1,為奇數(shù)個(gè)則PF=0

但是如果運(yùn)算結(jié)果是16位數(shù)的話,PF標(biāo)志只關(guān)注運(yùn)算結(jié)果的低八位

AF-輔助進(jìn)位標(biāo)志第三位向第四位有進(jìn)位時(shí)AF=1

舉個(gè)例子

0101 0000+ 1000 1111=1101 1111

第三位分別是 0和1,相加并沒有進(jìn)位,所以AF=0

ZF-零標(biāo)志運(yùn)算結(jié)果為0,則ZF=1,否則ZF=0

SF-符號標(biāo)志運(yùn)算結(jié)果為負(fù)數(shù)時(shí),SF=1

對于符號數(shù),最高位是符號位,因此SF相當(dāng)于就是判別最高位是否為1,最高位是1表示是負(fù)數(shù),SF=1

OF-溢出標(biāo)志運(yùn)算結(jié)果是否超出規(guī)定范圍,超出范圍OF=1,未超出OF=0

很容易把OF標(biāo)志的判別方法和CF混淆,這里有一個(gè)簡便的方法就是看最高位


控制標(biāo)志(control flags)

IF-中斷允許標(biāo)志IF=1,中斷允許

DF-方向標(biāo)志用于在串操作指令中控制地址指針變化的方向,DF=0地址指針按增量變化,DF=1地址指針按減量變化

TF(trap flag)-跟蹤標(biāo)志TF=1,為單步工作方式,即CPU每執(zhí)行一條指令就產(chǎn)生一次中斷,此時(shí)程序員可以查看CPU內(nèi)部寄存器的內(nèi)容, 存儲單元的內(nèi)容和標(biāo)志寄存器的內(nèi)容等。這個(gè)中斷主要用于程序調(diào)試。



操作系統(tǒng)-匯編實(shí)現(xiàn)C語法01的評論 (共 條)

分享到微博請遵守國家法律
濉溪县| 五峰| 喀喇沁旗| 云龙县| 林芝县| 哈密市| 巴东县| 双鸭山市| 开阳县| 伊宁市| 南涧| 夏津县| 井研县| 邛崃市| 文山县| 米林县| 贡觉县| 佛坪县| 永修县| 颍上县| 兴化市| 蓬莱市| 达拉特旗| 江陵县| 会昌县| 若尔盖县| 永寿县| 沧州市| 汾西县| 镇平县| 洪泽县| 巴楚县| 荔浦县| 青铜峡市| 内黄县| 邻水| 邯郸市| 顺义区| 灵寿县| 探索| 乐都县|