程式設計正規化 彙編解釋swap方法

2021-09-09 00:16:07 字數 715 閱讀 9849

先要熟悉一些彙編的基本知識:

1.sp是什麼?

sp是堆疊暫存器,在呼叫子程式時,都會用到,儲存原來程式的環境使用,如各個暫存器的內容,最重要的是,呼叫返回時程式的執行指令位址,這是由呼叫時將返回位址壓入堆疊,返回時取出並傳給pc暫存器來實現的。給sp的初始化值的大小,

顯示了堆疊的存放位置和堆疊的大小

,如果堆疊太小,會出現堆疊溢位的問題。(其內容為棧頂的偏移位址。)

2.pc是什麼暫存器?
pc是16位程式計數器(program counter),它不屬於特殊功能暫存器範疇,程式設計師不以像訪問特殊功能暫存器那樣來訪問pc。pc是專門用於在cpu取指令期間定址程式儲存器。

。通常程式是順序執行的,在一般情況下,當取出乙個指令(更確切地說為乙個指令位元組)位元組後,pc自動加1。如果在執行轉移指令、子程式呼叫/返回指令或中斷時,要把轉向的位址賦給pc。

引用的彙編**跟上面一模一樣:
int  x = 17;
int y= x;
int z = &y;
下面圖陰影部分,就是
int *z = &y;
x

yz//

指向y這個位址

三正規化解釋

三正規化最簡單最易記的解釋 1nf 字段不可分 2nf 有主鍵,非主鍵字段依賴主鍵 3nf 非主鍵字段不能相互依賴 解釋 1nf 原子性 字段不可再分,否則就不是關聯式資料庫 2nf 唯一性 乙個表只說明乙個事物 3nf 每列都與主鍵有直接關係,不存在傳遞依賴 不符合第一正規化的例子 關聯式資料庫中...

彙編命令 解釋

比如你用local在棧上定義了乙個區域性變數localvar,你知道實際的指令是什麼麼?一般都差不多像下面的樣子 push ebp mov esp,ebp sub esp,4 現在棧上就有了4各位元組的空間,這就是你的區域性變數。接下來,你執行mov localvar,4,那麼實際的指令又是什麼?是...

彙編指令解釋

mov ax,30h ax 0x30 mov ax,30h ax中的內容是記憶體位址30h裡儲存的數值 bx 40f6h,記憶體位置40f6h 40f7h兩個位址中存放的數是22h 23h mov ax,bx 2223h傳送到ax中 mov ax,bx 40f6h傳送到ax中ldr r0,x 用於載...