
编程题:设数据段中有若干个有符号字节数据,请编程将其中的负数与正数分别存放于minus和plus开始的区域中
1个回答
展开全部
;算法介绍:由于正负数的叛法主要是看最高位即符号位,,而由于是字节型数据,所以可以用TEST指令将操作数与10000000B来判断是正是负,,最后利用循环一次性搞完,,,,
;程序例如下:
DATA SEGMENT
NUM EQU 100
DATASTR DB NUM DUP(?)
MINUS DB 100 DUP(?)
PLUS DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV CX,NUM
L1: MOV AL,DATASTR[SI]
TEST AL,10000000B
JZ NEXT1
MOV MINUS[SI],AL
JMP PASS1
NEXT1: MOV PLUS[SI],AL
PASS1: INC SI
LOOP L1
MOV AH,4CH
INT 21H
CODE ENDS
END START
;程序例如下:
DATA SEGMENT
NUM EQU 100
DATASTR DB NUM DUP(?)
MINUS DB 100 DUP(?)
PLUS DB 100 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV CX,NUM
L1: MOV AL,DATASTR[SI]
TEST AL,10000000B
JZ NEXT1
MOV MINUS[SI],AL
JMP PASS1
NEXT1: MOV PLUS[SI],AL
PASS1: INC SI
LOOP L1
MOV AH,4CH
INT 21H
CODE ENDS
END START
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询