
汇编语言怎样将一个含有20个有符号的数组arrayM分成正负两组数据
1个回答
展开全部
DATA SEGMENT
arrayM DB 03H,46H,0F4H,0AFH,0AH,90H,87H,50H
DB 99H,0FFH,30H,77H,15H,53H,0B3H,9EH
COUNT EQU $-arrayM ;数据块的长度
PLUBUF DB 20 DUP(?);放正数
MINBUF DB 20 DUP(?);放负数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET arrayM
MOV DI,OFFSET PLUBUF
MOV BX,OFFSET MINBUF
MOV CX,COUNT
CLD
AGAIN: LODSB
TEST AL,80H
JNZ MINUS
STOSB
JMP NEXT
MINUS: XCHG BX,DI
STOSB
XCHG BX,DI
NEXT: LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START
arrayM DB 03H,46H,0F4H,0AFH,0AH,90H,87H,50H
DB 99H,0FFH,30H,77H,15H,53H,0B3H,9EH
COUNT EQU $-arrayM ;数据块的长度
PLUBUF DB 20 DUP(?);放正数
MINBUF DB 20 DUP(?);放负数
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET arrayM
MOV DI,OFFSET PLUBUF
MOV BX,OFFSET MINBUF
MOV CX,COUNT
CLD
AGAIN: LODSB
TEST AL,80H
JNZ MINUS
STOSB
JMP NEXT
MINUS: XCHG BX,DI
STOSB
XCHG BX,DI
NEXT: LOOP AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END START
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询