. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->标志寄存器
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  书上的221页的例子为什么要inc si后又inc si,这两行都不明白,求高手帮忙解释下,谢谢了!  [待解决] 回复[ 9次 ]   点击[ 719次 ]  
yc2010
[帖 主]   [ 发表时间:2010-06-16 20:35 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-03-03 23:27
add128:
push ax
push cx
push si
push di
sub ax,ax
mov cx,8
s:mov ax,[si]
  abc ax,[di]
  mov [si],ax
  inc si           
  inc si      --------- 这里不明白  !  
  inc di
  inc di      --------- 这里不明白  !
loop s
pop di
pop si
pop cx
pop ax
ret
scuzg
[第1楼]   [ 回复时间:2010-06-17 16:00 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
inc si使si的内容增一,这个楼主知道哈?
而指令:
        mov ax,[si]
是将si所指字节的内容和si+1所指字节的内容合并成一个字和ax相加,处理下一个字时,si就必须做两次加一。
如果还不明白用QQ联系我:28926141
avalon
[第2楼]   [ 回复时间:2010-07-27 12:14 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:18
注册日期:2010-06-30 09:38
两次inc比add si,2更快更省点好像是:)
leparkour
[第3楼]   [ 回复时间:2010-08-09 09:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-03 16:36
inc指令不改变标志寄存器
752052871
[第4楼]   [ 回复时间:2010-10-25 19:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-16 19:16
三楼肯定吗?因为书中没有明确写入。。。。求回答
scuzg
[第5楼]   [ 回复时间:2010-10-28 21:15 ]   [引用]   [回复]   [ top ] 
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46
只是不影响进位位标志CF哈!
cxpbl
[第6楼]   [ 回复时间:2010-11-13 10:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-09-16 18:13
同意楼上的说法,用INC不影响标志位,如果换了ADD的话标志位就改变了,数据就不正确了!
caizlha
[第7楼]   [ 回复时间:2010-12-25 10:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-26 16:20
书上明确说明INC对CF影响
support
[第8楼]   [ 回复时间:2013-05-07 16:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-04-13 11:19
这样 不会影响标志位.
dwx256
[第9楼]   [ 回复时间:2013-10-12 11:10 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-09-10 22:44
指令系统设计人员考虑该指令主要用于对指针(即地址)进行增加,不存在进位问题,所以没有设计让INC影响进位标志CF。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved