汇编初学者求助
本人学校里初学汇编,遇到以下问题,不能发现代码错误,对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
;分类统计字数组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
...全文
相关推荐
新手汇编工具
【标题】:“新手汇编工具”是一款专为编程初学者设计的汇编语言学习软件。这款工具旨在帮助新手快速入门汇编语言的学习,提供友好的界面和易于理解的功能,让初学者能够轻松掌握汇编的基本概念和操作。
汇编集成环境MASN
总结起来,MASN是一个对初学者友好的汇编集成环境,它提供了完整的工具链来支持汇编语言的学习和实践。
汇编语言学习教程课件
总的来说,这个汇编语言学习教程课件为初学者提供了系统性的学习路径,涵盖了从基础到进阶的全部内容,结合实例和习题,有助于全面提升汇编语言编程技能。
汇编语言答案资源
**学习资源** - **教科书**: 如《汇编语言》(王爽著),是许多初学者的入门书籍。 - **在线教程**: 许多网站提供汇编语言的免费教程和实例。
适合初学者的汇编实例
《汇编语言基础实例解析》对于初学者来说,汇编语言可能会显得既神秘又深奥,但实际上,它是计算机科学的基石,理解汇编有助于我们更深入地理解计算机的工作原理。


