奇位址單元 存放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...