| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 999 人关注过本帖
标题:求助--------为什么会这样?
取消只看楼主 加入收藏
mjkbmykwolf
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-10-31
收藏
 问题点数:0 回复次数:4 
求助--------为什么会这样?
我编的一个分类统计字符个数的汇编程序,代码如下:
  ; Assembly  language  program-
; Author:
; Data:


.386
.MODEL FLAT


ExitProcess  PROTO  NEAR32  stdcall, dwExitCode:DWORD

INCLUDE io.h                            ;header   file  for  input/out

cr          EQU       0dh                ;carriage  return  character
LF         EQU       0Ah                ;line  feed

.STACK     4096                         ;reserve   4096-byte stack

.DATA                                      ;reserve   storage  for  data
;**************************************************
prompt1   byte   cr,Lf,"Please input the string(less than eighty) :"
string    byte   80 dup(?)
prompt2   byte   cr,Lf,"The sum of the letter is :"
letterof  byte   ?
          byte   cr,Lf,0
prompt3   byte   cr,Lf,"The sum of the number is :"
numof     byte   ?
          byte   cr,Lf,0
prompt4   byte   cr,Lf,"The sum of the other is :"
otherof   byte   ?
          byte   cr,Lf,0



;**************************************************
.CODE
_start:                                     ;start  of main  program  code
;**************************************************
startofall:
   output   prompt1           ;输出提示语句
   mov      letterof,0
   mov      numof,0
   mov      otherof,0
   input    string,78
   mov      esi,0
numberif:
   mov      eax,string[esi]
   cmp      esi,78
   je       endfile
   cmp      eax,00h
   je       endfile
   cmp      eax,30h
   jl       otherof
   cmp      eax,39h
   jg       letterif1
   inc      numof
   jmp      numberif
letterif1:
   cmp      eax,41h
   jl       otherif
   cmp      eax,5Ah
   jg       letterif2
   inc      letterof
   jmp      numberif
letterif2:
   cmp      eax,61h
   jl       otherif
   cmp      eax,7Ah
   jg       otherif
   inc      letterif
   jmp      numberif
otherif:
   inc      otherof
   jmp      numberif
endfile:   
   output   prompt2
   output   prompt3
   output   ptompt4
   
   

endof:  invoke   exitprocess,0              ;come out
;**************************************************
PUBLIC _start                         ;make entry point public  

END                                       ;end  of  source  code

但是当我运行的时候怎么老是弹出一个对话框说:
     0x00401083指令饮用的0x0080805a内存。该内存不能为read。
     不调试请按确定,调试请按取消

到底是哪里的问题呀?
希望大家多多指点。  
谢谢了。
搜索更多相关主题的帖子: character reserve return file 统计 
2008-10-31 14:40
mjkbmykwolf
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-10-31
收藏
得分:0 
回复 2# 的帖子
谢谢
2008-10-31 23:16
mjkbmykwolf
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-10-31
收藏
得分:0 
回复 4# 的帖子
output  变量名   
 这个应该是没有问题的
2008-11-01 17:24
mjkbmykwolf
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-10-31
收藏
得分:0 
回复 6# 的帖子
呵呵,我用的是386的.386和586的语法应该是一样的吧!貌似,但好多东西还没有学到.
2008-11-01 17:27
mjkbmykwolf
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-10-31
收藏
得分:0 
我试了一下,是在prompt1后面少加了一个  ,和 0 .谢谢大家的支持.
2008-11-01 17:45
快速回复:求助--------为什么会这样?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092617 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved