在Dephi嵌入汇编语句的问题(100分)

  • 主题发起人 主题发起人 gzgylgl
  • 开始时间 开始时间
G

gzgylgl

Unregistered / Unconfirmed
GUEST, unregistred user!
我Dephi中嵌入如下汇编语句:
asm
PUSH DS
push dx
push ax
XOR AX,AX
PUSH AX
MOV DX,2FBH
MOV DL,80H
mov pp,dl
OUT DX,AL //出错信息:Project SetCom.exe raised exception class EPrivilege with message 'Privileged instruction'.Process stopped.Use Step on continue.
MOV DX,2F8H
MOV AL,0CH
OUT DX,AL //出错信息:同上
MOV DX,2F9H
MOV AL,00
OUT DX,AL//出错信息:同上
MOV DX,2FBH
MOV AL,1BH
OUT DX,AL//出错信息:同上
MOV DX,2FCH
MOV AL,03
OUT DX,AL//出错信息:同上
MOV DX,2F9H
MOV AL,00
//OUT DX,AL//出错信息:同上
end;
以上汇编语句在masm中调试通过,并可以通讯
 
怎么问了两次?[:)]
 
操作系统是什么?
 
在98下就不会出现这个问题了。
 
NT、2000不支持汇编
 
采用直接端口输出时,98可以这么用;
NT和2000不能直接操作端口。可以采用一些现有的控件来降低编程强度,例如TVICHW32等,
这样就可以直接操作端口了。
 
Windows 2000
 
你操作的是串口吧?在2000下用CREATEFILE,GETCOMMSTATE,SETCOMMSTATE,
WRITEFILE,READFILE等API函数就可以操作串口了,直接用汇编操作端口在
2000下不允许。
 
out指令的执行需要比较高的特权级。一般运行在保护模式的应用程序都没有这个特权级。
但是在Dos下确没有限制。
 
后退
顶部