C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[6498] [질문] 어셈블리어 인라인 함수에 관하여...
송영재 [oberon] 2286 읽음    2001-04-02 16:23
제가 몇개의 상용 ADC,DAC보드를 사용하고 있는데

예전에 어떤 선배가 컴파일 할때에는 Borland 5.02였습니다.

그분의 소스중에 일부를 사용하려고 하는데

다음과 같이 제가 조금 손을 본 화일을 프로젝트에 add하여

compile하니 에러가 나더군요.

하지만 원본을 그냥 컴파

제가 몇몇 함수의 이름을 고치고,

줄바꾸기등등을 조금 변경하기는 했지만...

제가 어셈블리어를 전혀 몰라서요...

어디서 간단하게 알아본 것으로는

그저 어셈블리어 함수를 사용하려면 호출하는 함수 앞에

asm, _asm, 또는 __asm를 써 주면 된다고만 되있던데,

혹시 줄맞춤이나 뭐 그런 형식상의 무슨 제약이 있는 것인지요.

문제의 화일을 올려봅니다.


#include
#include
#include "yport.h" outportb

//---------------------------------------------------------------------------

void yfWritePort_16bit(unsigned short address, short value)
{
__asm
{
mov DX, [address] ;
mov AX, [value] ;
out DX,AX ;
};
}
//---------------------------------------------------------------------------

void yfWritePort_08bit(unsigned short address, char value)
{
__asm
{
mov DX, [address] ;
mov AX, [value] ;
out DX,AX ;
};
}
//---------------------------------------------------------------------------

short yfReadPort_16bit(unsigned short address)
{
short bvalue;
bvalue = 0;

_asm
{
mov DX, [address] ;
in AX, DX ;
mov AX, bvalue ;
};

return bvalue;
}
//---------------------------------------------------------------------------
unsigned char yfReadPort_08bit(unsigned short address)
{
unsigned char bvalue;
bvalue = 0;

__asm
{
mov DX, [address] ;
in AL, DX ;
mov AL, bvalue ;
};

return bvalue;
}
//---------------------------------------------------------------------------


에러가 난 위치는 yPort.asm에서 다음의 라인이었습니다.
mov AX, [byte ptr [ebp+12]]

에러메세지는 다음과 같았습니다.
[Tasm Error] yPORT.asm(138): Operand types do not match

다음과 같은 warning도 나오더군요.
[C++ Warning] Port.cpp(7): W8002 Restarting compile using assembly

제가 너무 몰라서
친절하고 자세한 답변 부탁드리겠습니다.

감사합니다.

+ -

관련 글 리스트
6498 [질문] 어셈블리어 인라인 함수에 관하여... 송영재 2286 2001/04/02
6506     Re:[질문] 어셈블리어 인라인 함수에 관하여... 최혜원.시리 2505 2001/04/02
6514         Re:Re:[질문] 어셈블리어 인라인 함수에 관하여... 송영재 2190 2001/04/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.