17.asm

来自「微机原理与接口技术的部分课后题(十几题经典的)程序」· 汇编 代码 · 共 52 行

ASM
52
字号
DATA SEGMENT
  TABLE DB 1,-2,3,4,-5,6,-7,-8,9,8
  POS DB 10 DUP(0)
  NES DB 10 DUP(0)
DATA ENDS
CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
START:  MOV AX,DATA              ;装入数据端
        MOV DS,AX
	MOV BX,00H
	MOV SI,00H
	MOV DI,00H	
	MOV CX,10
L1:     MOV AL,TABLE[SI] 
	TEST AL,80H              ;判断正负
	JZ L2                    ;正则转移L2
	MOV NES[DI],AL           ;负数放在NES里
	INC BH                   ;BH计负数的个数
	JMP L3
L2:     MOV POS[DI],AL           ;正数放在POS里
	INC BL                   ;BL计正数的个数
	JLE L3
L3:     INC DI
        INC SI
	LOOP L1
	MOV AL,BH
	CALL ASC                  ;调用子程序 
	MOV DL,AL
	MOV AH,02H                ;显示负数的个数
	INT 21H
	MOV DL,' '		  ;显示空格隔开正负数个数
	MOV AH,02H    
	INT 21H
	MOV AL,BL                 ;显示正数的个数
	CALL ASC
	MOV DL,AL
	MOV AH,02H
	INT 21H
	MOV AH,4CH
	INT 21H
ASC PROC                          ;转化为ASCII码子程序 
	AND AL,0FH
	CMP AL,09H
	JLE J1
	ADD AL,07H
J1:     ADD AL,30H
	RET
ASC ENDP
CODE ENDS
  END START

      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?