能力值:
( LV5,RANK:70 )
|
-
-
2 楼
我对不不是很了解噢。不过楼主可以试试
mov ax ,cs ;
mov ds ,ax ;
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
看了一下程序 没什么大问题
XP SP3下编译运行通过
以下是帮你搜的答案
“这是某个DOS下防死机的小程序在起作用。可以修改DOS下的Autoexec.bat 文件,将含有 escape 或者 killer 的行删除,或者在行首加::注释掉。然后重启后试试看,如遇到有其他的问题,比如死机,那可能是内存管理程序的兼容性问题,再修改 config.sys 文件,删除或者行首加 rem 注释掉 emm386 所在行,然后重启再试。”
手头没跟你一样的环境,测试不了,如果还不行,建议楼主加上一个堆栈段
试试下面的代码
.386
STACK SEGMENT USE16 STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT USE16
MSG DB 0DH,0AH,'HELLO WORLD!$'
DATA ENDS
CODE SEGMENT USE16
ASSUME DS:DATA,CS:CODE,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MSG
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
另外说一句,其实汇编除了某些中断,完全可以在WINDOWS环境下学,我一直就用的windows
一些操作还支持鼠标,很方便
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
LZ,这个程序在XP下用masm5.0就能够运行,只需要把
lea dx,msg
改为 mov dx,offset msg
即可,这涉及到lea和offset在使用时的区别,LZ可goole一下,我暂时还没总结出来。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
有意思,offset
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
Invalid keyboard code specified
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Object filename [pediy.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
49430 + 449098 Bytes symbol space free
0 Warning Errors
0 Severe Errors
C:\masm5>link pediy.obj
Microsoft (R) Overlay Linker Version 3.60
Copyright (C) Microsoft Corp 1983-1987. All rights reserved.
Run File [PEDIY.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
LINK : warning L4021: no stack segment
C:\masm5>pediy
hello world!
C:\masm5>
windows server 2003 下没有问题
|
能力值:
( LV15,RANK:520 )
|
-
-
7 楼
楼主学习方式有问题,请更新
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
看来可能是环境的问题,谢谢大家的热情。
|
|
|