哈工大汇编语言实验一

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



哈工大汇编语言实验一_第1张图片
显示各内存单元内容及所占字节数

你可能感兴趣的:(调试,汇编语言)