编写一个程序,将一给定的数组中的数按正数和负数分别存入不同的数组中
这是代码:
data segment num db 1,-5,3,-7,9,8 num_z db ?;正数数组 num_f db ?;负数数组data endsstack1 segment para stackdw 20h dup(0)stack1 ends code segment assume cs:code,ds:data,ss:stack1start: mov ax,data mov ds,ax mov cx,6 ;循环判断六次。 mov si,0 xun: cmp cx,1 jz cends cmp num[si],0 js flag1 ;结果为负数时的转移。 jns flag2 ;结果为正数的转移。 dec cx ;cx减一 flag1: mov num_f[di],num[si] ;将数据放入负数数组。 neg si ;si向后挪一位。 neg di jmp xun ;返回判断。 flag2: mov num_z[di],num[si] ;将数据放入正数数组。 neg si ;si向后挪一位。 neg di jmp xun ;返回判断。 cends: mov ah,4ch int 21h code ends end start