日期:2014-05-20  浏览次数:20716 次

高手看一下一个程序
DATA SEGMENT
  DATA1 DB '?','24','$'
  DATA2 DB '33','$'
   
  STRING DB 's is : $'

  DATA ENDS

  PUBLIC JISUAN

  CODE SEGMENT



  JISUAN PROC FAR

  ASSUME CS:CODE,DS:DATA
  START: MOV AX,DATA
  MOV DS,AX



  MOV AL,DATA1
  AND AL,DATA2
  MOV DATA1,AL

  ; MUL CL


  ;MOV S, DX
  ;ADD S,30H

  MOV AH,09H
  MOV DX,OFFSET STRING
  INT 21H

  MOV AH,02H
  MOV DL,BYTE PTR S
  INT 21H

  RET

  JISUAN ENDP

  CODE ENDS
  END START




报错Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.

Object filename [add1.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
add1.asm(38): error A2009: Symbol not defined: S

  50160 + 414960 Bytes symbol space free

  0 Warning Errors
  1 Severe Errors

G:\xpdos>

------解决方案--------------------
问题出现在这两句上:
;MOV S, DX
;ADD S,30H 

S在哪里做的定义?它又不是寄存器变量。
------解决方案--------------------
汇编怎么到这里来了