and dest,src將目標與源做與操作 or dest,src將目標與源做或操作 add 加得數的值超出範圍即會溢出 inc 彙編語言中的自增指令,相當於++ div指令 不會給出被除數 切記提前在預設的寄存器中設置好被除數,且預設寄存器不做別的用處 dup設置記憶體空間,與db、dw、dd等數據 ...
- and dest,src將目標與源做與操作
- or dest,src將目標與源做或操作
- add 加得數的值超出範圍即會溢出
- inc 彙編語言中的自增指令,相當於++
- div指令
- 不會給出被除數
- 切記提前在預設的寄存器中設置好被除數,且預設寄存器不做別的用處
- 不會給出被除數
- dup設置記憶體空間,與db、dw、dd等數據定義偽指令配合使用,進行數據的重覆
- nop的機器碼占一個位元組,器占位作用,為空
- jmp指令——無條件轉移
- 可以只修改IP,也可以同時修改CS和IP
- 需給出信息
- 轉移的目的地址
- 轉移的距離
- 短轉移 jmp short 標號
- 功能:(ip)=(ip)+八位位移
- 原理
- 註意位移的範圍,避免轉移位移超界
- 註意位移的範圍,避免轉移位移超界
- 功能:(ip)=(ip)+八位位移
- 近轉移 jmp near ptr 標號
- 相比於短轉移僅是將八位位移轉變為16位位移
- 指明瞭相對於當前IP的轉移位移
- 相比於短轉移僅是將八位位移轉變為16位位移
- 遠轉移 jmp far ptr 標號
- 指明瞭跳轉到的目的地址,即包含了標號的段地址cs和偏移地址IP
- 指明瞭跳轉到的目的地址,即包含了標號的段地址cs和偏移地址IP
- jmp 16位寄存器
- IP =(16位寄存器)
- IP =(16位寄存器)
- 轉移地址在記憶體中的jmp指令
- 轉移的目的地址
- 可以只修改IP,也可以同時修改CS和IP
- jcxz 有條件轉移指令(短轉移)
- jcxz 標號(包含轉移的位移)
- (cx)= 0,則轉移到標號處執行
- (cx)!= 0,什麼都不做
- (cx)= 0,則轉移到標號處執行
- jcxz 標號(包含轉移的位移)
- loop迴圈
- CX存放迴圈次數
- CX存放迴圈次數
- call指令和ret指令
- call 標號
- 可以跳轉到指定的位置,相當於C語言中的go語句
- 調用子程式
- call far ptr 標號
- 實現段間轉移
- 操作
- 實現段間轉移
- call 16位寄存器
- call word ptr 記憶體單元地址
- call dword ptr 記憶體單元地址
- 高地址放段地址,低地址放偏移地址
- 高地址放段地址,低地址放偏移地址
- 可以跳轉到指定的位置,相當於C語言中的go語句
- ret指令
- 與call指令相結合,在call跳轉到指定位置執行語句後,加上ret即會返回到call指令的下一條語句
- 相當於pop IP
- 也可單獨使用
- 與call指令相結合,在call跳轉到指定位置執行語句後,加上ret即會返回到call指令的下一條語句
- retf:用棧中數據修改CS和IP的內容
- 相當於pop IP pop CS
- 相當於pop IP pop CS
- mul 指令做乘法
- 被乘數同樣預設存放
- 格式
- mul 寄存器
- mul 記憶體單元
- mul 寄存器
- 乘法指令
- 被乘數同樣預設存放
- call 標號