原创 x86彙編語言基礎

文章目錄硬件知識指令8086通用寄存器重定位問題地址容量運算練習題彙編語言NASM編譯器接力機制顯卡自我總結字符模式圖形模式地址分佈聲明數據 硬件知識 處理器進行計算的原理,將數據傳送給寄存器A和B,然後計算單元ALU計算出來傳

原创 深入理解計算機系統讀書筆記

文章目錄前言基礎硬件架構CPU的常見操作Intel處理器歷史操作系統作用進程虛擬內存空間文件 前言 這個系列的文章是摘自深入理解計算機系統 我看過這方面的書,但是一直沒有形成一個系統的理解。 看完這個基礎知識之後,就可以去看我的

原创 可重定位文件

爲什麼會有可重定位文件 因爲在某個進程每次運行的時候,操作系統分配給該進程代碼和數據區域的起始地址是不確定的。 而我們在腳本文件裏面的跳轉goto,函數調用,if語句,都是相對於該腳本起始地址爲0來調用的 所以就需要在把代碼從磁

原创 段寄存器的瑣碎知識

文章目錄前言8086時代段偏移量解決辦法實地址模式32位時代64位時代30天自制操作系統中涉及到的引用 前言 在30天自制操作系統中,瞭解到段寄存器這個概念,一開始覺得比較複雜【那是因爲作者沒有講清楚】,後來在網絡上查閱了一些資

原创 30天自制操作系統之疊加處理

文章目錄前言加快更新速度閃爍問題其一其二 前言 我們通過往顯存Vram裏面直接設置像素的顏色來設置顯示某個對象 對於數字或者字母,我們將其顯示放置在一個16*16的數組當中,然後將其遍歷,顯示在畫面的某個位置 static c

原创 渲染流程

階段 應用階段, 幾何階段,光柵化階段 應用階段 把數據加載到顯存中 設置渲染狀態 調用DrawCall 幾何階段 頂點着色器 對頂點位置進行座標變換並計算頂點顏色的過程 把頂點座標從模型空間轉換到齊次裁剪空間 進行逐

原创 30天自制操作系統 定時器

文章目錄原理優化步驟多任務基礎版本升級版本 原理 通過每隔一定的時間間隔向CPU發送中斷,然後我們綁定了該中斷所對應的計時函數,即每發生一次中斷,該函數加1,並且判斷所有的定時器,是否超過了該時間【超過了就需要執行該定時器的操

原创 引用對象和值對象

結論 其實兩者本質上都是值傳遞。 所謂的值和引用是相對於數據存儲角度來論斷的,值類型都是放置在棧空間的數據,引用類型則是放置在堆中 首先,對於每一個程序而言,操作系統都會爲他們開闢幾段內存空間,這些內存空間分爲幾個部分,棧段,代

原创 寄存器和棧的關係

前言 首先我們要知道,寄存器是距離CPU最近,存取速度很快的存儲單元。而棧是內存裏屬於某個程序的一段連續空間 程序內存包含 【對於這些程序內存是如何分配以及尋址的請看其他博客】 程序的可執行機器代碼 操作系統需要的一些信息 用

原创 30天自制操作系統

基本概念 Bios 是basic input output system 是基本的輸入輸出系統,爲操作系統開發人員提供功能使用的,因此佔用了一些內存區域。所以我們在使用內存的時候,某些區域是不可以使用的,以免發生衝突。 系統本身

原创 A*算法個人理解

A* A*的核心在於F=G+H這個公式,他本身是一個距離評判公式,G是從起點到指定點的消耗,H是從指定點到終點的距離,這個距離忽略對角線,也忽略障礙物。 我們首先將平面用網格劃分,至於用正方形劃分還是用正六邊形劃分,看情況。 然

原创 Unity爲Mesh指定uv

文章目錄各組件作用 各組件作用 我們可以在MeshFilter組件裏面獲取mesh對象 在mesh對象裏面獲取vertex,uv座標,並且指定這些座標 下面是動態生成一個物體並且指定材質的代碼 using UnityEngin

原创 在unity中生成螺旋線的效果

文章目錄前言效果思路代碼生成拓展 前言 項目中需要在彩虹發生爆炸的時候,發出射線到這些和彩虹交換位置棋子相同顏色的所有物體。 一開始的項目中使用的是直線。但是很單調,我改成了曲線。 效果 思路 因爲使用的插件LeanTw

原创 C#語法進階

文章目錄前言單例編輯器代碼序列化動態創建畫布對於字典的迭代循環Predicate的使用Canvas 可以用來調整層級 前言 最近工作需要看以前項目的代碼,然後在閱讀代碼的過程中,發現了一些別人對於C#語法的靈活使用,所以特此記錄一下

原创 ParticleSystem的使用

ParticleSystem 的使用 playOnWake 當物體被實例化出來的時候,會播放一次。前提是特效的物體沒有被隱藏 如果勾選了playOnWake,那麼當特效物體被SetActive(false)然後又爲true的時候,就