
汇编语言求s=1+2*3+3*4+4*5+5*6+6*7+7*8+8*9+9*10
1个回答
展开全部
data segment
d1 db 2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10
d2 db 0
data ends
code segment
assume cs:code,ds:data,es:data
start
lea si, d1
mov ax,1
mov cx, ($d2 - $d1)/2 ;(或 (offset d2 - offset d1)/2) (或 (len d1)/2)
L1:
push ax
lodsb
mul byte ptr [si]
inc si
pop bx
add ax,bx
loop L1
code ends
end start
这里面cx的长度获得,我手头没有环境,多年不玩这个了,16位和32位的宏汇编里面许多用法记不得了,大概就这几种方法吧,第二个肯定可以用的,你自己试试吧。
d1 db 2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10
d2 db 0
data ends
code segment
assume cs:code,ds:data,es:data
start
lea si, d1
mov ax,1
mov cx, ($d2 - $d1)/2 ;(或 (offset d2 - offset d1)/2) (或 (len d1)/2)
L1:
push ax
lodsb
mul byte ptr [si]
inc si
pop bx
add ax,bx
loop L1
code ends
end start
这里面cx的长度获得,我手头没有环境,多年不玩这个了,16位和32位的宏汇编里面许多用法记不得了,大概就这几种方法吧,第二个肯定可以用的,你自己试试吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |