当前位置: 代码迷 >> 汇编语言 >> 八百里加急牛人们 帮小弟我看看 这小段代码为什么编译不过去
  详细解决方案

八百里加急牛人们 帮小弟我看看 这小段代码为什么编译不过去

热度:7646   发布时间:2013-02-26 00:00:00.0
八百里加急,牛人们 帮我看看 这小段代码为什么编译不过去


_TEXT SEGMENT BYTE PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT WORD PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT WORD PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT WORD PUBLIC 'BSS'
_BSS ENDS
DGROUP GROUP _DATA,CONST,_BSS
  ASSUME CS:_TEXT,DS:DGROUP,SS:DGROUP
_DATA SEGMENT
  public sign
  _sign DW 0 ;返回到C程序中的标志变量
_DATA ENDS

  public _deinstall
  extrn _ss_save:NEAR
  extrn _sp_save:NEAR
_TEXT SEGMENT
_deinstall PROC FAR
  PUSH SI
  PUSH DI
  PUSH BP
  MOV WORD PTR _ss_save,SS ;保存主程序的栈
  MOV WORD PTR _sp_save,SP
  MOV CS:_ds_save,DS ;保存数据段
  MOV hx,CS
  MOV DX,OFFSET terminateAddr ;BX:DX指向程序的结束地址
  INC _sign
  INT 62H ;调用Communicate
  JMP SHORT noterminate
terminateAddr:
  MOV AX,CS:_ds_save
  MOV DS,AX
  INC _sign
  MOV SS,WORD PTR _ss_save ;恢复栈
  MOV SP,WORD PTR _sp_save
noterminate:
  POP BP
  POP DI
  POP SI
  RET
_deinstall ENDP
_ds_save DW 0
_TEXT ENDS
END


说明: 这段代码是我从 王仕元 那本书上抄的,就是 TSR 那个例子里的。 用 WIN-TC 编译不过去 郁闷死了!

错误提示:
正在汇编文件: msrt1.ASM
**警告** msrt1.ASM(7) 保留字作为标识符使用: CONST
**错误** msrt1.ASM(14) 未定义符号: sign
**错误** msrt1.ASM(29) 未定义符号: hx



急求 大家指点 该怎么解决啊 在线等 ! 万分感谢

------解决方案--------------------------------------------------------
你再看下,抄错没有。
------解决方案--------------------------------------------------------
14 行:public sign 应该是 public _sign
29 行:MOV hx,CS 应该是 mov bx, cs

那些错误提示不是很明确了么?
  相关解决方案