第五周日志-重新學匯編(2)

機器語言

匯編語言(直接在硬件上工作——硬件系統結構):

1.機器語言

每一種微處理器硬件設計和內部結構不同(決定了電信號不同,進而需要不同的機器指令)

#早期通過紙帶機/卡片機輸入計算機,進行運算

2.匯編語言

(編譯器)差別在指令的表示方式不同,便于閱讀記憶和書寫

#核心:匯編指令(有對應機器碼,CPU執行)

#偽指令(無,編譯器執行[計算機并不執行])

#其他符號(無,編譯器識別)

存儲器(指令和數據的存放)和存儲單元

數據和指令本質都一串串二進制,應用賦予他們不同的意義

微型存儲器有128個存儲單元(1Byte字節)

cpu對存儲器的讀寫

where 器件/存儲單元地址,act,details

【和芯片的3類信息交互:地址信息、控制信系、數據信息(邏輯上就有3類總線)】

總線(數據傳送)

CPU外部總線和內部總線

地址總線,根/寬(最多尋2^N個內存單元);

數據總線,寬度和根數(決定:速度、字節數);

控制總線,寬度和根數(決定:控制能力、多少種控制)。“X信號輸出/... ...輸入

內存地址空間(地址總線可尋到的內存單元)

主板,核心器件、主要器件、拓展插槽

接口卡(直接控制外部設備,CPU不能)

各類存儲器芯片(讀寫屬性分RAM,ROM)

RAM>ROM

RAM(主板、拓展插槽),接口卡需要大量處理時可裝

ROM上可存儲硬件的BIOS(對硬件設備可進行基本輸入輸出)

內存地址空間(也連、控)

一種具有特殊訪問方式的空間

CPU提供的棧機制

以字w為單位

#棧頂超界問題SS:SP,只知道當前要執行的指令在何處,而不知道要執行的有多少

注意安排棧的大小,防止入棧數據過多/棧空時繼續出棧

offset偽指令,取得標號的偏移地址

jmp五條吉安轉跳

段內短轉移:short 標號[位移]

段間/遠轉移:far ptr 標號[指令(目的地址)]

reg[寄存器中的地址]

段內轉移:word ptr 內存單元地址[內存中存放的w就是偏移地址]

特殊的標志寄存器(按位起作用vs整個寄存器一個含義)

7:符號標志符? ? ? ? 6:ZF零標志符4:AF 2:奇偶標志符0:CF進位標志符(產生溢出)

CF用法,(adc、sbb帶借位加、減法的設計思路)

(cmp設計思路:減法)

內中斷:內部程序錯誤或軟件指令

eg:1/0除零錯誤,訪問未分配的內存地址觸發段錯誤,

或使用 int 0x80 指令發起系統調用(Linux 傳統方式),

外中斷信息:外部硬件設備

用匯編講中斷,反而更簡單!和你之前的理解可能不一樣!來深入理解中斷吧!_嗶哩嗶哩_bilibili

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73686.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73686.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73686.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【9】Strongswan collections —— enumerator

//以目錄枚舉為例子&#xff0c;說明enumerator&#xff0c;從源碼剝離可運行 #include <stdio.h> #include <stdbool.h> #include <dirent.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h&…

談談對spring IOC的理解,原理和實現

一、IoC 核心概念 1. 控制反轉&#xff08;Inversion of Control&#xff09; 傳統編程中對象自行管理依賴&#xff08;主動創建&#xff09;&#xff0c;而IoC將控制權轉移給容器&#xff0c;由容器負責對象的創建、裝配和管理&#xff0c;實現依賴關系的反向控制。 2. 依賴…

【Hugging Face 開源庫】Diffusers 庫 —— 擴散模型

Diffusers 的三個主要組件1. DiffusionPipeline&#xff1a;端到端推理工具__call__ 函數callback_on_step_end 管道回調函數 2. 預訓練模型架構和模塊UNetVAE&#xff08;Variational AutoEncoder&#xff09;圖像尺寸與 UNet 和 VAE 的關系EMA&#xff08;Exponential Moving…

甘肅旅游服務平臺+論文源碼視頻演示

4 系統設計 4.1系統概要設計 甘肅旅游服務平臺并沒有使用C/S結構&#xff0c;而是基于網絡瀏覽器的方式去訪問服務器&#xff0c;進而獲取需要的數據信息&#xff0c;這種依靠瀏覽器進行數據訪問的模式就是現在用得比較廣泛的適用于廣域網并且沒有網速限制要求的小程序結構&am…

路由選型終極對決:直連/靜態/動態三大類型+華為華三思科配置差異,一張表徹底講透!

路由選型終極對決&#xff1a;直連/靜態/動態三大類型華為華三思科配置差異&#xff0c;一張表徹底講透&#xff01; 一、路由&#xff1a;互聯網世界的導航系統二、路由類型深度解析三者的本質區別 三、 解密路由表——網絡設備的GPS華為&#xff08;Huawei&#xff09;華三&a…

【RAG綜述系列】之 RAG 相關背景和基本原理

系列文章&#xff1a; 【RAG綜述系列】之 RAG 相關背景和基本原理 【RAG綜述系列】之 RAG 特點與挑戰以及方法與評估 【RAG綜述系列】之 RAG 先進方法與綜合評估 【RAG綜述系列】之 RAG 應用和未來方向 正文&#xff1a; 檢索增強生成&#xff08;Retrieval-Augmented Gen…

CMake 構建的Qt 項目中的構建套件的配置

在Qt 框架中&#xff0c;使用CMake 構建工具時&#xff0c;需要自己給構建套件添加相關配置&#xff0c;否則已經添加的構建套件將不可選擇使用。 創建CMake 項目后&#xff0c;如果打開項目配置時&#xff0c;出現如下構建套件不可選的情況&#xff0c; 需要先確認是否安裝…

