📄 pl.txt
字号:
DATA SEGMENT
SOURCE DB 1EH,91H,74H,91H,42H,30H,81H,0F3H,18H,25H
COUNT EQU $-SOURCE
CNT EQU COUNT+1 ;CNT是一个常量,后面要用
RESULT DB COUNT+2 DUP (?)
DATA ENDS
;----------------------------------------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
START: MOV SI,OFFSET SOURCE
MOV DI,OFFSET RESULT
MOV CX,COUNT
MOV DL,0 ;正数计数器
MOV DH,0 ;负数计数器
MOV BX,OFFSET RESULT+CNT ;(此处用到了CNT)将指针知道RESULT最后
REPEAT: MOV AL,[SI] ;取数比较
CMP AL,0
JG LOP
INC DH ;小于零,DH加1
MOV [BX],AL ;负数从后往前存放
DEC BX
JMP DONE
LOP : INC DL ;正数DL加1
MOV [DI+1],AL ;正数从前往后存放
INC DI
DONE: INC SI
LOOP REPEAT
MOV [BX],DH
MOV DI,OFFSET RESULT
MOV [DI],DL
RET
MAIN ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -