cbw、cwde、cdq、cwd: 擴充套件指令
;cbw
(convert
byte
to word
): 將
al 擴充套件為
ax;cwde(convert word to extended double): 將 ax 擴充套件為 eax
;cdq(convert doubleword to quadword): 將 eax 擴充套件為 64 位數 edx:eax
;cwd(convert word to doubleword): 將 ax 擴充套件為 dx:ax
;它們都是用符號位填充多出的空間
;它們對 eflags 無影響, 也無引數
; test25_1.asm
.386
.model
flat
, stdcall
include
windows.inc
include
kernel32.inc
include
masm32.inc
include
debug.inc
includelib
kernel32.lib
includelib
masm32.lib
includelib
debug.lib
.code
main
proc
;cbw
mov
al,
7fh
cbw printhex
ax;007f
mov
al,
80h
cbw printhex
ax;ff80
;cwde
mov
ax,
7fffh
cwde
printhex
eax;00007fff
mov
ax,
8000h
cwde
printhex
eax;ffff8000
;cdq
mov
eax,
7fffffffh
cdq printhex
edx;00000000
printhex
eax;7fffffff
mov
eax,
80000000h
cdq printhex
edx;ffffffff
printhex
eax;80000000
;cwd
mov
ax,
7fffh
cwd printhex
dx;0000
printhex
ax;7fff
mov
ax,
8000h
cwd printhex
dx;ffff
printhex
ax;8000
retmain
endp
end main
符號擴充套件指令的本質
;乙個正數(無符號)或負數(有符號)在擴充套件儲存空間時, 使用這些指令可保證原值不變
; test25_2.asm
.386
.model
flat
, stdcall
include
windows.inc
include
kernel32.inc
include
masm32.inc
include
debug.inc
includelib
kernel32.lib
includelib
masm32.lib
includelib
debug.lib
.code
main
proc
mov
al,
68
cbw printhex
ax;0044
printdec
ax;68
mov
al, -
68
cbw printhex
ax;ffbc
printdec
ax;-68
retmain
endp
end main
cbw、cwde 和 movsx 的關係
; test25_3.asm
.386
.model
flat
, stdcall
include
windows.inc
include
kernel32.inc
include
masm32.inc
include
debug.inc
includelib
kernel32.lib
includelib
masm32.lib
includelib
debug.lib
.code
main
proc
;cbw 等價於 movsx ax, al
mov
al,
80h
cbw printhex
ax;ff80
mov
al,
80h
movsx ax
, al
printhex
ax;ff80
;cwde 等價於 movsx eax, ax
mov
ax,
8000h
cwde
printhex
eax;ffff8000
mov
ax,
8000h
movsx
eax, ax
printhex
eax;ffff8000
retmain
endp
end main
CBW CWDE CDQ CWD 擴充套件指令
cdq 是乙個讓很多人感到困惑的指令。這個指令把 eax 的第 31 bit 複製到 edx 的每乙個 bit 上。它大多出現在除法運算之前。它實際的作用只是把edx的所有位都設成eax最高位的值。也就是說,當eax 80000000,edx 為00000000 當eax 80000000,edx ...
php uuid 擴充套件,PHP 擴充套件
編譯安裝時候沒有啟用下面擴充套件的,可以單獨安裝 php關鍵性擴充套件安裝 www lanmps 假設 套件 安裝目錄 www lanmps php 7.0.11 假設 php 安裝目錄 1.fileinfo 擴充套件 它應用於檔案處理的改進 進入套件解壓縮後目錄 假設套件目錄為 root lanm...
位擴充套件和字擴充套件
字位擴充套件 儲存資訊一般是儲存在儲存器 rom ram 上的 在實際應用中,經常出現一片rom或ram晶元不能滿足對儲存器容量需求的情況,這就需要用若干片rom或ram組合起來 形成乙個儲存容量更大的儲存器。而組合方式有子擴充套件和位擴充套件兩種。字擴充套件用多片位寬相同的儲存器 rom或ram ...