組合語言之期末複習

2021-10-01 08:32:46 字數 1393 閱讀 3059

奇位址單元 存放2個讀寫週期

cpu與儲存器之間的任何資訊交換使用的都是 實體地址

16位相對位移的範圍是 8000h-7fffh

段位址左移4位加偏移位址

狀態暫存器用來存放狀態資訊

乙個位元組有8位二進位制數

8086cpu的內部資料匯流排是16位的 外部資料匯流排是16位的

機器語言是可執行指令

[bx+si+8]相對基址變址定址 pa=bx+si+8 ,即 2000+3000+8 =5008

mem 補碼

暫存器間接定址 有4個 bx bp si di 其中bp 預設段ss

[bx+si] 使用ds段暫存器

[bp+5] 使用ss暫存器

段內間接定址 只改變ip暫存器的值

段間間接定址 改變cs和ip暫存器的值

psw 狀態暫存器 。不改變psw的指令是 mov ax,bx

不影響cf標誌位 的是inc dec

兩個整數補碼相加運算後 會產生無溢位但有進製

jmp word ptr [bx] 段內間接近轉移

二-十進位制(bcd):用二進位制編碼的十進位制壓縮的bcd碼:用四位二進位制表示乙個十進位制數碼非壓縮的bcd碼:用8位二進位制表示乙個十進位制位

十進位制數字74所對應的壓縮型bcd碼的形式是 74h

十進位制數字85所對應的非壓縮型bcd碼的是 0805h

cmp 執行減法sub 不儲存結果 只產生標誌位 比較大小

壓棧操作是16位數的操作

乘積高位部分不是低位部分的符號擴充套件 of=1 cf=1。若是,則of=0 cf=0

shr 邏輯右移 0——> cf

repe scsb 串操作 相等時執行串操作 不相等 即找到不相等的資料 就可結束操作

jnc 不低於 或者高於等於

有符號數的轉移 高於 greater jg;低於 less jl

除法運算 8位除數 al放商 ah放餘數

16位除數 ax放商 dx放餘數

bx暫存器為16位 因此ax放商

cmp ax,bx 不改變ax暫存器的內容

neg ax 對ax求補碼

名字項 不能以數字開頭 除數字外所有字元均可以放在源語句的第一位

al bl 均為8位

type 型別屬性 1 2 4 6 8 10——>( db ,dw,dd,df,dq,dt)

equ 賦值操作

dw 字操作 16位 2個位元組 2 +102=24

dd 占用四個位元組 2*4=8

除了生成乙個目標檔案以後還可以生成 .lst 檔案

過程名 proc

過程名 endp

起始位址應該放在乙個能被16整除的單元位址開始

存放部分儲存單元的位址可以用字 雙字 四字來表示

合法的指令  mov [di],bl

組合語言之定址方式

1 固定定址 inherent addressing 特定的單運算元指令,運算元隱含在操作碼中,在固定定址的指令中,運算元被隱含在指令中,不需要執行匯流排週期,執行速度快 例子 1.1 cbw命令,將al中的符號位擴充套件到ah中,形成16位的運算元。比如al中的符號位是1,則執行cbw命令後,ah...

組合語言之定址方式

如 mov ax,2a78 表示將乙個記憶體單元中的資料送入ax,這個記憶體單元的長度為2位元組 字單元 存放乙個字,偏移位址為2a78h,段位址 在ds中。如 mov al,10f3 表示將乙個記憶體單元中的資料送入al,這個記憶體單元的長度為1位元組 位元組單元 存放乙個位元組,偏移位址為10f...

組合語言之堆疊框架

堆疊框架 stack frame 也稱活動框架 activation record 他是為傳遞的引數 子例程的返回位址 區域性變數和儲存的暫存器保留的堆疊空間。堆疊框架的建立步驟 1 如果有傳遞的引數,則壓入堆疊 2 子例程被呼叫,子例程的返回位址壓入堆疊 3 子例程開始執行時,ebp被壓入堆疊 4...