是否可以编写一个指令序列,在地址 B3 的存储单元的最低有效位中放置 1 而不会干扰存储单元中的其他位?
我指的机器指令是 STOP、ADD、SWITCH、STOP、LOAD、ROTATE 等。
是否可以编写一个指令序列,在地址 B3 的存储单元的最低有效位中放置 1 而不会干扰存储单元中的其他位?
我指的机器指令是 STOP、ADD、SWITCH、STOP、LOAD、ROTATE 等。
澄清:这个问题最初被标记为 C#;因为不是 OP 重新标记了它,所以我将把它留在这里,直到 OP 的意图更清楚为止。
C# 是一种高级编程语言,它编译为 IL,而不是机器代码。因此:不,绝对没有支持的机制来执行特定的机器代码操作(即使有,它也不可能在语言之间移植)。
您可以使用基于整数的类型的运算符进行高级位操作;如果你真的想要你可以编写 IL,要么手动构建它(ilasm),要么在运行时通过DynamicMethod
/ ILGenerator
- 但这些仍然只处理 CIL 操作码,而不是机器代码。
我认为用 1 对它进行 ORing 就可以了,不是吗:
算法:
字节 = [0xB3 处的数据]
字节 = 字节 | 0x01
这适用于我为 8051 MCU 开发。