原创 彙編語言學習(開篇)

本人今天開始學習王爽老師著的《彙編語言》,爲督促自己踏實學習,將每節課後檢測點的練習都發到博客上來,一節不漏。本人彙編0基礎,一切從頭開始。

原创 排序算法值堆排序

堆排序的原理:用數組元素構建堆。每次調用堆的add函數時,堆都會將堆中最大的元素調整到堆的頭節點處。 添加完畢,然後調用remove函數,每次刪除和返回的都是當前堆中的最大數值。  public static void heap

原创 檢測點3.1

(1)在Debug中,用"d 0:0 1f“ 查看內存,結果如下: 0000:0000   70  80  F0   30  EF   60  30  E2- 00  80  80  12  66  20  22  60 0000:001

原创 數據結構之棧(用list實現)

棧(stack)這種數據結構用得相當那個廣泛。用list實現相當方便。特點就是FILO(先進,後出) public class MyStack { private MyLinkedList lists; public MyS

原创 數據結構之圖(下)

圖的實現 public class Graph { private List<Node> nodes; //所有節點的集合 private Map<Node,List<Side>> sides; //圖的構成數據,每一

原创 數據結構之堆

堆實際也是一種二叉數。特點是父節點的數值總是大於等於子節點的數值。堆可以用來實現堆排序,也可以用來實現優先隊列。 //堆實現爲泛型類,實現類型必須實現Comparable接口 public class Heap <T extends

原创 數據結構之list(用鏈表實現)

相當於LinkedList 鏈表由節點構成。由於只實現單向鏈表,所裏節點裏面只有next指針,沒有previous指針。 public class MyNode { private int data; private MyNo

原创 檢測點2.1

(1) 寫出每條彙編指令執行後相關寄存器中的值             mov    ax  ,  62627         AX = F4A3H             mov    ah ,  31H             AX

原创 數據結構之圖(上)

圖的用處也很廣。搜索引擎的爬蟲機器人在網上下載網頁肯定用到了圖這種數據結構,包括圖的深度優先/廣度優先算法,以及圖中兩個節點間的最短距離及 最短路徑(路線)。本實現簡單實現了圖的這三個算法。 我這裏用來表示圖的數據結構包括節點和邊(有

原创 檢測點1.1

(1) 1個CPU的尋址能力爲8KB,那麼它的地址總線的寬度爲 13 (2) 1KB的存儲器有 1024 個存儲單元 。 存儲單元的編號從 0 到 1023 (3) 1KB的存儲器可以存儲 1024×8 個bit, 1024 個Byte

原创 排序算法之二叉查找樹排序

//二叉查找樹排序,原理:構造二叉查找樹,用數組數據進行填充,然後每次刪除二叉查找樹之最小元素,返回的即是樹中剩餘元素中的最小值。 //該算法的侷限是不能有重複元素的存在 //關於BinaryTree的構建,請參考本系列數據結

原创 數據結構之list(用數組實現)

由數組實現的list,相當於ArrayList,簡單起見,未實現爲泛型。 public class MyArrayList { private int[] array; private int capacity; //容量

原创 檢測點2.3

下面的3條指令執行後,CPU幾次修改IP? 都是什麼時候?最後IP中的值是多少?      mov    ax  ,    bx         (根據CS:IP 讀取指令,IP+, 執行指令 mov)      sub    ax  ,

原创 檢測點2.2

(1) 給定段地址爲 0001H , 僅通過變化偏移地址尋址,CPU的尋址範圍爲  00010H ----- 1000FH (2) 有一數據存放在內存 20000H 單元中,現給定段地址爲 SA , 若想用偏移地址尋到此單位,則 SA 滿

原创 第5章實驗4

(1)向內存0:200 -- 0:23F 依次傳送數據0--63(3FH) assume cs:code code segment      mov ax , 0020H      mov ds , ax      mov bx , 0