Advertisement

BT、BTS、BTR、BTC: 测试指令

阅读量:

BT、BTS、BTR、BTC: 位测试指令

;BT(Bit Test): 检测二进制状态
;BTS(Bit Test and Set): 实现状态读取与设置
;BTR(Bit Test and Reset): 进行状态读取与复原
;BTC(Bit Test and Complement): 完成状态读取与反转

;它们的结果影响 CF
;它们的指令格式相同:
BT r16/r32/m16/m32, r16/r32/m16/m32
BT r16/r32/m16/m32, i8

; Test23_1.asm
.386
.model flat, stdcall

请包含以下文件:window.inc, kernel_32.inf, masm_32.inf, debug.inf.

.code
main proc
; 检查 1OOOOOOlb 的第七位是否正确并将其传输至 CF 寄存器的结果为 (此处需确认该位设置是否正确)
mov dx, OOOOOOlb ; 将 OOOOOOlb 转移到 dx 寄存器中进行检测运算
bt dx,7 ; 执行与第七位置相关的测试运算
lahf ; 加载堆栈框标志位(AH)
PrintHex ah ; 确定 OOOOOOlb 第七位置的值后得到的结果为:47 - OOOO Olb(CF=I)
; 检查

全部评论 (0)

还没有任何评论哟~