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

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
区。| 沛县| 平湖市| 文化| 元江| 柳河县| 册亨县| 平度市| 绥芬河市| 东光县| 金门县| 饶平县| 日土县| 根河市| 武清区| 遵义市| 革吉县| 巴林右旗| 阆中市| 榆树市| 泰来县| 巨鹿县| 盐源县| 渝北区| 全南县| 义马市| 濮阳市| 侯马市| 禄劝| 新营市| 诸城市| 措美县| 阳信县| 汉源县| 泽普县| 安泽县| 额济纳旗| 垫江县| 大安市| 霍山县| 福泉市|