每一種微處理器都有自己的機器指令集(組合語言),
由於很長的1與0難以辨別與記憶,所以誕生組合語言
操作:暫存器bx的內容送到ax中
機器指令:1000100111011000
彙編指令:mov ax,bx
組合語言由彙編指令
,偽指令
,其他符號
(後兩者都不對應機器碼)
分別對應:機器碼的助記符
,編譯器執行
,+,-,*,/由編譯器識別
在儲存器(記憶體)和磁碟上,指令和資料沒有區別,都是二進位制資訊。cpu在工作的時候把有的資訊看作指令,有的資訊看做資料
1000100111011000->89d8h(為了直觀計算機在顯示資料多用十六進製制數)(資料)
1000100111011000->mov ax,bx(指令)
乙個儲存器即乙個儲存單元,乙個byte,即8個二進位制位
1kb=1024b=2^10b,1mb=1024kb=2^20b,1gb=1024mb=2^30b,1tb=1024gb=2^40b
cpu對資料進行讀寫操作
*儲存單元的位址(位址資訊)->位址匯流排(位址線的集合)(線是導線)
*器件的選擇,讀或寫命令(控制資訊)->控制匯流排(控制線的集合)
*讀或寫的資料(位址資訊)->資料匯流排(資料線的集合)
mov ax,[3]//[3]=>*3,3號位址單元的內容
8086的cpu所有的暫存器都是16位,首先通用暫存器ax,bx,cx,dx,每乙個可以被拆為兩個
位元組(byte)和字(word):8,16bit 字分為高低位元組
資料傳送(mov指令)mov ax,1a
mov ax,bx
增加指令8086cpu工作過程add ax ,1a
add ax,bx
組合語言(一)
8086暫存器都是16位的暫存器,根據用途可分為4種型別。分別是資料暫存器 位址暫存器 段暫存器和控制暫存器。如圖所示 資料暫存器中每個暫存器又可以分為2個8位的暫存器。分別為ah al,bh bl,ch cl,dh dl。h表示高位元組 高8位 暫存器 l表示低位元組 低8位 暫存器。例如 用ax...
組合語言 AT T組合語言
這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...
組合語言 《組合語言》王爽 實驗一
從 1000 0 開始寫入命令 a 1000 0 mov ax,4e20 add ax,1416 mov bx,2000 add ax,bx mov bx,ax add ax,bx mov ax,001a mov bx,0026 add al,bl add ah,bl add bh,al mov a...