Linux下組合語言學習筆記1

2022-01-12 15:12:20 字數 1418 閱讀 1844

學習總需要乙個動力,開始是為了反編譯**,後來是為了看懂linux核心**,現在就是純粹想掌握linux下的彙編,順便再次深入**下程式設計,能夠和計算機能夠更深入的理解吧。

第一章 又乙個令人愉快的星期六——了解計算機的實際用途

一、開篇的題目是一切盡在計畫中,但是,作者描述的彷彿是使盡渾身解術才能做完的一堆事情,無論是時間還是空間,還是邏輯等,都很亂,直到列出了乙份清單:

1、把馬桶墊圈扔到麵包車裡;

2、檢查是否有汽油——如果沒有,在del『s shll停車加油

3、讓尼基在rand park下車

4、在golf mill的銀行自動櫃員機前停下車

5、把馬桶圈退還給kmart

6、讓迪歐妮在芭蕾舞學校下車(記住要到greenwood的小路)

7、看下漢克的眼鏡是否到了pearle vision的眼鏡店,如果到了,就取回

8、從jewel那裡買些雜貨

9、接迪歐妮

10、在獸醫那裡停一下,取回狗狗的心絲蟲藥丸

11、到家後卸雜貨

12、如果已經到時間了,就去接尼基,時間沒有到,就休息幾分鐘,然後再去接尼基

13、休息

這些事情的前提條件是三個孩子媽媽的主婦的週末,大兒子麥克、小兒子尼基、小女兒迪歐妮,丈夫漢克和一條溝麥克斯。面臨的情況是,

作為媽媽要送兒子尼基九點到少棒聯盟(rand park聯盟)

送女兒迪歐妮十點上芭蕾課(parkridge和greenwood中間的芭蕾舞學校)

到獸醫那裡給狗狗麥克斯買心絲蟲藥丸(oakton獸醫店)

將丈夫麥克買的馬桶圈調換型號(kmart超市)

沒有現金需要去自動櫃員機取錢(golf mill銀行)

如果車子沒有油需要加油(del's shell加油站)

以上的事情幾乎是所有人都會碰到的情況,只要把事情的清單列寫出來,加上適當的時間安排,按照既定的安排一件接一件的完成即可。其實,計算機也是這樣的,對於程式設計技術人員而言,需要指定計算機什麼時候做,做什麼即可。計算機程式設計的本質就是操縱資料而一。

一、測試,分情況對待,其實想將所有事情做好,必須要做到根據情況做到變通。

以下是李陽演講有這麼一段話:說當年日本首相森喜朗臨時抱佛腳學會了兩句英語:how are you, me too。結果見到了柯林頓,一著急說成了who are you ,柯林頓反應很快,說「i am hillary's husband。」(我是希拉莉的丈夫。)由於日本首相只會說 me too,只能  說me too。這就是測試和變通的重要性。

就像主婦在開車前,看看油是不是不夠,否則需要先加點油。實際上有幾個情況,看看眼鏡是否到了,回家卸貨後如果時間沒有到,就休息下,否則就要接尼基

二、選擇,看似我們的選擇是在很多裡面進行選擇,但是主要還在在面對二選一的問題

三、讓計算機想我們一樣思考,很多同學覺得程式設計應該是像計算機一樣思考,其實,錯,是讓計算機像我們一樣思考,我們才能毫不費力的程式設計。

組合語言學習筆記1

在乙個程式中使用多個段 assume cs code,ds data,ss stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h data ends stack segment dw 0,0,0,0,0,0,0,0...

組合語言學習筆記 1

1.1 控制暫存器 具有控制程式順序 狀態 和堆疊儲存器的暫存器,包含程式計數器pc 儲存下一次要執行的程式位址資訊的20位暫存器,在執行的時候,根據預取的指令碼位元組數自動遞增 在執行轉移指令時,設定立即數或者暫存器的內容 在產生復位訊號的時候,給低16位設定位址0000h 0001h的復位向量表...

組合語言學習1

資料查詢 內容 tab開始的位元組單元中存放n個無符號數,dat單元存放乙個已知資料x,現從tab中查詢是否存在資料x,如果存在,no單元存放該資料在tab中的序號,否則no單元存放0ffh tab db x1,xn dat db x no db n 5.data tabdb n dup datdb...