引言 上一章我們討論了常見的算術與邏輯運算指令,其中比較有特點的是leal指令,本章我們再來看幾個比較特殊的操作指令,這些指令可以讓只有32位的寄存器存儲64位的數據,是不是十分霸氣側漏呢。 初識 我們先來看看這些指令的大致介紹,如果各位看過上一章的話,會發 ...
在上一篇博客 算術和邏輯操作我們介紹了如下圖幾種常用的算術邏輯指令,但是大家發現沒,這幾種指令如果在 IA 上只能操作 位寄存器,比如我用乘法指令IMUL得出的結果超過了 位,那就會產生結果溢出,那應該怎么辦呢 特殊的算術操作指令指令 如上圖,上面的幾個指令支持有符號和無符號的全 位乘積以及整數除法,但是需要注意的是,存儲結果的寄存器固定死了,是一對寄存器 edx 高 位 和 eax 低 位 組 ...
2017-10-01 10:57 0 1589 推薦指數:
引言 上一章我們討論了常見的算術與邏輯運算指令,其中比較有特點的是leal指令,本章我們再來看幾個比較特殊的操作指令,這些指令可以讓只有32位的寄存器存儲64位的數據,是不是十分霸氣側漏呢。 初識 我們先來看看這些指令的大致介紹,如果各位看過上一章的話,會發 ...
上一篇博客 我們介紹了幾種數據傳送指令,包括MOV,MOVS,MOVZ,PUSH和POP等,理解起來也不算難。本篇博客我們來接着看匯編語言的算術與邏輯運算指令,算術無非就是加減乘除,而邏輯運算也就是與或非,移位等操作。下面這張圖是匯編里面的算術和邏輯操作: 上面除了 leal ...
引言 上一章我們已經着重討論了數據傳送(或者說復制)指令,相信各位猿友現在都已經對此有一些了解了。說真的,LZ在看第三章的過程中,不斷的被匯編的魅力深深的震撼,這些看似簡單的匯編指令,卻可以將復雜的程序井然有序的執行完畢,實在是讓人驚嘆。時至今日,這本看似枯燥無比卻實則魅力十足的書 ...
AT&T匯編指令學習(GCC) 寄存器命名原則: 相比inter語法,AT&T語法格式要求所有的寄存器都必須加上取值符"%". 操作碼命令格式: 源/目的操作數順序: Intel語法格式中命令表示格式為:"opcode dest, src ...
深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...
Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...
上一篇博客我們講解了存儲設備的層次結構,並詳細講解了高速緩存的原理,以及可以利用高速緩存來提高程序性能。如果對Java Web 熟悉的,我們可以理解高速緩存類似Web 端的緩存機制。那么這一篇博客我們來引出並談談操作系統的抽象概念。 1、操作系統 首先接着來討論 hello ...
《深入理解計算機系統》,這本書,我多次想要好好完整的讀一遍,每次都是沒有堅持下去,但是作為一個開發者,自己想要成為為數不多的大牛之一,所以打算這次把這本書完整的好好讀一遍,並整理為相關的博客! 書的開頭說了一句話:計算機系統是由硬件和系統軟件組成,他們共同工作來運行應用程序。我們通常接觸更多 ...