汇编语言进位与借位的问题. 你这里混淆了两个概念,无符号数和有符号数.如果你希望得到2-3=-1,那么你应该认为2和-3都是有符号数,既然是有符号数,是否产生借位要看OF标志位,即溢出标志位;如果你认为2和-3的补码对应的无符号数253都是无符号数,那么它们之和为255,没有产生进位.所以,当你判断有符号数的时候,不应该看CF来判断是否有借位.不管怎样,机器中的运算是00000010+11111101,结果为11111111,CF为0,OF为1.
书上说CF记录运算时从最高有效位产生的进位值或借位值。当最高有效位有进位或借位时CF=1。 在DEBUG中输入并运行如下程序(数值无H后缀,默认为16进制数)MOV DX,3219MOV AX,2345SUB AX,DXINT 3运行结果,显示相应标志为CY,即CF=1,有借位。
标志位CF是什么意思 标志位CF是进位状态标抄志位,用来反映运算结果是2113否产生进位5261或者是借位。如果运算结4102果的最高位(字操作的15位和字1653节操作的第7位)产生一个进位(减法),则CF置1,否则CF清零,另外CF在循环移位/移位类指令中用来保存从最高位或最低位移出的0或1。扩展资料:CPU设置了一个16位的标志寄存器,用来反映微处理器的当前状态和某些控制,标志寄存器中有9个标志位,分为两大类:状态标志(CF,PF,AF,ZF,SF,OF)和控制标志(TF,IF,DF)。状态标志由CPU根据运算结果自动设置,用来反映CPU的执行单元EU执行算术运算或逻辑运算后的结果特征,这些特征常用来影响或者是控制某些后续指令的执行,控制标志由系统程序或者用户程序用指令来设置或者是清除,用来控制CPU的某些操作。