| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 645 人关注过本帖
标题:[求助]急**关于程序越界的问题
取消只看楼主 加入收藏
伟大的米兰
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-6-7
收藏
 问题点数:0 回复次数:0 
[求助]急**关于程序越界的问题
说是第91行jump out of the range 1 byte<s>
哪位能帮忙看看啊

DOUTS MACRO Z ;输出数字的宏
LOCAL GOUT,HOUT,BACK
CMP CL,10 ;Y<10?
JB GOUT
JMP HOUT
GOUT: MOV DL,20H ;输出个位数
MOV AH,02H
INT 21H
MOV AL,0H
FOUT Z
JMP BACK
HOUT: ;输出二位数
MOV BL,10
DIV BL ;结果除以10,余数保留在AH,商在AL,分别表示十进制 数的两位,AL为高位,AH为低位
MOV BH,AH ;将余数转至BH,MOV AH,02H会将AH的内容覆盖
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H ;输出高位
MOV AL,BH ;BH中保留的是低位数字,将其移至AL
ADD AL,30H
MOV AH,02H
MOV DL,AL
INT 21H ;输出低位
BACK: MOV DL,20H ;输出空格
MOV AH,02H
INT 21H
MOV AL,0H
ENDM

FOUT MACRO W ;输出单个字符的宏
MOV DL,W
ADD DL,30H
MOV AH,02H
INT 21H
ENDM

ENTER MACRO ;回车换行的宏
MOV DL,ENT ;输出回车
MOV AH,02H
INT 21H
MOV DL,HUAN ;输出换行
MOV AH,02H
INT 21H
ENDM

DATA SEGMENT
MM DB ' 9*9 answer list $'
pp db '\ 1* 2* 3* 4* 5* 6* 7* 8* 9*$'
WW DB 'press any key to exit.$'
A DB 1H
B DB 1H
ENT DB 0DH ;回车对应的ASCII码
HUAN DB 0AH ;换行对应的ASCII码
DATA ENDS

STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
LEA DX,MM
MOV AH,09H
INT 21H
ENTER
LEA DX,pp
MOV AH,09H
INT 21H
ENTER
again1: FOUT B
MOV DL,20H ;输出空格
MOV AH,02H
INT 21H
again2: MOV AL,A
MUL B
MOV CL,AL
DOUTS CL
INC A
MOV AL,A
CMP AL,10
JB again2
MOV AL,1H
MOV A,AL
ENTER
INC B
MOV AL,B
CMP AL,10
JB again1
ENTER
LEA DX,WW
MOV AH,09H
INT 21H
MOV AH,1
INT 21H
STOP: MOV AH,4CH
INT 21H
CODE ENDS
END START
搜索更多相关主题的帖子: 越界 
2006-06-07 16:52
快速回复:[求助]急**关于程序越界的问题
数据加载中...
 
   



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

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