欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
匯編和反匯編

之前找win匯編的時(shí)候看到了反匯編,好奇心驅使下去查了一下反匯編是什么,這里把我之前查到的給你看看看

匯編語(yǔ)言是高級語(yǔ)言轉換成機器碼的橋梁,通過(guò)匯編語(yǔ)言的編譯轉換成機器碼,計算機就可以執行程序。因為在計算機中,所有的程序都是按照機器碼執行的,所以對匯編語(yǔ)言的理解,能夠增加對底層執行的認識。

下面介紹的是匯編語(yǔ)言編譯的過(guò)程(手工的方式編譯68HC11的子例程):

LDAA(立即尋址)指令的長(cháng)度為兩個(gè)字節,操作碼是86(這個(gè)是在計算機中的機器碼,也就是說(shuō)如果計算機存儲的數據是86,就會(huì )執行LDAA操作),另一個(gè)字節是操作碼。而ADDA(立即尋址)指令的長(cháng)度也是兩個(gè)字節。操作碼是8B,在技術(shù)手冊或程序員參考手冊中查找其余的操作碼,就對得到如下的結果:

0100 86 10 LDAA #$10 ;把第一個(gè)數載入到累加器A中

0102 8B 1F ADDA #$1F ;把第二個(gè)數加到累加器A

0104 8B 0C ADDA #$0C ;把第三個(gè)數加到累加器A

0106 B7 00 27 STAA $0027 ;把累加器A的內容存到地址0x0027中

0109 39 RTS ;返回主程序

此處,做了如下的假定:程序的起始地址是0x0100,每條指令的地址都附在左左邊。注意地址的變化與指令長(cháng)度的關(guān)系。

如果我們要明確的告訴編譯器,程序的起始地址是0x0100,則可以使用org這條偽指令語(yǔ)句:

org 0x0100

org偽指令必須始終放在第一條指令的前面,用于把程序的代碼定位在特定的位置上。例如處理器芯片的ROM上。

反匯編

反匯編就是我們把一系列的機器碼轉換成改程序的助記符。如果我們拿到一份機器碼程序,而我們想要知道他的功能和工作方式,可以對機器碼進(jìn)行反匯編。

例如,我們拿到了一份68HC11機器碼程序的字節序如下:

8E 56 78 86 56 84 06 36 4C 36

首先,我們假定第一個(gè)字節為操作碼,在Motorola (或68HC11)指令集的數據手冊里,查找0x8E這個(gè)操作碼,就會(huì )發(fā)現它是LDS(load stack pointer 加載堆載指針)指令,而該指令的長(cháng)度為3個(gè)字節(一個(gè)為操作碼,另外兩個(gè)為操作數)。因此,如果第一個(gè)字節為操作碼,則其后的兩個(gè)字節為相關(guān)的數據。所以,第一條指令就是:

8E 56 78 LDS #$5678; 把0x5678載入到堆棧指針中

后面的指令操作首先要查找到機器碼對應的操作碼,再看這個(gè)操作碼有幾個(gè)字節,然后就能夠反匯編出機器碼的程序。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
單片機的指令系統和匯編語(yǔ)言程序
第4章 匯編 語(yǔ)言程序設計
程序編譯
計算機為什么能夠讀懂程序代碼?
匯編教程匯編語(yǔ)言的基礎教程學(xué)習匯編語(yǔ)言的基本概念匯編語(yǔ)言是一種
火遍童年的FC游戲是使用什么語(yǔ)言編寫(xiě)的
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久