主题:[讨论]另一道高分奖励
eaglefly
[专家分:0] 发布于 2006-11-09 23:26:00
[b]以知N个带符号16位数b1,b2.....bn已存放在从B开始的存储区中,现在要求将其中的正数和零抹掉,而把留下的负数连续地重新存放在从B开始的存储区中,并把负数的个数存放在变量BB中。[/b]
回复列表 (共1个回复)
沙发
gdpydzw [专家分:210] 发布于 2006-11-10 09:17:00
DATA SEGMENT
B DW .......
BB DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DI,OFFSET B
MOV SI,OFFSET B
MOV BH,00H
MOV CX,09H ;09H是N
NEXT: MOV AX,[DI]
INC DI
TEST AX,8000H
JNZ FUSHU
LOOP NEXT
FUSHU: INC BH
MOV [SI],AX
INC SI
LOOP NEXT
MOV BB,BH
CODE ENDS
END START
我来回复