當前位置:編程學習大全網 - 編程軟體 - 微機原理 編寫程序,將壹個20個數據的數組M分成兩組:負數P和正數N,並顯示個數。謝謝 最好用上下面程序段

微機原理 編寫程序,將壹個20個數據的數組M分成兩組:負數P和正數N,並顯示個數。謝謝 最好用上下面程序段

DAT SEGMENT

BLOCK DB -1,-3,5,6,-2,0,20,10

PLUS_D DB 8 DUP(?) ;正數緩沖區

MINUS_D DB 8 DUP(?) ;負數緩沖區

PLUS DB 0

MINUS DB 0

PLUSS DB THE PLUS DATA HAVE:,$,0DH,0AH

MINUSS DB THE MINUS DATA HAVE:,$,0DH,0AH

PLUSNUMS DB THE PLUS DATA NUMBER IS:,$

MINUSNUMS DB THE MINUS DATA NUMBER IS:,$

DAT ENDS

CODE SEGMENT

ASSUME CS:CODE,DS;DAT

MOV AX,DAT

MOV DS,AX

STAR:

MOV SI,OFFSET BLOCK

MOV DI,OFFSET PLUS_D

MOV BX,OFFSET MINUS_D

MOV CX, 8 ;數據個數送CX

GOON: LODSB ;AL← [SI]

TEST AX, 80H

JNZ JMIUS ;為負數,轉

INC PLUS ;正數個數加壹

STOSB ;[DI] ←AL,傳正數

JMP AGAIN

JMIUS: INC MINUS ;負數個數加壹

XCHG BX, DI

STOSB ;送負數到緩沖區

XCHG BX, DI

AGAIN: DEC CX

JNZ GOON

MOV AX,$

MOV [DI], AX;

MOV [BX],AX

LEA DX,PLUSNUMS

MOV AH,9

INT 21H

MOV DL,PLUS

MOV AH,8

INT 21H

LEA DX,PLUSS

MOV AH,9

INT 21H

LEA DX,PLUS_D

MOV AH,9

INT 21H

LEA DX,MINUSNUMS

MOV AH,9

INT 21H

MOV DL,MINUS

MOV AH,8

INT 21H

LEA DX,PMINUSS

MOV AH,9

INT 21H

LEA DX,MINUS_D

MOV AH,9

INT 21H

MOV AH,4CH

INT 21H

CODE ENDS

END STAR

  • 上一篇:做編程需要什麽配置的電腦?
  • 下一篇:十六進制文件很大,如何把它放入單片機
  • copyright 2024編程學習大全網