我正在学习装配测试。测试基于32x32 LED模拟器,模拟器中的每个LED代表32位,如果位为1则打开,如果为0则打开。
用户应选择0-31之间的行。当他们从左侧开始一个接一个地将LED从开启切换到关闭时。
到目前为止,这是我的代码:
.data
row DWORD 0
y DWORD 80000000h
message BYTE 'Enter in a row',0
caption BYTE 'Welcome to CA296',0
.code
main:nop
invoke version
invoke setPattern, 7
invoke readIntegerWithMessage, ADDR message
mov row, eax
L1: invoke readRow, row
mov ecx,y
xor eax,ecx
invoke writeRow, row, eax
shr y,1
jmp L1
正如你可能猜到的那样,所有这一切只是反转这些位,以便关闭位开启而开启位变为关闭,我如何仅定位打开的LED?