2014-11-23 32 views
0
 Mov DL, [1000H] 

這是代碼,我怎麼也找不到寫操作碼操作碼從內存轉移登記

這是從內存轉移到註冊並使用MOV關鍵字,這樣

我看着指令集

,我發現 「100010 DW OO RRR MMM DISP」

所以我做了操作碼格式 「100010 11 OO 010 MMM DISP」

我不能決定「OO」和「嗯」一部分

我所知,我們寫一個註冊碼到MMM一部分,這裏沒有寄存器。

我應該給「oo」和「mmm」部分寫什麼?

+0

請提供一個鏈接到你所使用的指令集。通常有一個單獨的部分解釋如何編碼'r/m'。但實際上,實際的答案是使用匯編程序。手工組裝代碼是一個有趣的練習,但它不實用,因爲它很容易出錯,很耗時,並且在您更改代碼時需要重複:正是計算機擅長的那類事情。這個程序被稱爲彙編程序。 – 2014-11-23 15:21:53

回答

0
mov dl,[1000h] ; -> 100010 11 oo 010 mmm disp 

您的操作碼編碼錯誤地尋址DX寄存器。 正確的編碼是10001010b,0001_0110b,0000_0000b,0001_0000b
所以MOD字段是00B和R/M字段爲110B