本地化智能運維助手:基于 LangChain 數據增強 和 DeepSeek-R1 的K8s運維文檔檢索與問答系統 Demo

寫在前面 博文內容為基于 LangChain 數據增強 和 Ollams 本地部署 DeepSeek-R1實現 K8s運維文檔檢索與問答系統 Demo通過 Demo 對 LEDVR 工作流&#xff0c; 語義檢索有基本認知理解不足小伙伴幫忙指正 &#x1f603;,生活加油 我看遠山&#xff0c;遠山悲憫 持續分享技術干貨…

Kotlin when 表達式完全指南:從基礎到高級的12種實戰用法

掌握 when 的靈活運用&#xff0c;告別繁瑣的 if-else 鏈 以下是 Kotlin 中 when 表達式的 12種核心用法 的全面總結&#xff0c;涵蓋基礎到高級場景&#xff0c;并附帶實用示例&#xff1a; 一、基礎用法 1. 替代 Java 的 switch-case when (x) {1 -> println("一&qu…

新加坡 PSB 認證:安全標準、證書特點及申請注意事項

目錄 什么是PSB認證&#xff1f; 涉及產品范圍 強制性認證產品類別 自愿性認證產品 認證項目與測試標準 1. 安全測試 2. 電磁兼容性&#xff08;EMC&#xff09;測試 3. 能效測試&#xff08;特定產品&#xff09; 認證流程詳解 第一步&#xff1a;準備階段 第二步&a…

UE4學習筆記 FPS游戲制作26 UE中的UI

文章目錄 幾個概念創建一個UI藍圖添加UI獲取UI的引用 切換設計器和UI藍圖將UI添加到游戲場景錨點軸點slotSizeToContent三種UI數據更新方式函數綁定屬性綁定事件綁定 九宮格分割圖片 幾個概念 UMG&#xff1a;UE的UI編輯器 slate UI: UE的UI的編輯語言 創建一個UI藍圖 右鍵用…

HttpRunner v4.x 遠程調用實踐指南

一、基于 SSH 的遠程執行方案 1. 環境準備流程 在目標服務器部署 HttpRunner 運行時環境&#xff1a; # 遠程服務器執行&#xff08;需 Golang 1.18 和 Python 3.8&#xff09; curl -ksSL https://httprunner.com/script/install.sh | bash配置免密登錄&#xff08;本地機器…

頭條項目的文章延遲發布功能

最近做的頭條項目其中有個功能是創作者發表的文章可以設置在未來某個時間發表&#xff0c;在實現這個功能的時候就在想該怎么實現呢&#xff1f;剛開始想的是利用Spring的定時任務定時的去數據庫中查詢&#xff0c;可以這個查詢頻率該怎么設置&#xff0c;每次從數據庫中需要查…

Celery 全面指南:Python 分布式任務隊列詳解

Celery 全面指南&#xff1a;Python 分布式任務隊列詳解 Celery 是一個強大的分布式任務隊列/異步任務隊列系統&#xff0c;基于分布式消息傳遞&#xff0c;專注于實時處理&#xff0c;同時也支持任務調度。本文將全面介紹 Celery 的核心功能、應用場景&#xff0c;并通過豐富…

OpenHarmony NativeC++應用開發speexdsp噪聲消除案例

隨著5.0的版本的迭代升級&#xff0c;筆者感受到了開源鴻蒙前所未有大的版本更替速度。5.0出現了越來越多的C API可以調用&#xff0c;極大的方便了native c應用的開發。筆者先將speexdsp噪聲消除的案例分享&#xff0c;老規矩&#xff0c;還是開源&#xff01;&#xff01;&am…

nuxt3 seo優化

在 Nuxt3 中&#xff0c;通過 nuxtjs/seo、nuxtjs/sitemap 和 nuxtjs/robots 模塊可以生成包含動態鏈接的站點地圖&#xff08;sitemap.xml&#xff09;&#xff0c;但具體是“實時生成”還是“部署時生成”&#xff0c;取決于你的配置方式和數據更新頻率。以下是具體分析&…

es6的100個問題

基礎概念 解釋 let、const 和 var 的區別。什么是塊級作用域&#xff1f;ES6 如何實現它&#xff1f;箭頭函數和普通函數的主要區別是什么&#xff1f;解釋模板字符串&#xff08;Template Literals&#xff09;的用途&#xff0c;并舉例嵌套變量的寫法。解構賦值的語法是什么…

【機器學習】什么是決策樹?

什么是決策樹&#xff1f; 決策樹是一種用于分類和回歸問題的模型。它通過一系列的“決策”將數據逐步分裂&#xff0c;最終得出預測結果。可以把它看作是一個“樹”&#xff0c;每個節點表示一個特征的判斷&#xff0c;而每個分支代表了可能的判斷結果&#xff0c;最終的葉子…

Java面試黃金寶典15

1. 請找出增序排列中一個數字第一次和最后一次出現的數組下標 定義 由于數組是增序排列的&#xff0c;我們可以利用二分查找的特性來高效地定位目標數字。對于查找第一次出現的位置&#xff0c;當中間元素等于目標數字時&#xff0c;我們需要繼續向左搜索&#xff0c;以確保找…

CentOS 7安裝 mysql

CentOS 7安裝 mysql 1. yum 安裝 mysql 配置mysql源 yum -y install mysql57-community-release-el7-10.noarch.rpm安裝MySQL服務器 yum -y install mysql-community-server啟動MySQL systemctl start mysqld.service查看MySQL運行狀態&#xff0c;運行狀態如圖&#xff…