2012-11-17 5 views
0

유효한 어셈블리 명령어입니까?어셈블리의 MOV 명령어 유효성

MOV의 CX, 0F9

우리는 그것에서 "0F9"이 참조로 소스 피연산자는 "진수"처럼 보이지만에서 사용에는 "H"심볼은 없지만 내가 의미 명령의 끝 (또는 소스 피연산자의 끝).

+0

값이 16 진수인지 어떻게 확인할 수 있습니까? 리터럴 값을 0으로 시작하면 일반적으로 8 진수를 나타냅니다. – cowboydan

+0

Nasm에서는 유효하지 않습니다. '0x0F9','0F9h' 또는'$ 0F9'는 모두 16 진수를 나타냅니다. –

+0

@Frank Kotler 당신이 작성한 세 가지 예제 중 하나가 아니기 때문에 Nasm은 그것을 잘못된 명령으로 인식합니까? –

답변

2

예. 그것은 실제로 유효한 Intel x86 구문으로 0xF9를 CX 레지스터로 이동시킵니다. 관례 상 모든 즉시 값은 16 진수 표현으로 가정합니다. F9 앞에 0이있는 이유는 어셈블러가 값이 레이블이 아니라 즉시 값 (16 진수)으로 취급되도록하기 위해서입니다. 베이스 -n 표현을 구별하기 위해 이 아니고이 있습니다.