回 帖 发 新 帖 刷新版面

主题:[讨论]未来汇编出错

我家的机子是奔腾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+)上运行是没有问题,不知道为何?请教各位,谢谢!

回复列表 (共2个回复)

沙发

按你所说
可能是 你用的东东不够完善,

板凳

我也用winasm试过了,可以运行.在masmEditor也能运行
    可能是因为你的机子是双核的把,它的一些寄存器有些不同吧

我来回复

您尚未登录,请登录后再回复。点此登录或注册