
在线等,急急急。。汇编关于串指令中SI的用法。请各位大侠帮帮忙啊。明天要考试了。
datasegmentstr1db'ABCDEFGHIJKL'COUNTEQU$-STR1bufdbCOUNTdup(?)dataendscodesegmentassum...
data segment
str1 db 'ABCDEFGHIJKL'
COUNT EQU $-STR1
buf db COUNT dup(?)
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea si,str1+11
lea di,buf
mov cx,count
cld
lop:
movsb
sub si,2
loop lop
mov ah,4ch
int 21h
code ends
end start
为什么是si-2而不是si-1。。。 展开
str1 db 'ABCDEFGHIJKL'
COUNT EQU $-STR1
buf db COUNT dup(?)
data ends
code segment
assume cs:code,ds:data,es:data
start:
mov ax,data
mov ds,ax
mov es,ax
lea si,str1+11
lea di,buf
mov cx,count
cld
lop:
movsb
sub si,2
loop lop
mov ah,4ch
int 21h
code ends
end start
为什么是si-2而不是si-1。。。 展开
展开全部
cld,是将df置零,地址是递增的,movsb指令执行完之后,si,di都自动加一(df=1,时减1),因为si指向的是str1最后一个字符,是从后往前减,因为movsb指令让si加1了,所以要实现减1,就得减上2(我认为lea si,str1+11,应为lea si,str1+10,这样si才指向str1中的最后一个字符L)
明白否?
祝你考试顺利
明白否?
祝你考试顺利

2025-07-02 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准...
点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询