100个字符符号数组,求负数 零 正数的个数,存放到存储器中
编个程序
只要代码就行
最后有注释
感激不尽
參考答案:上面的这位大哥,人家要求用汇编语言来编写,你非要用C语言
我来回答,这是我以前回答别人的问题时做的回答,跟你的问题很相似.
这个程序的功能是分开正负数,并存到存储器里,你可以在增加一个记数功能,比如:如果是负数,就用mov sum,0和add sum,1当然sum要先定义.
你要小小的改动一下.
stack segment
dw 32 dup(?)
stack ends
data segment
ARY dw 5,-3,7,-2,8
CT dw ($-ARY)/2 ;元素个数
A dw 2 dup(?) ;为负数存放预留空间
B dw 3 dup(?) ;为正数存放预留空间
data ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
mov ax,data
mov ds,ax
mov bx,0 ;初始化bx
mov cx,CT ;个数
c20: lea si,ARY ;取数组地址
cmp [si],bx ;和0比较
jl c10 ;若小于转
mov B,[si] ;大于则存
jmp c30
c10: mov A,[si]
c30: add si,2 ;修改地址指针
loop c20 ;循环
mov ah,4ch
int 21h
main endp
code ends
end main