匯編語言超濃縮教程

匯編語言超濃縮教程

ID:12820536

大?。?4.00 KB

頁數(shù):21頁

時間:2018-07-19

匯編語言超濃縮教程_第1頁
匯編語言超濃縮教程_第2頁
匯編語言超濃縮教程_第3頁
匯編語言超濃縮教程_第4頁
匯編語言超濃縮教程_第5頁
資源描述:

《匯編語言超濃縮教程》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫

1、匯編語言超濃縮教程80x86匯編小站http://www.x86asm.com80x86匯編小站http://www.x86asm.com游客»找回密碼

2、注冊

3、登陸

4、論壇

5、給我留言

6、站長博客首頁/匯編教程/匯編語言超濃縮教程系統(tǒng)統(tǒng)計收錄文章:85注冊用戶:1當前在線:5最高在線:367峰值:2005-2-168:19技術文章匯編原創(chuàng)匯編教程匯編源碼其它文章程序人生藍色日記人與程序我的Linux天地關于站長下載專區(qū)匯編工具電子書籍四處尋寶顯示文章Subject:匯編語言超濃縮教程Editor:adminTime:2004-3-2020:6Read:19155Score:8

7、PrintPreface:“哎喲,哥們兒,還搗鼓匯編呢......Content:“哎喲,哥們兒,還搗鼓匯編呢?那東西沒用,兄弟用VB"釣"一個API就夠你忙活個十天半月的,還不一定搞出來?!贝司缘挂膊惶?,那吾等還有無必要研他一究呢?(廢話,當然有啦!要不然你寫這篇文章干嘛。)別急,別急,讓我把這個中原委慢慢道來:一、所有電腦語言寫出的程序運行時在內(nèi)存中都以機器碼方式存儲,機器碼可以被比較準確的翻譯成匯編語言,這是因為匯編語言兼容性最好,故幾乎所有跟蹤、調(diào)試工具(包括WIN95/98下)都是以匯編示人的,如果閣下對CRACK頗感興趣……;二、匯編直接與硬件打交道,如果你想搞通程

8、序在執(zhí)行時在電腦中的來龍去脈,也就是搞清電腦每個組成部分究竟在干什么、究竟怎么干?一個真正的硬件發(fā)燒友,不懂這些可不行。三、如今玩DOS的多是“高手”,如能像吾一樣混入(我不是高手)“高手”內(nèi)部,不僅可以從“高手”朋友那兒套些黑客級“機密”,還可以自詡“高手”盡情享受強烈的虛榮感--#$%&“醒醒!”  對初學者而言,匯編的許多命令太復雜,往往學習很長時間也寫不出一個漂漂亮亮的程序,以致妨礙了我們學習匯編的興趣,不少人就此放棄。所以我個人看法學匯編,不一定要寫程序,寫程序確實不是匯編的強項,大家不妨玩玩DEBUG,有時CRACK出一個小軟件比完成一個程序更有成就感(就像學電腦先玩游

9、戲一樣)。某些高深的指令事實上只對有經(jīng)驗的匯編程序員有用,對我們而言,太過高深了。為了使學習匯編語言有個好的開始,你必須要先排除那些華麗復雜的命令,將注意力集中在最重要的幾個指令上(CMPLOOPMOVJNZ……)。但是想在啰里吧嗦的教科書中完成上述目標,談何容易,所以本人整理了這篇超濃縮(用WINZIP、WINRAR…依次壓迫,嘿嘿!)教程。大言不慚的說,看通本文,你完全可以“不經(jīng)意”間在前輩或是后生賣弄一下DEBUG,很有成就感的,試試看!那么――這個接下來呢?――Herewego!(閱讀時看不懂不要緊,下文必有分解)  因為匯編是通過CPU和內(nèi)存跟硬件對話的,所以我們不得不先

10、了解一下CPU和內(nèi)存:(關于數(shù)的進制問題在此不提)  CPU是可以執(zhí)行電腦所有算術╱邏輯運算與基本I/O控制功能的一塊芯片。一種匯編語言只能用于特定的CPU。也就是說,不同的CPU其匯編語言的指令語法亦不相同。個人電腦由1981年推出至今,其CPU發(fā)展過程為:8086→80286→80386→80486→PENTIUM→……,還有AMD、CYRIX等旁支。后面兼容前面CPU的功能,只不過多了些指令(如多能奔騰的MMX指令集)、增大了寄存器(如386的32位EAX)、增多了寄存器(如486的FS)。為確保匯編程序可以適用于各種機型,所以推薦使用8086匯編語言,其兼容性最佳。本文所提

11、均為8086匯編語言。寄存器(Register)是CPU內(nèi)部的元件,所以在寄存器之間的數(shù)據(jù)傳送非???。用途:1.可將寄存器內(nèi)的數(shù)據(jù)執(zhí)行算術及邏輯運算。2.存于寄存器內(nèi)的地址可用來指向內(nèi)存的某個位置,即尋址。3.可以用來讀寫數(shù)據(jù)到電腦的周邊設備。8086有8個8位數(shù)據(jù)寄存器,這些8位寄存器可分別組成16位寄存器:AH&AL=AX:累加寄存器,常用于運算;BH&BL=BX:基址寄存器,常用于地址索引;CH&CL=CX:計數(shù)寄存器,常用于計數(shù);DH&DL=DX:數(shù)據(jù)寄存器,常用于數(shù)據(jù)傳遞。為了運用所有的內(nèi)存空間,8086設定了四個段寄存器,專門用來保存段地址:CS(CodeSegment

12、):代碼段寄存器;DS(DataSegment):數(shù)據(jù)段寄存器;SS(StackSegment):堆棧段寄存器;ES(ExtraSegment):附加段寄存器。當一個程序要執(zhí)行時,就要決定程序代碼、數(shù)據(jù)和堆棧各要用到內(nèi)存的哪些位置,通過設定段寄存器CS,DS,SS來指向這些起始位置。通常是將DS固定,而根據(jù)需要修改CS。所以,程序可以在可尋址空間小于64K的情況下被寫成任意大小。所以,程序和其數(shù)據(jù)組合起來的大小,限制在DS所指的64K內(nèi),這就是COM文件不得大于64K

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。