. 已知在数据段DATA中,以BUF为首址的字存储区中存放着NUM(要求不少于20)个带符号数,试编写程序,将正数送到ARRAY为首址的存储区中,将负数送到TABLE为首址的存储区中,并分别统计正数和负数的个数,存放在COUNT(正)和NUMBER(负)单元中。并把正负数统计结果在屏幕上以十进制方式输出。
DATA SEGMENT
MSG1 DB 'COUNT=','$'
MSG2 DB 0DH, 0AH, 'NUMBER=','$'
BUF DW -90,-20,-89,0,-1,8,0,4,8,45,11,-34,56,78,-90,23,89,-5,-7,8,9,0,7,7,6
ARRAY DW 30 DUP(0)
TABLE DW 30 DUP(0)
COUNT DW 0
NUMBER DW 0
NUM EQU 25
DATA ENDS
STACK SEGMENT STACK
DW 20 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
LEA BX, BUF
LEA SI, ARRAY
LEA DI, TABLE
MOV CX, NUM
MOV AX, [BX]
L1: CMP AX, 0
JGE L2 ;>=0,跳转到L2