汇编语言统计负数个数 微机原理,用汇编语言编写,给定一组数据,大概十个数,统计正数,负数,0的个数,并显示到屏幕上(重要)?

微机原理,用汇编语言编写,给定一组数据,大概十个数,统计正数,负数,0的个数,并显示到屏幕上(重要)?Org 100h数据段缓冲区DW 10greatz DW?正零DW?零小矮人?负数据结束开始:mo

微机原理,用汇编语言编写,给定一组数据,大概十个数,统计正数,负数,0的个数,并显示到屏幕上(重要)?

Org 100h

数据段

缓冲区DW 10

greatz DW?正

零DW?零

小矮人?负

数据结束

开始:

mov ax,data

mov DS,ax

XOR ax,ax ax clear

mov greatz,ax

mov zero,ax

mov littlez,ax

lea Si,buffer取第一个数据

mov CX,[Si

]add Si,2

stu计数:

mov ax,[Si

]add Si,2

和ax,ax JLE COUNT1小于或等于0,jump

Inc greatz

JMP count3

COUNT1:

JL COUNT2小于0,jump

Inc zero

JMP count3

COUNT2:

Inc littlez

count3:

Dec CX

JNZ st_uuuu计数

代码结束

结束开始

统计数据区域中正数、0数和负数的数目。数据定义如下:数据字DW-1,3,5,0,-5,-7,4,0,-8……COUNT eq$-数据字num DB 0;正数DB 0;0 DB 0的个数;负数数数据段组织1000h数据字DW 0FFFFH,3,5,0,0FFFBH,0FFF9H,4,0,0FFF8H DOUNT eq$-数据字组织1020h num DB 0存储正数Ze DB 0存储0加DB 0数据结束堆栈数数据段DW 100 dup(0)堆栈结束代码段和CS:code,ds:data,SS:堆栈开始:mov ax,data mov DS,ax mov ax,dot mov CL,1 SHR ax,CL mov CX,ax mov Si,偏移量Da_uuwordag:mov ax,[Si]CMP ax,0 JNZ NOZ INC[ZE]JMP NEXTNOZ:测试AX,8000H JNZ ISPLUS INC[NUM]JMP NEXT ISPLUS:INC[PLUS]NEXT:ADD SI,2 LOOP AG INT 3 MOV AH,4CH INT 21H代码结束-开始