將一個包含20個數據的數組M分爲兩個數組,正數組P和負數組N,分別將正負數組所包含的數據個數顯示出來
;將一個包含20個數據的數組M分爲兩個數組,正數組P和負數組N,
;分別將正負數組所包含的數據個數顯示出來
DATA SEGMENT
M DB 5 DUP(-1,-2,-1,2)
P DW 0
N DW 0
P1 DB "P=$"
N1 DB 0AH,"N=$"
DATA ENDS
STACK SEGMENT PARA STACK
DW 128 DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
LEA SI,M
MOV CX,20
L0: MOV AL,[SI]
CMP AL,0
JL L1
JG L2
L1: INC N
JMP L3
L2: INC P
JMP L3
L3: INC SI
LOOP L0
MOV AH,9 ;計算機從鍵盤接收的是字符的ASCII碼,也是通過字符的ASCII碼
LEA DX,P1 ;將字符顯示在屏幕上的
INT 21H
MOV AX,P ;兩位數無法直接顯示,通過除10一位一位顯示
MOV BL,10
DIV BL
MOV DL,AL ;AL放商,AH放餘數,顯示時要加上30H才能將實際數顯示出來,
ADD DL,30H ;因爲計算機是通過ASCII碼顯示字符的
MOV BH,AH ;顯示P商
MOV AH,2
INT 21H
MOV DL,BH ;顯示P餘數
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,9
LEA DX,N1
INT 21H
MOV AX,N
MOV BL,10
DIV BL
MOV DL,AL ;顯示N商
ADD DL,30H
MOV BH,AH
MOV AH,2
INT 21H
MOV DL,BH ;顯示N餘數
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
END START
;分別將正負數組所包含的數據個數顯示出來
DATA SEGMENT
M DB 5 DUP(-1,-2,-1,2)
P DW 0
N DW 0
P1 DB "P=$"
N1 DB 0AH,"N=$"
DATA ENDS
STACK SEGMENT PARA STACK
DW 128 DUP(?)
TOP LABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK,DS:DATA
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
LEA SI,M
MOV CX,20
L0: MOV AL,[SI]
CMP AL,0
JL L1
JG L2
L1: INC N
JMP L3
L2: INC P
JMP L3
L3: INC SI
LOOP L0
MOV AH,9 ;計算機從鍵盤接收的是字符的ASCII碼,也是通過字符的ASCII碼
LEA DX,P1 ;將字符顯示在屏幕上的
INT 21H
MOV AX,P ;兩位數無法直接顯示,通過除10一位一位顯示
MOV BL,10
DIV BL
MOV DL,AL ;AL放商,AH放餘數,顯示時要加上30H才能將實際數顯示出來,
ADD DL,30H ;因爲計算機是通過ASCII碼顯示字符的
MOV BH,AH ;顯示P商
MOV AH,2
INT 21H
MOV DL,BH ;顯示P餘數
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,9
LEA DX,N1
INT 21H
MOV AX,N
MOV BL,10
DIV BL
MOV DL,AL ;顯示N商
ADD DL,30H
MOV BH,AH
MOV AH,2
INT 21H
MOV DL,BH ;顯示N餘數
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
END START
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.