Lin_qx
2017-10-31 10:44
采纳率: 20%
浏览 6.9k

关于汇编语言在dos环境下out of memory的问题

ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA

DATA SEGMENT
DAT DB 09H,02H,07H,02H,0AH,00H,01H,01H
RESULT DB 10 DUB(0)
DATA ENDS

CODE SEGMENT
START:
MOV AX,DATA
MOV DS,AX

LEA SI,DAT

LEA DI,RESULT
MOV CX,0AH
S:

MOV AX,0
MOV AL,[SI]
MOV DL,02H
DIV DL

MOV [DI],AH

INC SI
INC DI

  LOOP S   

  MOV AH,4CH
  INT 21H  

CODE ENDS
END START

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_40723276 2017-11-01 09:26

    一般是你的程序越界或者溢出了
    请用EDIT打开那个文件,看是否其中有非ASCII的字符(分号后的除外),很多时候是将分号写成了中文下的分号了,改成英文下的分号就可以了,再看看程序。
    一般这是声明指针类型的变量,使用完后没有关闭,或者有死循环什么的.原因很多,但仔细review一下你自己的source,应该能发现里面的逻辑问题.

    评论
    解决 7 无用
    打赏 举报
  • 溜达1 2018-01-05 15:09

    前面段声明了SS:STACK,代码里未发现STACK段,另外DATA段里的RESULT DB 10 DUB(0),DUB是什么?

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题