怎样在Pascal中使用汇编代码

来源:百度知道 编辑:UC知道 时间:2024/05/10 11:03:54
我使用的是Turbo Pascal
我知道在使用内嵌汇编代码时,加ASM开头,END结尾,
但是在插入汇编代码后,我的程序竟然不能使用System单元中的基本函数了,会提示Error:1023,运行结果显示RunTime 255,请问是怎么回事?
其中我使用了一句代码:"Mov Ds,[0]",去掉这一句就不会出错。并且该错误在使用系统函数时才回出现,并不是在运行这一语句时出现错误。
并且请教一下应该怎样规范地在Pascal中嵌入汇编代码?
怎样实现汇编代码运行结果和Pascal主程序的传递?

你不妨考虑一下用这种方法:

var
reg :registers;

{
SET SYSTEM DATE
RETURN: AL($00FF=FAIL, ELSE SUCCESS)
}
function setdate_ok(y,m,d:word):boolean;
begin
with reg do
begin
ah:=$2b; { FUNCTION CODE }
cx:=y; { YEAR }
dh:=m; { MONTH }
dl:=d; { DAY }
intr($21,reg); { INT 21h }
setdate_ok:=al<>$00ff; { RETURN TRUE, OR FALSE }
end;
end;