




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、8080 匯編手冊數據傳輸指令它們在存貯器和寄存器、寄存器和輸入輸出端口之間傳送數據。 1。 通用數據傳送指令。MOV傳送字或字節。 MOVSXfe符號擴展,再傳送。 MOVZXt零擴展,再傳送。 PUSH把字壓入堆棧。POP把字彈出堆棧。PUSHA把 AX CX DX BX SP, BP, SI,DI 依次壓入堆棧。 POPA把 DI,SI,BP, SP, BX DX CX AX依次彈出堆棧。PUSHAOE EAX ECX EDX EBX ESP EBP ESI,EDI 依次壓入堆棧。 POPAD把 EDI,ESI,EBP ESP EBX EDX ECX EAX依次彈出堆棧。BSWA咬換32
2、位寄存器里字節的順序XCHG交換字或字節。(至少有一個操作數為寄存器,段寄存器不可作為操作數) CMPXCH比較并交換操作數。(第二個操作數必須為累加器AL/AX/EAX ) XADD先交換再累加。(結果在第一個操作數里) XLAT 字節查表轉換。 BX指向一張256字節的表的起點,AL為表的索引值(0-255,即 0-FFH); 返回 AL 為查表結果。 ( BX+AL-AL )2。輸入輸出端口傳送指令。IN I/O端口輸入。(語法:IN 累加器,端口號I DX) OUT I/O端口輸出。(語法:OUT 端口號I DX,累加器) 輸入輸出端口由立即方式指定時, 其范圍是 0-255; 由寄存
3、器 DX 指定時, 其范圍是 0-65535 。3。目的地址傳送指令。 LEA 裝入有效地址。 例: LEA DX, string ; 把偏移地址存到 DX。 LDS 傳送目標指針,把指針內容裝入 DS。 例: LDS SI , string ; 把段地址 : 偏移地址存到 LES 傳送目標指針,把指針內容裝入 ES。 例: LES DI , string ; 把段地址:偏移地址存到 LFS 傳送目標指針,把指針內容裝入 FS。 例: LFS DI , string ; 把段地址:偏移地址存到 LGS 傳送目標指針,把指針內容裝入 GS。 例: LGS DI , string ; 把段地址 :
4、 偏移地址存到 LSS 傳送目標指針,把指針內容裝入 SS。 例: LSS DI , string ;4。標志傳送指令。 LAHF 標志寄存器傳送, SAHF標志寄存器傳送,把段地址 : 偏移地址存到DS:SI。ES:DI。FS:DI 。GS:DI。SS:DI。把標志裝入 AH。把AH內容裝入標志寄存器。P USHF標志入棧。POPF標志出棧。PUSHD 32位標志入棧。POPD 32位標志出棧。二、算術運算指令ADD力法。ADC帶進位加法。INC 加 1。AAA 加法的 ASCII 碼調整。DAA 加法的十進制調整。SUB 減法。SBB 帶借位減法。DEC 減 1。NEC求反(以0減之)。C
5、MP比較。(兩操作數作減法,僅修改標志位,不回送結果)。 AAS 減法的 ASCII 碼調整。DAS 減法的十進制調整。 MUL無符號乘法。IMUL 整數乘法。以上兩條,結果回送AH和AL(字節運算),或DX和 AX(字運算), AAM乘法的ASCII碼調整。DIV 無符號除法。IDIV 整數除法。 以上兩條,結果回送 : 商回送AL,余數回送AH (字節運算); 或商回送AX余數回送DX (字運算)。AAD 除法的 ASCII 碼調整。CBW字節轉換為字。(把AL中字節的符號擴展到AH中去) CWD字轉換為雙字。(把AX中的字的符號擴展到DX中去) CWDE字轉換為雙字。(把AX中的字符號擴
6、展到EAX中去)CDQ雙字擴展。(把EAX中的字的符號擴展到EDX中去)三、邏輯運算指令AND與運算。OR 或運算。XOR異或運算。NOT取反。TEST 測試。 (兩操作數作與運算,僅修改標志位,不回送結果 )。 SHL 邏輯左移。SAL 算術左移。 (=SHL)SHR邏輯右移。SAR 算術右移。 (=SHR)ROL 循環左移。ROR循環右移。RCL 通過進位的循環左移。RCR通過進位的循環右移。 以上八種移位指令,其移位次數可達 255 次。 移位一次時, 可直接用操作碼。 如 SHL AX,1。 移位1次時,則由寄存器CL給出移位次數。 如 MOV CL, 04SHL AX, CL四、串指
7、令DS:SI 源串段寄存器 : 源串變址。ES:DI 目標串段寄存器 : 目標串變址。CX 重復次數計數器。AL/AX 掃描值。D標志0表示重復操作中SI和DI應自動增量;1表示應自動減量。Z標志 用來控制掃描或比較操作的結束。MOVS串傳送。(MOVSB傳送字符。MOVSV傳送字。MOVSD傳送雙字。)CMPS串比較。(CMPSB比較字符。CMPSW比較字。)SCAS串掃描。把AL或AX的內容與目標串作比較,比較結果反映在標志位。LODS裝入串。把源串中的元素(字或字節)逐一裝入AL或AX中。(LODSB傳送字符。LODSW傳送字。LODSD傳送雙字。)STOS保存串。是LODS的逆過程。R
8、EP當CX/ECXO0寸重復。REPE/REPZ當ZF=1或比較結果相等,且CX/ECXv0寸重復。REPNE/REPN當ZF=0或比較結果不相等,且CX/ECXv0寸重復。REPC當 CF=1且 CX/ECXO0寸重復。REPNC當 CF=0且 CX/ECXO0寸重復。五、程序轉移指令1無條件轉移指令 ( 長轉移 )JMP 無條件轉移指令CALL 過程調用RET/RETF過程返回。2條件轉移指令 ( 短轉移, -128 到+127的距離內 )(當且僅當(SF XOR 0F)=1時,0P1 JA/JNBE不小于或不等于時轉移。 JAE/JNB 大于或等于轉移。JB/JNAE 小于轉移。JBE/
9、JNA 小于或等于轉移。以上四條,測試無符號整數運算的結果(標志C和Z) 0JG/JNLE 大于轉移。JGE/JNL 大于或等于轉移0JL/JNGE 小于轉移0JLE/JNG 小于或等于轉移0 以上四條,測試帶符號整數運算的結果 (標志 S, 0和 Z)0JE/JZ 等于轉移0JNE/JNZ 不等于時轉移0JC 有進位時轉移0JNC 無進位時轉移0JN0 不溢出時轉移0JNP/JP0 奇偶性為奇數時轉移0JNS 符號位為 0 時轉移0J0 溢出轉移0JP/JPE 奇偶性為偶數時轉移0JS 符號位為 1 時轉移03循環控制指令 ( 短轉移 )LOOP CX不為零時循環。LOOPE/LOOPZ (
10、不為零且標志Z=1時循環。LOOPNE/LOOPNZ不為零且標志Z=0時循環。JCXZ CX為零時轉移。JECXZ EC勸零時轉移。4中斷指令INT 中斷指令INTO 溢出中斷IRET 中斷返回5處理器控制指令HLT 處理器暫停, 直到出現中斷或復位信號才繼續0WAIT當芯片引線TEST為高電平時使CPL進入等待狀態。ESC 轉換到外處理器0LOCK封鎖總線。NOP空操作。STC 置進位標志位0CLC 清進位標志位0CMC進位標志取反。STD 置方向標志位0CLD 清方向標志位0STICLI置中斷允許位。 清中斷允許位。六、偽指令DW定義字(2字節)。PROC定義過程。ENDP過程結束。SEG
11、MEN定義段。ASSUME!立段寄存器尋址。ENDS段結束。END程序結束。一.機械碼,又稱機器碼 .組成的數碼 , 這些數碼ultraedit 打開, 編輯 exe 文件時你會看到 許許多多的由 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 就是機器碼 .修改程序時必須通過修改機器碼來修改 exe 文件 .二.需要熟練掌握的全部匯編知識 (只有這么多 ) 不大容易理解 ,可先強行背住 ,混個臉兒熟,以后慢慢的就理解了 cmp a,b 比較 a 與 b mov a,b 把 b 的值送給 a ret 返回主程序nop無作用,英文“no operation ”的簡寫,意思是“ d
12、o nothing ” (機器碼90)* 機器碼的含義參看上面( 解釋 :ultraedit 打開編輯 exe 文件時你看到 90, 等同于匯編語句 nop) call 調用子程序je 或 jz 若相等則跳 ( 機器碼 74 或 0F84)jne 或 jnz 若不相等則跳 (機器碼 75或 0F85)jmp 無條件跳 ( 機器碼 EB)jb 若小于則跳 ja 若大于則跳 jg 若大于則跳 jge 若大于等于則跳 jl 若小于則跳 jle 若小于等于則跳 pop 出棧 push 壓棧 三.常見修改 (機器碼)74=75 74=90 74=EB75=74 75=90 75=EB jnz-nop75
13、-90( 相應的機器碼修改 ) jnz - jmp75 - EB( 相應的機器碼修改 ) jnz - jz75-74 ( 正常) 0F 85 - 0F 84( 特殊情況下,有時,相應的機器碼修改 )四 . 兩種不同情況的不同修改方法1. 修改為 jmpje(jne,jz,jnz)=jmp相應的機器碼EB (出錯信息向上找到的第一個跳轉)jmp的作用是絕對跳,無條件跳,從而跳過下面的出錯信息xxxxxxxxxxxx出錯信息,例如:注冊碼不對,sorry,未注冊版不能,FunctionNot Avaible in Demo 或 Command Not Avaible 或 Can't save inShareware/Demo等(我們希望把它跳過,不讓它出現) xxxxxxxxxxxx 正確路線所在2. 修改為 nopje(jne,jz,jn
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融衍生品財產抵押合同
- 汽車4S店場地租賃及三方聯營管理協議
- 高端倉儲租賃與智能化物業管理服務協議
- 車輛維修與汽車租賃一體化承包協議
- 高端餐飲企業員工職業發展合同
- 餐館加盟店開業籌備合同參考
- 展會參展商現場活動策劃及執行合同
- 高爾夫球場草坪維護與管理全面合作協議
- 拆除作業安全協議書范本
- 2025年酒店前臺工作總結
- GB/T 18981-2008射釘
- 質量管理體系認證審核活動常見問題的風險控制解決方案 試題
- 青花瓷中國風ppt
- 安全生產普法宣傳課件
- 22104銅及銅合金焊接施工工藝標準修改稿
- DB43-T 1991-2021油茶低產林改造技術規程
- 醫療器械包裝微生物屏障性能測試方法探討
- 柬埔寨各職能部門
- 項目管理之總師項目管理辦法
- TAPPI標準的代碼和內容
- 海思芯片HTOL老化測試技術規范
評論
0/150
提交評論