8086彙編1,零基礎

2021-06-18 18:34:05 字數 3109 閱讀 3353

1,暫存器  是存放在cpu中的儲存器

2,位址匯流排上能傳送多少種不同的資訊,cpu就可以對多少個不同的單元進行定址。這樣cpu就是多少位,就是可以定址2的n次方單元

3,資料匯流排的寬度決定了cpu與外部的資料傳送速度。控制匯流排的寬度決定了cpu對外部的控制能力

4,8086資料匯流排是16位的,一次傳送16的資料,位址匯流排20位,記憶體位址空間分配情況是:00000——9ffff是主儲存器ram,a0000——bffff是視訊記憶體空間,c0000——fffff是各類rom空間

5,每一中cpu都有自己的彙編指令集

6,在儲存器中指令和資料沒有任何區別都是二進位制資訊

7,乙個儲存單元是8位元組

8,cpu對外部裝置不能直接控制,例如,顯示器;音響;印表機,直接控制這些裝置互作的是插在擴充套件槽的介面卡,例如,cpu控制顯示卡,然後顯示卡控制顯示器

9,記憶體是大的隨機儲存器

10,必須以cpu的觀念思考問題

11,遇到c中不明白的反編譯一下

12,什麼是cpu內部通訊,就是不牽扯到記憶體,只有暫存器和運算器,控制器等等,通過內部匯流排連線

13,8086有14個暫存器,一般通用暫存器是8個,8086所有暫存器是16位的

14,開始+執行,calc  進入計算機

15,乙個幾位的儲存器可以儲存的最大值2的n次方-1

16,彙編不區分大小寫

17,add  al,93h   al是c5h  那麼相加後ax是什麼呢?其實ax是0058h

18,乙個資料的幾進製形式左移1位相當於乘以幾

19,乙個段的最大容量是64k

20,8086段暫存器有cs,ds,ss,es

21,8086加電復位後,cs被設定為ffff,ip為0000,8086從ffff0開始執行第一條指令

22,jmp  3:0b16  執行後轉移到00030+0b16處執行

23,mov ax,200

jmp   ax

24,debug 程式,指令r檢視改變暫存器的內容,d命令檢視記憶體中的內容,e命令改寫記憶體中的內容,u命令將記憶體中的機器指令翻譯成彙編內容,t命令執行一條機器指令

,a命令以彙編指令的形式向記憶體中寫入指令。

25,記憶體中字的存放,高位對應高位址,低位對應低位址

26,mov指令的幾種形式:

mov   暫存器,資料

mov   暫存器 ,暫存器

mov    暫存器,記憶體單元

mov    記憶體但願,暫存器

mov    段暫存器,暫存器

mov   暫存器,段暫存器

27,向記憶體資料段寫東西:

mov  ax,123b

mov  ds ,ax

mov ax,0

add  ax,

add  ax,  這表示偏移位址

段位址預設在ds中

28,pop ax  從棧頂取出資料存入ax中

出戰和入棧都是按照字的形式進行的

29,8086 cpu,有兩個暫存器:

段暫存器 ss 存放棧頂的段位址

暫存器  sp  存放棧頂的偏移位址

ss:sp 指向棧頂元素

30,單步中斷的中斷型別碼01

步驟:取得中斷型別嗎,然後標緻暫存器入棧,tf,if置零,然後cs,ip入棧,進行儲存,然後ip=1*4,cs=1*4+2

debug改了1號中斷的內容,使其單步中斷的中斷程式功能:顯示所有暫存器的內容等待輸入命令

int  0  中斷  除法溢位中斷 

int  1  中斷   單步中斷

31,  int10  中斷例程,,是bios提供的中斷例程,其中包含了多個和螢幕輸出相關的子程式。

32,一般來說,乙個供程式設計師呼叫的中斷例程中往往包含多個子程式,中斷例程內部用傳遞進來的引數來決定執行那乙個子程式

33,bios和dos提供的中斷例程,都用ah來傳遞內部子程式的編號

34,內中斷: int 0 除法溢位中斷

int 1 單步中斷

bios中斷:

int 10 號中斷歷程  

由ah傳遞內部子程式的編號

mov ah,2  設定游標位置的子程式編號

mov bh,0   設定頁號

mov dh,5    行號

mov dl,12   列號

int 10h

bh中頁號的含義:記憶體位址空間中,b8000——bffff共32k

的空間,為80*25彩色字元顯示模式的緩衝區

一屏的內容在現實緩充區共占有4000個位元組 4kb,所以共8頁

int 10中斷歷程中在游標位置顯示字元的功能

mov ah,9   子程式編號    表示呼叫10h號中斷歷程的9號子程式

mov al,'a'  字元

mov bl,7    顏色屬性

mov bh,0    頁號

mov cx,3

int 10h

bl的顏色屬性:

七   六 五 四   三    二 一 零

bl    r  g  b    i     r  g b

閃爍   背 景   高亮     前  景

在螢幕的中間顯示3個高亮,閃爍綠色的'a'

assume cs:code

code segment

start:

mov ah,2  設定游標位置的子程式編號

mov bh,0   設定頁號

mov dh,5    行號

mov dl,12   列號

int 10h

mov ah,9   子程式編號    表示呼叫10h號中斷歷程的9號子程式

mov al,'高隆煞筆'  字元

mov bl,11001010b    顏色屬性

mov bh,0    頁號

mov cx,3

int 10h

mov ax,4c00h

int 21h

code ends

end start

dos中斷: int 21h

1,可以進行程式返回

2,int21 中斷例程 在游標位置顯示字串

ds:dx指向字串;要顯示的字串用「$」作為結束符

mov ah,9;功能號9,表示在游標位置顯示字串

int 21h

8086彙編學習筆記1 基礎

1.什麼是組合語言 彙編指令是各種cpu提供的機器指令的助記符集合。cpu只認識0和1組成的機器指令,但是使用機器指令去編寫的程式難於書寫和閱讀,所以採用彙編,彙編只是機器指令的另一種表示方法。編寫好匯程式設計序,還需要彙編編譯器將彙編翻譯成機器指令,這樣cpu才能識別與執行。機器指令 100010...

Oracle零基礎學習1

1.如果要使用oracle資料庫,主要使用以下四個使用者。1 超級管理員 sys charge on install 2 普通管理員 system manager 3 普通使用者 scot tiger 4 大資料使用者 sh sh 2.oracle 的解除安裝 1 直接執行解除安裝程式 2 刪除硬碟...

小甲魚零基礎彙編 基礎知識01

組合語言是直接在硬體之上工作的程式語言,首先要了解硬體系統的結構,才能有效的應用組合語言對其程式設計。在本章中,對硬體系統結構的問題進行一部分的 以使後續的課程在乙個好的基礎上進行。當課程進行到需要補充新的基礎知識 關於程式設計結構或其他的 時候,再對相關的基礎知識進行介紹和 本書的原則是,以後用到...