1. 程式人生 > 其它 >2020-2021 1學期 《網路空間安全導論》 第四周學習總結

2020-2021 1學期 《網路空間安全導論》 第四周學習總結

第六章主要講低階程式設計語言與虛擬碼。第七章講問題求解與演算法設計

機器語言

1.機器語言是計算機直接使用的二進位制程式碼指令構成的語言。
人無法看懂只有機器才能讀懂。
2.機器語言內嵌在機器裡,不同計算機只能看懂自己的語言。

Pep/9 虛擬機器

虛擬機器的記憶體單元由65536位元組的儲存空間組成,字長2位元組。在這裡,我們主要學習其三個重要的暫存器。
指令暫存器 程式計時器 累加器

指令格式

一條指令由兩部分組成,指令說明符佔一位元組,運算元說明符佔兩位元組。其中,指令說明符前四個位是操作程式碼,第五位代表不同暫存器,最後三位代表不同定址方式(這裡只學習直接 001和立即000)。運算元說明符存放的是運算元本身或者運算元的地址。沒有運算元說明符的指令程式碼只有一個位元組,所以也叫一元指令。
要說明的是,不能再儲存操作碼中使用立即定址,因為我們不能將暫存器的資料儲存到運算元說明符上。

pep9 的輸入與輸出

1這裡需要明白,pep9虛擬機器用的是記憶體對映輸入輸出。其中輸入和輸出對應的地址分別是FC15和FC16。同時,該虛擬機器使用ASCⅡ字符集來表示字元,也就是是說用一個位元組來表示一個ASCⅡ碼,因此我們採用載入和儲存位元組而不是字的方式來實現輸入和輸出。
2. 拿例子來說,如果要打印出Hi,需要三種類型的命令,共五條:兩條載入位元組的指令,兩條儲存,一條停止。。

組合語言

組合語言是指通過一些助記指令碼使得機器語言更容易被記憶,減少程式設計中的錯誤。通過組合語言編出的叉程式經過彙編器翻譯成機器語言後,才能被計算機執行。

pep9組合語言

  1. 運算元由0x和十六進位制表示,接下來是逗號,然後是定址模式(i/d) 如:0x008B,i
    2助記碼有多種,如STOP (停止執行) , LDWA(將字載入) LDBA(將位元組載入) ADDA(將字加到累加器)

偽操作

即彙編器指令,大多都是彙編器本身使用的指令。組合語言程式也支援偽操作。

表達演算法

虛擬碼是一種語言,讓我們以更清晰的形式表達演算法。

虛擬碼的功能

1變數 賦值 輸入輸出 選擇 重複

測試

明箱測試 暗箱測試 測試計劃 測試用例

第七章主要講問題求解和基於此的演算法設計

如何解決問題

1.提出問題
2尋找熟悉的情況
3分而治之

演算法

計算機問題求解過程

分析和說明階段,演算法開發階段,實現階段,維護階段。
自頂向下設計:分析問題 列出主要任務 編寫其餘的模組 根據需要進行重組和改寫

測試演算法

搜尋演算法

順序搜尋
二分檢索

排序演算法

選擇排序 氣泡排序 插入排序 快排序