请把1+2-3+4-5+6-7+……-99+100 的和与差分开存放 !!用汇编实现,这个问题,要用汇编实现,无奈自己汇编不懂。特来请教,如果能把答案解释一下,不胜感激。
------解决方案--------------------------------------------------------
正数结果在eax,负数结果在ebx
mov eax,1
add eax,2
mov ebx,0
mov ecx,2
next:
cmp ecx,100
jz end
inc ecx
neg ecx
add ebx,ecx ; 加负数
neg ecx
inc ecx
add eax,ecx ; 加正数
jmp next
end:
------解决方案--------------------------------------------------------
mov [local.1],0 //初始化相加和的变量 和
mov [local.2],0 //初始化相减和的变量 差
mov [local.3],1 //从1开始到100
jmp short s1 //跳到s1
again:
mov eax,[local.3] //从1开始
add eax,1
mov [local.3],eax
s1:
cmp [local.3],65 //大于等于101跳出循环
jge short s2 //这里跳
mov ecx,[local.1]
add ecx,[local.3] //和
mov [local.1],ecx
mov edx,[local.2]
sub edx,[local.3] //差
mov [local.2],edx
jmp short again //运算下一个数
s2:
....
....
....
------解决方案--------------------------------------------------------
1楼正解,不过用Loop循环会更好看一些。