荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: huhaiming (一生只爱她), 信区: Program
标 题: Re: 各位大哥,指点一下!
发信站: 荔园晨风BBS站 (Sun Nov 30 12:29:14 2003), 站内信件
几个问题:
1、不需要要堆栈
2、在KKKK段代码的地方,你竟然lodsb之后直接loop
根本没有处理al的判断就循环了,循环的语句显然位置错了
3、你试图想用9号显示字符串功能显示判断的结果(0 || 1 || -1)
但忽略了9号功能的重要语法: 字符串要以'$'结尾,所以才会乱码
4、你试图给y赋值,但又想像C或C++那样显示出字符状态,是不会成功的
要知道,你Y的定义并不是字符串的形式。
建议的解决方案:把三种结果分别存储成字符串(记得以'$'结尾),
判断出那种结果,就输出哪个字符串。
e.g : less_result db '-1$'
equal_result db '0$'
bigger_result db '1$'
【 在 hun (heaven) 的大作中提到: 】
: 为什么这个程序输出乱码,并有警报声
: DATA SEGMENT
: X DB 6,-8,0,3,120,-60
: Y DB ?
: DB 20 DUP(?)
: DATA ENDS
: STACK SEGMENT
: STA DB 20 DUP(?)
: TOP EQU LENGTH STA
: STACK ENDS
: CODE SEGMENT
: ASSUME CS:CODE,DS:DATA,SS:STACK
: START: MOV AX,DATA
: MOV DS,AX
: MOV ES,AX
: MOV AX,STACK
: MOV SS,AX
: MOV AX,TOP
: MOV SP,AX
: MOV SI,OFFSET X
: MOV CX,06
: CLD
: KKKK: LODSB
: LOOP KKKK
: CMP AL,0
: JZ ZERO
: JL LESS
: JG BIG
: MOV AH,4CH
: INT 21H
: ZERO: MOV BL,0
: MOV Y,BL
: MOV DX,OFFSET Y
: MOV AH,09H
: INT 21H
: LESS: MOV BL,-1
: MOV Y,BL
: MOV DX,OFFSET Y
: MOV AH,09H
: INT 21H
: BIG: MOV BL,1
: MOV Y,BL
: MOV DX,OFFSET Y
: MOV AH,09H
: INT 21H
: CODE ENDS
: END START
--
菩提本无树,明镜亦非台
本来无一物,何处惹尘埃
※ 修改:·huhaiming 於 Nov 30 12:30:40 修改本文·[FROM: 192.168.0.200]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.200]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店