高手帮忙写一个汇编程序~~

来源:百度知道 编辑:UC知道 时间:2024/05/07 06:43:24
已知在内存中从BLOCK单元起存放有20个带符号字节数据,统计其中负数的个数并放入COUNT单元
这个完整的程序怎么写?

DATA SEGMENT
BLOCK DB 20 DUP(?)
C1 EQU $-BLOCK
COUNT DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,C1 ;长度
MOV BX,OFFSET BLOCK ;设首址
LOP: MOV AL,[BX]
TEST AL,80H
JZ LOP2
INC COUNT ;负数
LOP2: INC BX
LOOP LOP
MOV AH,4CH
INT 21H
CODE ENDS
END START

DATA SEGMENT
BLOCK DB -1,-2,-3,-4,-5,-6,-7,1,2,3,4,5,6,7
C1 EQU $-BLOCK
COUNT DB ?
STR1 DB 0DH,0AH,'The total number of negative is',0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,C1 ;长度
MOV BX,OFFSET BLOCK ;设首址
LOP: MOV AL,[BX]
TEST AL,80H
JZ LOP2
INC COUNT ;负数
LOP2: INC BX
LOOP LOP

;显示负数的个数
LEA AX,STR1
MOV AH,09H