主题:问一个很基础的问题
假如有100个16位无符号数存放从1234:5678h开始的内存中,现需要要求他们的和,设把32位的和保存在dx(高位)和ax寄存器中。
书上给出了这一段汇编代码,我有些地方不明白,所以想问问
mov ax,1234h
mov ds,ax
mov si,5678h
mov ax,0 ;这里为什么要把ax置0?
mov dx,ax ;这里为什么又要把ax传给dx???
mov cx,100
next:add ax,[si] ;ax不是0吗?这里是求100个内存单元的和?
adc,dx,0 ;那这里为什么又要把0给dx?
inc si ;下面为什么要用两次inc???
inc si
dec cx
jnz next
书上给出了这一段汇编代码,我有些地方不明白,所以想问问
mov ax,1234h
mov ds,ax
mov si,5678h
mov ax,0 ;这里为什么要把ax置0?
mov dx,ax ;这里为什么又要把ax传给dx???
mov cx,100
next:add ax,[si] ;ax不是0吗?这里是求100个内存单元的和?
adc,dx,0 ;那这里为什么又要把0给dx?
inc si ;下面为什么要用两次inc???
inc si
dec cx
jnz next