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

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

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

開(kāi)通VIP
匯編指令與機器碼的相互轉換--中原教程網(wǎng)
匯編指令與機器碼的相互轉換

作者:HSLY   時(shí)間:2005-4-29 來(lái)自:unknown 閱讀: 125
機器語(yǔ)言我們只要重點(diǎn)理解一下幾個(gè)概念:

1. 機器語(yǔ)言指令有操作碼(OP)和地址碼兩部分組成


|_____________OP_______________|__d__|__w__|

|_____________OP_______________|__s__|__w__| <--此格式用于立即尋址方式

在多數操作碼中,常使用某些位來(lái)指示某些信息:
如圖上結構里的: w=1 時(shí) 對字來(lái)操作
w=0 時(shí) 對字節來(lái)操作

d值在雙操作數指令中才有效
當 d=1 時(shí) 有且只有一個(gè)寄存器用于目的操作數
d=0 時(shí) 有且只有一個(gè)寄存器用于源操作數

s=1 時(shí) 立即數為8位,但要求擴展成16位數
s=0 時(shí) 當指令作字節操作/有16位立即數

由于匯編的指令格式很多,這里我只作一些基本情況介紹,必要時(shí)讀者可以下載/查閱80x86匯編小站http://www.x86asm.com提供的OPCODES手冊來(lái)查閱。

2. 尋址方式的機器語(yǔ)言表示:

| mod | reg | r/m |
|_____|_____|_____|_____|_____|_____|_____|

reg 表示寄存器方式,在不包括立即數的雙操作數指令的情況下,規定必須有一個(gè)操作數在寄存器中,該寄存器由reg字段指定,并與操作碼字節中的w位相組合確定的寄存器

mod字段與r/m(register/memory)字段結合在一起確定另一個(gè)操作數的尋址方式現在你們下載了80x86匯編小站(http://www.x86asm.com)提供的OPCODES 手冊了嗎?
下載好了,請解壓后打開(kāi)里面的:opcodes.html 文件,然后熟悉里面的表格:

現在熟悉簡(jiǎn)單的:
______________________________________________________________________________
表1 <PS:部分資料> rrr : W=0 : W=1 : reg32

000 : AL : AX : EAX

001 : CL : CX : ECX

010 : DL : DX : EDX

011 : BL : BX : EBX

100 : AH : SP : ESP

101 : CH : BP : EBP

110 : DH : SI : ESI

111 : BH : DI : EDI
______________________________________________________________________________
表2 <PS:部分資料> rrr : Index Register
000 : EAX

001 : ECX

010 : EDX

011 : EBX

100 : No Index

101 : EBP

110 : ESI

111 : EDI
______________________________________________________________________________
表3 <PS:部分資料> mmm : Function 11
w=1
000 : DS:[BX+SI]

001 : DS:[BX+DI]

010 : SS:[BP+SI]

011 : SS:[BP+DI] BX

100 : DS:[SI]

101 : DS:[DI]

110 : SS:[BP]

111 : DS:[BX]
______________________________________________________________________________
表4 <PS:部分資料>
oo : Function

00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used

01 : An 8-bit signed displacement follows the opcode

10 : A 16-bit signed displacement follows the opcode

11 : mmm specifies a register, instead of an addressing mode
______________________________________________________________________________
上面的表,你都看明白了嗎? 現在我就教你們如何利用這樣的表格來(lái)把匯編指令翻譯機器碼

3.指令格式簡(jiǎn)介

8086所用的16位指令格式:

________ _____________ ________ ________
|操作碼| + |mod-reg-r/m| + |位移量| + |立即數|
1~2字節 0~1字節 0~2字節 0~2字節

OK!以上就是基本知識,下面我們來(lái)實(shí)踐吧:

———————————————————————————————————————
問(wèn)題:

MOV AX,1234H 對應的機器碼為:B83412

MOV EBX,0 對應的機器碼為:66BB00000000

MOV CL,55H 對應的機器碼為: B155

MOV AX,BX 對應的機器碼為:8BC3

我在問(wèn)一下,機器碼的數據格式是什么? 好像是 機器指令+操作數(高位存放在地址高位,低位存放在地址低位),但是前面MOV AX,怎么就變成了B8,弄不明白,請指教。

PS: 上面的題目是一個(gè)網(wǎng)友問(wèn)的,現在我來(lái)實(shí)踐一遍給你們看。
———————————————————————————————————————

指令1 -> MOV AX,1234H 對應的機器碼為:B83412

解法: 判斷-> 這個(gè)是8086匯編16位匯編指令格式,并且是立即尋址方式
查表-> 打開(kāi)opcodes.html文件,找到標題為“Main Instructions”,單擊“M”字母,然后對應查看 “MOV Reg,Imm”格式的“OpCode”項為:1011wrrr
再判斷-> 由于寄存器是AX, 立即數是1234H,明顯是“對字操作”,所以w=1
在查看本文章上面的“表1”,對應的查到rrr的值為000
組合結果-> w=1
rrr=000
1011wrrr=1011 1000B ->B8H
根據“ 3.指令格式簡(jiǎn)介” -> B8H + |立即數(低位在前高位在后)|= B83412H

PS: "+" 符號不為“加號”

好了,已經(jīng)解完第一題了,機器碼為 B83412H

———————————————————————————————————————

指令4 -> MOV AX,BX 對應的機器碼為:8BC3

解法: 判斷-> 這個(gè)是8086匯編16位匯編指令格式,并且是寄存器尋址方式
查表-> 打開(kāi)opcodes.html文件,找到標題為“Main Instructions”,單擊“M

”字母,然后對應查看 “MOV Reg,Reg”格式的“OpCode”項為:1000101woorrrmmm
再判斷-> 由于寄存器是AX, BX 明顯是“對字操作”,所以w=1
在查看本文章上面的“表4”,對應查到oo=11 因為是寄存器尋址方式
在查看本文章上面的“表1”,對應查到rrr的值為000 ,因為當兩個(gè)操

作數都是寄存器,那么一般要以目的操作數為準
在查看本文章上面的“表3”, 對應查到mmm的值為011 ,因為當兩個(gè)操作數都是寄存器,那么一般要以源操作數為準
組合結果-> w=1
oo=11
rrr=000
mmm=011
1000101woorrrmmm=1000 1011 1100 0011B ->8BC3H

好了,已經(jīng)解完第二題了,機器碼為8BC3H
———————————————————————————————————————

呵呵,不錯吧,很簡(jiǎn)單吧,有了80X86 OPCODES 查詢(xún)表一切都是那么簡(jiǎn)單,如果還有什么問(wèn)題,大家都來(lái)這里提問(wèn)!

剩下的:

指令2 -> MOV EBX,0 對應的機器碼為:66BB00000000

指令3 -> MOV CL,55H 對應的機器碼為: B155

大家來(lái)練練手,注意指令2 需要用到32位指令格式,請查閱相關(guān)的80x86匯編語(yǔ)言書(shū)籍的機器語(yǔ)言部分,應該有解釋的。

指令2的解法,請大家等待,或者大家研究一下,把解法貼出來(lái),給大家參考哦!

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
第6章 動(dòng)手操作-DEBUG的使用2(X86匯編教程)
深入系統底層
8課:單片機尋址方式與指令系統
lea指令與mov指令
匯編基礎知識
計算機原理學(xué)習(3)--內存工作原理
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

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