. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  标志位CF和OF如何判断?  [待解决] 回复[ 1次 ]   点击[ 356次 ]  
qrtboy06
[帖 主]   [ 发表时间:2008-06-19 12:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-06-19 11:52
书上说:只有0对求补时cf=0,其他情况下cf=1?
 inc加指令只有当对7fh或7fffh加1时of=1?
 dec减指令只有当对80h或8000h减1时of=1?
 inc,dec为何对cf无影响?
  能不能举几个具体的例子,判断这两个标志位?
lwbfq
[第1楼]   [ 回复时间:2008-06-19 14:27 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:0
注册日期:2008-01-19 13:58
第二、三、四个都能通过程序验证出来,至于第一个,描述的不太清楚,所以不是很理解。
看《汇编语言》223页中关于标志寄存器在Debug中的表示,进入Debug,对照书中的开始介绍的值所对应的标志位,就能很清楚的看出一条语句执行后CF、OF标志位的变化。
举例子很简单:
 assume cs:code
 code segment
 mov al,0ffh
 inc al
 mov ax,4c00h
 int 21h
 code ends
 end
执行完inc al后就可以查看右下角对应的CF以及OF标志位的值的具体变化。
至于楼主要问为什么会是这样,个人感觉有点钻牛角尖的意思,因为CPU当初就是这么设计的,至于为什么要这么设计,就与汇编的学习不太相关了。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved