汇编初学者求助

Sergio_ly Sergio_ly 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
本人学校里初学汇编,遇到以下问题,不能发现代码错误,对debug功能还不是太熟悉。。。。

;分类统计字数组data中正数、负数和零的个数,
;并分别存入内存字变量Positive、Negative、Zero中,
;数组元素个数保存在其第一个字中,
;使用Debug查看Positive、Negative、Zero三个变量的数据
;13,-413,21,0,23,785,324,43,53,-34,23,0,0,-873
datarea segment
data dw 13,-413,21,0,23,785,324,43,53,-34,23,0,0,-873
Positive dw 0
Negative dw 0
Zero dw 0
datarea ends

code segment
assume cs:code,ds:datarea
start:
main proc far
push ds
sub ax,ax
push ax

mov ax,datarea
mov ds,ax

mov bx,0
mov cx,data[bx]
add bx,2
rotate:
cmp word ptr data[bx],0
add bx,2
jl nega
jg pos
je zer
loop rotate

nega:
inc Negative
jcxz exit
jmp short rotate
pos:
inc Positive
jcxz exit
jmp short rotate
zer:
inc Zero
jcxz exit
jmp short rotate
exit:
ret

main endp
code ends
end start

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
Sergio_ly
汇编语言 21,500 成员 41,619 内容