不確定長度編碼
0x88
mov eb,gb
0x89
mov ev,gv
0x8a
mov gb,eb
0x8b
mov gv,ev
最短是2個位元組,gb代表通用單位元組暫存器(al到bh)
gv代表通用雙/四位元組暫存器
eb/ev代表記憶體位址或暫存器
8800
0000
0000
00(mod) 000(opcode/reg) 000(r/m)
00 (00
0111
10)000(硬編碼或暫存器:8個暫存器 000~111)
000(r/m 暫存器或記憶體單元)
0x88
00000
0000x00
mov byte ptr ds:[eax],al
00000
0010x01
mov byte ptr ds:[ecx],al
00000
0100x02
mov byte ptr ds:[edx],al
00000
0110x03
mov byte ptr ds:[ebx],al
-------沒按要求給出 下
00000
1000x04
mov byte ptr ds:[esp],al
00000
1010x05
mov byte ptr ds:[ebp],al
100101 這兩個數要做特殊處理
--------沒按要求給出 上
00000
1100x06
mov byte ptr ds:[esi],al
00000
1110x07
mov byte ptr ds:[edi],al
00001
0000x08
mov byte ptr ds:[eax],cl
00010
0000x10
mov byte ptr ds:[eax],dl
例題:0x88
0x23
23= 0010
0011
00100
011mov byte ptr ds:[ebx],ah
0000 al
1001 cl
2010 dl
3011 bl
4100 ah
5101 ch
6110 dh
7111 bh
01100
0110x63
mov byte ptr ds:[ebx+3c],ah 加乙個位元組
10100
0110xa3
mov byte ptr ds:[ebx+12345678],ah 加四個位元組
11100
0110xe3
mov bl,ah 兩個暫存器
硬編碼 and 軟編碼
硬編碼 什麼是 硬編碼 硬 顧名思義,就是死板,一次性的意思。其定義也就是 將可變變數用乙個固定數值表示 這種方式在編碼的過程中會導致變數很難修改。因此通常採用的方式都是軟編碼的方式,軟編碼 通過乙個標記取代變數名稱,而這個標記的值是可以不斷變化的。但標記名稱卻是不變的,從而實現了 以不變應萬變 硬...
硬編碼和軟編碼
1 電腦科學中bai,只有硬編碼 hardcode 以及非硬編碼,有人也成為 軟編碼 2 硬編碼和軟dao編碼的區別是 軟編碼可以在執行時確定,修改 而硬編碼是不能夠改變的。所有的硬編碼和軟編碼的區別都可以有這個意思擴充套件開。3 在電腦程式或文字編輯中,硬編碼是指將可變變數用乙個固定值來代替的方法...
Android 硬編碼設定TextView字型大小
使用如下 時,發現字型大小不會變大,反而會變小 size int mtext.gettextsize 1 mtext.settextsize size 後來發現gettextsize返回值是以畫素 px 為單位的,而settextsize 是以sp為單位的,兩者單位不一致才造成這樣的結果。這裡可以用...