. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  我有一个很菜鸟的问题。大大们别见笑  [待解决] 回复[ 1次 ]   点击[ 320次 ]  
y2kfdjk
[帖 主]   [ 发表时间:2010-12-04 22:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-12-04 22:17
我在学习标志寄存器的一些基本知识时,做一个习题。
习题里提到

例如:3AH + 7CH=B6H

最高位D7=1,SF=1 (如果:84H+7CH=(1)00H,最高位D7=0,SF=0) 


这里的掉到最高位D7是什么意思?D7是一个固定名称?最高位就是D7.还是依椐什么由来的?
请大大们帮我解答下。。
zaixuexi
[第1楼]   [ 回复时间:2010-12-05 10:05 ]   [引用]   [回复]   [ top ] 
荣誉值:93
信誉值:0
注册日期:2010-11-29 14:28
对于8位的有符号数据来说,转成二进制看
D0最低,D7最高[最高位表示符号位],表示范围从-128~+127
相应16位=D0~D15
再如32位=D0~D31
没什么依据,就是人家定的

84h+7ch=
 10000100
+01111100
----------------
100000000
D6->D7有进位,D7->外有进位
所以D7=0,SF=0,OF=0
3ah+7Ch=
 00111010
+01111100
----------------
 10110110
D6->D7有进位,D7->外无进位
所以D7=1,SF=1,OF=1

如果你对计算标志寄存器不熟练,可以在DEBUG下查看
a 0100
-cs:0100 mov al,3ah
         mov bl,7ch
         add al,bl

-t看标志寄存器的变化
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved