原文:深入理解計算機系統(3.1)------匯編語言和機器語言

深入理解計算機系統 第三章 程序的機器級表示。作者首先講解了匯編代碼和機器代碼的關系,闡述了匯編承上啟下的作用 接着從機器語言IA 着手,分別講述了如何存儲數據 如何訪問數據 如何完成運算以及如何進行跳轉。通過這些步驟,又告訴了我們分支語句 循環語句是怎么完成的,函數調用 棧幀結構以及遞歸過程。最后能通過編譯器產生的匯編代碼表示,我們要了解編譯器和它的優化能力,知道編譯器能為我們完成哪些工作。 ...

2017-09-24 10:08 3 15280 推薦指數:

查看詳情

深入理解計算機系統(3.6)------匯編的流程控制

  前面我們所講的所有指令,代碼執行順序都是一條接着一條順序的執行。但是實際上在編碼過程中,會有某些結構,比如條件語句(if-else),循環語句(for,do-while)和分支語句(switch)等等,都要求有條件的執行,根據數據測試的結果來決定操作執行的順序。   在機器代碼中,提供兩種 ...

Thu Oct 05 02:02:00 CST 2017 0 2192
(深入理解計算機系統)AT&T匯編指令

AT&T匯編指令學習(GCC) 寄存器命名原則: 相比inter語法,AT&T語法格式要求所有的寄存器都必須加上取值符"%". 操作碼命令格式: 源/目的操作數順序: Intel語法格式中命令表示格式為:"opcode dest, src ...

Sun Jul 24 23:20:00 CST 2016 0 2869
深入理解計算機系統

深入理解計算機系統 卡內基·梅隆一門棵。 原書第3版資料. 第三版源碼. 原書第2版資料. 計算機系統漫游 源文件到目標文件的翻譯過程可分為四個階段, 這四個階段的程序被稱為預處理器,編譯器,匯編器和鏈接器,它們一起構成了編譯系統(compilation ...

Mon May 13 02:40:00 CST 2019 0 773
深入理解計算機系統 CSAPP

Computer Systems A Programmer's perspective 關於進程與線程的相關知識 進程 像hello這樣的程序在現代系統上運行時,操作系統會提供一種假象,就好像系統上只有這個程序在運行。程序看上去是獨占地使用處理器、主存和I/O設備。處理器看上去就 ...

Sun Feb 20 01:42:00 CST 2022 0 1453
深入理解計算機系統(2.3)------布爾代數以及C語言運算符

  本篇博客我們主要講解計算機中的布爾代數以及C語言的幾個運算符。 1、布爾代數   我們知道二進制值是計算機編碼、存儲和操作信息的核心,隨着計算機的發展,圍繞數值0和1的研究已經演化出了豐富的數學知識體系。而布爾代數便是喬治.布爾(George Boole)將邏輯值 True(真 ...

Sat Sep 16 06:51:00 CST 2017 0 2265
深入理解計算機系統》閱讀筆記--程序的機器級表示(上)

一、為什么要學習和了解匯編 編譯器基於編程語言的規則,目標機器的指令集和操作系統遵循的慣例,經過一系列的階段生成機器代碼。GCC c語言編譯器以匯編代碼的形式產生輸出,匯編代碼是機器代碼的文本表示,給出程序中的每一條指令。然后GCC調用匯編和鏈接器,根據匯編代碼生成可執行的機器代碼。這一 ...

Wed Jun 20 01:27:00 CST 2018 0 2699
深入理解計算機系統(4.2)------邏輯設計和硬件控制語言HCL

  上一篇博客我們簡單介紹了Y86指令集體系,而這篇博客我們將介紹指令集體系的邏輯設計和硬件控制語言HCL,為后面去實現Y86打下基礎。   在硬件設計中,用電子電路來計算對位進行運算的函數,以及在各種存儲器元素中存儲位。大多數現代電路技術都是用信號上的高電壓或者低電壓來表示不同的位值。在當 ...

Thu Oct 19 22:25:00 CST 2017 2 2733
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM