ARRAY中有一组8位的符号数,统计出其中的正数,负数,零的个数,分别存入M,N,K变量中,并把正数的个数输出到屏幕上。 1、编辑:用编辑软件(EDIT.EXE或记事本)形成源程序(.ASM),如:LX.ASM; 2、汇编:用汇编程序(MASM.EXE)对源程序进行汇编,形成目标文件(.OBJ),格式如下:MASM LX.ASM; 3、连接:用连接程序(LINK.EXE)对目标程序进行连接,形成可执行文件(.EXE),格式如下:LINK LX.OBJ; 4、执行:如果结果在屏幕在显示,则直接执行可执行文件。 5、调试:用调试程序(DEBUG.EXE)对可执行文件进行调试,格式如下:DEBUG LX.EXE 代码一:STACK1 SEGMENT PARA STACK DW 20H DUP(0) STACK1 ENDS DATA SEGMENT D4 DB 'ab' D5 DW 'ab' D6 DD 78563412H ARRAY DB 79H,0ABH,0CDH,00H,56H DB 34H,84H,0EFH,0BCH COUNT EQU $ -ARRAY M DB ? N DB ? K DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX MOV BX,0 MOV DL,0 MOV SI,OFFSET ARRAY MOV CX,COUNT L1: CMP BYTE PTR[SI],0 JE L3 JS L2 INC BH JMP L4 L2: INC BL JMP L4 L3: INC DL L4: INC SI LOOP L1 MOV M,BH MOV N,BL MOV K,DL MOV BX,OFFSET M ADD BYTE PTR[BX],30H MOV AH,02H MOV DL,BYTE PTR[BX] INT 21H MOV AX,4C00H INT 21H CODE ENDS END START代码二:STACK SEGMENT STACK DB 1024 DUP(?) STACK ENDS DATA SEGMENT D4 DB 'ab' D5 DW 'ab' D6 DD 78563412H M DW 1122H N DW 3344H K DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,M MOV BX,N ADD AX,BX MOV K,AX MOV AX,4C00H INT 21H CODE ENDS END START
显示各内存单元内容及所占字节数