【发布时间】:2015-11-18 18:39:45
【问题描述】:
我目前正在创建一个将十进制转换为二进制的程序。我目前正在使用 shift 方法来获取 0 和 1。
我查看了导致使用 LAHF 和 PUSHF 访问标志并设置它的其他线程;但是,我要做的就是获取进位标志的当前值并将其存储到寄存器中(即:当前位置的 1 或 0),稍后将被复制到数组中。由于我对 LAFH 或 PUSHF 不太熟悉,所以我想知道您是否可以使用 LAFH 或 PUSHF 完成我上面要求的相同任务。
例如,我想将当前的 CF 移动到 eax 中:mov edx,cf(我知道这不起作用,但我正在寻找类似的东西)。在我复制了 1 或 0 之后,我会将它移动到从 C++ 程序传递的数组中。
【问题讨论】:
-
整数已经是二进制的。 “将整数转换为二进制”是指将二进制整数转换为 base-2 ASCII 表示形式吗?
-
使用
setc指令。例如,setc dl -
@RossRidge 抱歉,我的意思是将十进制值转换为二进制。 (以 10 为基数到以 2 为基数的表示)
标签: assembly x86 flags carryflag eflags