把内存2000H单元中10个有符号字节数分成正数和负数,分别存入P和N单元,并分别统计正数和负数的个数放入DL和DH寄存器中,请编程实现。
程序员文章站
2022-02-21 19:38:50
...
DATA SEGMENT
ORG 2000H
BUF DB 2,5,-6,7,-8,9,12,22,-17,19
P DB 10 DUP(?) ;存正数
N DB 10 DUP(?) ;存负数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA BX,BUF
LEA SI,P
LEA DI,N
MOV DL,0 ;统计正数
MOV DH,0 ;统计负数
MOV CX,10
AGAIN:MOV AL,[BX]
CMP AL,0
JGE P1
MOV [DI],AL ;负数时存入 N 单元
INC DH ;负数时统计存入 DH
INC DI
JMP NEXT
P1:MOV [SI],AL ;正数时存入 P 单元
INC DL ;正数时统计存入 DL
INC SI
NEXT:INC BX
LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START