|
主题 : : 书上的221页的例子为什么要inc si后又inc si,这两行都不明白,求高手帮忙解释下,谢谢了! [待解决] |
回复[ 9次 ]
点击[ 719次 ] | |
|
|
|
|
[帖 主]
[ 发表时间: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 | | |
|
|
|
|
[第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 | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-07-27 12:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:18
注册日期:2010-06-30 09:38 |
|
|
|
|
|
[第3楼]
[ 回复时间:2010-08-09 09:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-08-03 16:36 |
|
|
|
|
|
[第4楼]
[ 回复时间:2010-10-25 19:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-16 19:16 |
|
|
|
|
|
[第5楼]
[ 回复时间:2010-10-28 21:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:307
信誉值:0
注册日期:2009-03-15 23:46 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-11-13 10:20 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-09-16 18:13 |
同意楼上的说法,用INC不影响标志位,如果换了ADD的话标志位就改变了,数据就不正确了! | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-12-25 10:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-26 16:20 |
|
|
|
|
|
[第8楼]
[ 回复时间:2013-05-07 16:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-04-13 11:19 |
|
|
|
|
|
[第9楼]
[ 回复时间:2013-10-12 11:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-09-10 22:44 |
指令系统设计人员考虑该指令主要用于对指针(即地址)进行增加,不存在进位问题,所以没有设计让INC影响进位标志CF。 | | |