主题:[讨论]未来汇编出错
我家的机子是奔腾D3.0G,双核。在用未来汇编进行编程,在运行的时候(按感叹
号运行,或F9)会出现错误。具体代码是:
;逆序输出,键盘读入的5个字符
DATA SEGMENT
DA DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX,DATA
MOV DS,AX ;数据段的装填
MOV CX,5
MOV SI,OFFSET DA
READ: MOV AH,01H ;调用01H功能读入字符
INT 21H
MOV BYTE PTR[SI],AL ;将每次读入的内容存放到内存中
INC SI
LOOP READ
MOV DL,0AH ;换行
MOV AH,2
INT 21H
MOV CX,5
WRITE:DEC SI ;逆序输出
MOV DL,[SI]
MOV AH,2
INT 21H
DEC CX
JNZ WRITE
MOV AH,1
INT 21H ;输入回车则返回
MOV AH,4CH
INT 21H
CODE ENDS
END START
出错的提示如图。但如果用未来汇编的MS-DOS 方式运行,则没有这个错误
但是,这段代码在单核的CPU机子(AMD 2800+)上运行是没有问题,不知道为何?请教各位,谢谢!
号运行,或F9)会出现错误。具体代码是:
;逆序输出,键盘读入的5个字符
DATA SEGMENT
DA DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX,DATA
MOV DS,AX ;数据段的装填
MOV CX,5
MOV SI,OFFSET DA
READ: MOV AH,01H ;调用01H功能读入字符
INT 21H
MOV BYTE PTR[SI],AL ;将每次读入的内容存放到内存中
INC SI
LOOP READ
MOV DL,0AH ;换行
MOV AH,2
INT 21H
MOV CX,5
WRITE:DEC SI ;逆序输出
MOV DL,[SI]
MOV AH,2
INT 21H
DEC CX
JNZ WRITE
MOV AH,1
INT 21H ;输入回车则返回
MOV AH,4CH
INT 21H
CODE ENDS
END START
出错的提示如图。但如果用未来汇编的MS-DOS 方式运行,则没有这个错误
但是,这段代码在单核的CPU机子(AMD 2800+)上运行是没有问题,不知道为何?请教各位,谢谢!