안녕하세요..
우선 제글에 응해주셔서 감사하구요.
정확한 저의 질문은 이겁니다.
이건 소스중 일부입니다...
Function Tform1.xchg(a,b : byte) : Word;
var
tmp : registers;  {이부분입니다.}
begin
tmp.al:=a;        {이부분}
tmp.ah:=b;
xchg:=tmp.ax;
end;
procedure Tform1.bios_call(swit,head,tr,se,no : byte);
var
count : integer;
regs : registers;
begin
 count:=0;
 with regs do
 repeat
  begin
  {서비스 번호}               ah :=swit;
  {섹터의 교환수}             al:=no;
  {헤드번호}                  dh:=head;
  {장치드라이버 번호a=0,b=1}  dl:=drive;
  {트랙 번호}                 ch:=se;
  {버퍼 세그먼트}             es:=seg(buffer);
  {버퍼 오프셋}               bx:=ofs(buffer);
  {인터럽트 호출 롬 바이오스} intr($13,regs);
  end;
  reset_diskio;
  inc(count);
  until count =2;
  end;
{다시한번 부탁드립니다.^^}
그럼 수고하세요..
			 
	
	
    
    
	
	
    
    
    
흠~ 이런식은 터보파스칼에서만 지원하는 것이구요... 델파이에서는 이런식으로 레지스터를 제어하는 방법은 베공하지 않으니까 인라인어셈블리로 바꾸세요...
^^ 항상 즐코하세요...
biz wrote:
> 안녕하세요..
> 우선 제글에 응해주셔서 감사하구요.
>
> 정확한 저의 질문은 이겁니다.
> 이건 소스중 일부입니다...
>
> Function Tform1.xchg(a,b : byte) : Word;
> var
> tmp : registers; {이부분입니다.}
> begin
> tmp.al:=a; {이부분}
> tmp.ah:=b;
> xchg:=tmp.ax;
> end;
>
> procedure Tform1.bios_call(swit,head,tr,se,no : byte);
> var
> count : integer;
> regs : registers;
> begin
> count:=0;
> with regs do
> repeat
> begin
> {서비스 번호} ah :=swit;
> {섹터의 교환수} al:=no;
> {헤드번호} dh:=head;
> {장치드라이버 번호a=0,b=1} dl:=drive;
> {트랙 번호} ch:=se;
> {버퍼 세그먼트} es:=seg(buffer);
> {버퍼 오프셋} bx:=ofs(buffer);
> {인터럽트 호출 롬 바이오스} intr($13,regs);
> end;
> reset_diskio;
> inc(count);
> until count =2;
> end;
> {다시한번 부탁드립니다.^^}
> 그럼 수고하세요..