当前位置: 代码迷 >> 汇编语言 >> 简单的汇编程序 无法运行.求解解决方案
  详细解决方案

简单的汇编程序 无法运行.求解解决方案

热度:2606   发布时间:2013-02-26 00:00:00.0
简单的汇编程序 无法运行..求解
STACK_SEG SEGMENT STACK
  STACK_BUF DW 120 DUP(?)
  TOP EQU $-STACK_BUF
STACK_SEG ENDS
DATA_SEG SEGMENT PARA
TS DB 'HOW ARE YOU-TANGKE20102101'
  COUNT DW $-TS
  MES DB 0DH,0AH,'LENGTH(TS)=$'




DATA_SEG ENDS
CODE_SEG SEGMENT PARA
;------------------------------------------------------
MAIN PROC FAR
  ASSUME CS:CODE_SEG,DS:DATA_SEG
  ASSUME SS:STACK_SEG
START:
  PUSH DS
  XOR AX,AX
  PUSH AX
  MOV AX,STACK_SEG
  MOV SS,AX
  MOV SP,TOP
  MOV AX,DATA_SEG
  MOV DS,AX



L: MOV BX,OFFSET TS
  MOV CX,COUNT
LL: MOV AH,2
  MOV DL,[BX]
  INT 21H
  INC BX
  LOOP LL
  MOV AH,9
  LEA DX,MES
  INT 21H
  MOV CX,COUNT
  CALL SUBP
  MOV AH,1
  INT 21H
  SUBP PROC
  PUSH DX
  PUSH AX
  MOV AX,CX
  MOV DL,10
  DIV DL
  XCHG AL,AH
  OR AX,3030H
  PUSH AX
  MOV DL,AH
  MOV AH,2
  INT 21H
  POP DX
  MOV AH,2
  INT 21H
  POP AX
  POP DX
  RET
  SUBP ENDP
   

  RET  
MAIN ENDP  
;------------------------------------------------------
CODE_SEG ENDS
  END START


------解决方案--------------------------------------------------------
程序有什么问题啊?
------解决方案--------------------------------------------------------
如果指定入口start,那么去掉
MAIN PROC FAR
和把后面的REt换成
mov ah,4ch
int 21h

试一试吧
------解决方案--------------------------------------------------------
int 21h

试一试吧
------解决方案--------------------------------------------------------

MAIN PROC FAR
和把后面的REt换成
mov ah
  相关解决方案