21,459
社区成员
发帖
与我相关
我的任务
分享
data segment
num db 1,-5,3,-7,9,8
num_z db ?;正数数组
num_f db ?;负数数组
data ends
stack1 segment para stack
dw 20h dup(0)
stack1 ends
code segment
assume cs:code,ds:data,ss:stack1
start:
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