回 帖 发 新 帖 刷新版面

主题:[讨论]帮我看看这个程序错再哪里

题目是:把内存单元DATA1和DATA2中的两个双字节数(十六进制)相加,结果存入SUM单元。

程序代码如下:
;*************************************************************
STACK SEGMENT PARA STACK 'STACK'
      DW 100 DUP(?)
      TOP LABEL WORD
STACK ENDS
;*************************************************************
;*************************************************************
DATA SEGMENT
     DATA1 DW 1245H
     DATA2 DW 4589H
     SUM   DW ?
DATA ENDS
;*************************************************************
;*************************************************************
CODE SEGMENT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN PROC FAR
     ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,STACK
      MOV SS,AX
      MOV SP,OFFSET TOP
      PUSH DS
      SUB AX,AX
      PUSH AX
      MOV AX,DATA
      MOV DS,AX
      MOV AX.DATA1
      ADD AX,DATA2
      MOV SUM,AX
      RET
MAIN ENDP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CODE ENDS
     END START


有两个错,错再哪里捏

回复列表 (共2个回复)

沙发

MOV AX.DATA1符号打错,应该MOV AX,DATA1

板凳

没有用到堆栈段为什么要定义呢?  先把有关堆栈段的全删除,再将MOV AX.DATA1改为MOV AX,DATA1
就可以了 。      我也才刚学不久,见笑了

我来回复

您尚未登录,请登录后再回复。点此登录或注册