原创 學習《深入理解計算機系統》安裝YAS模擬器

我是在CentOS7的虛擬機上安裝的,系統版本爲:Linux version 3.10.0-957.21.3.el7.x86_64 ([email protected]) (gcc version 4.8

原创 Linux系統內核框圖

Unix和Linux系統內核都採用的都是如下圖所示的結構:                                                                                         

原创 王爽《彙編語言》實驗10

1.顯示字符串 編寫一個通用的子程序,向調用者提供與顯存無關的接口,方便調用者在窗口指定位置顯示字符串的功能。 assume cs:code data segment db 'Welcome to masm!',0 ;要顯示的字符

原创 王爽《彙編語言》實驗7

老實說,自己的編程技能差的還太多,完成這個實驗竟用了足足3個小時,包括構思、編輯、調試、修改、再調試…… 不過,總算調通了,可以進行下一章的學習了。 assume cs:codesg data segment db '1975','

原创 爲什麼需要使用棧結構?

在以往學習高級語言時,提到棧,下意識都會反映上來FILO,它是暫存數據的一種數據結構,但是爲什麼會用到棧?卻一直諱莫如深,這是高級語言不會涉及到的底層的實現,最近在學習王爽老師的《彙編語言》,其中有一段點醒了我,現整理如下。 (一)這個問

原创 彙編中段的使用

段與段不能重合使用!!! 下面這種做法很不安全,如果在程序中出現這種程序代碼,將CS段地址直接賦值給SS段使用,有可能導致災難性後果。因爲在段初始化時,會將幾個寄存器值放到段內,隨着PUSH操作的進行,這些值將會向低地址方向作整體移動,此

原创 學習《深入理解計算機系統》安裝YAS彙編器

我是在CentOS7的虛擬機上安裝的,系統版本爲:Linux version 3.10.0-957.21.3.el7.x86_64 ([email protected]) (gcc version 4.8

原创 數據結構提綱

學習計算機編程,經常會看到這個等式:程序=算法+數據結構。算法是用來描述適合用計算機程序來實現的問題——解決方法。算法即便不是該領域大部分問題的中心研究對象,也是許多問題的核心研究對象。大部分算法的重點在於計算中涉及的數據的組織方法——數

原创 Unix和Linux中比較重要的3個設備文件:/dev/console、/dev/tty和/dev/null

1、/dev/console這個設備代表的是系統控制檯。錯誤信息和診斷信息通常會被髮送到這個設備。每個Unix系統都會有一個指定的終端或顯示屏用來接收控制檯消息。過去,它可能是一臺專用的打印終端。在現代的工作站和Linux上,它通常是“活

原创 基本數據結構——棧(數組實現)

棧(stack)是一種基本的線性數據結構,在棧上實現的是後進先出(LIFO)的策略。LIFO即最後入棧的元素最先出棧,入棧操作爲push(),出棧操作爲pop()。本文使用C語言+數組對棧進行實現。1、棧的數組實現:#include<st