5.2. 사용 가능한 Operands
5.2. 사용 가능한 Operands
표 5‑2 사용 가능한 Operands
| Relay | Input | Output | Timer | Counter | Memory | Const (32bit) (L/F) | |||||
Type | X,DO | Y,DI,R,K,SP | T | C | M,S | |||||||
inst | arg | n | (B,W,L,F)m | n | (B,W,L,F)m | n | (B,W,L,F)m | n | (B,W,L,F)m | n | (B,W,L,F)m | |
XIC |
|
| x |
| x |
| x |
| x |
| x | x |
XIO |
|
| x |
| x |
| x |
| x |
| x | x |
EQU | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
LES | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
GRT | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
LEQ | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
GEQ | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
OTF |
| x | x |
| x | x | x | x | x | x | x | x |
OTL |
| x | x |
| x | x | x | x | x | x | x | x |
OTU |
| x | x |
| x | x | x | x | x | x | x | x |
OSR |
| x | x |
| x | x | x | x | x | x | x | x |
RES |
| x | x | x | x |
| x |
| x | x | x | x |
TON | tm | x | x | x | x |
| x | x | x | x | x | x |
bs | x |
| x |
| x |
| x |
| x |
|
| |
pst | x |
| x |
| x |
| x |
| x |
|
| |
CTD | cnt | x | x | x | x | x | x | x | x | x | x | x |
pst | x |
| x |
| x |
| x |
| x |
|
| |
ADD | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
dst | x | x | x |
| x |
| x |
| x |
| x | |
SUB | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
dst | x | x | x |
| x |
| x |
| x |
| x | |
MUL | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
dst | x | x | x |
| x |
| x |
| x |
| x | |
DIV | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
dst | x | x | x |
| x |
| x |
| x |
| x | |
POW | sA | x |
| x |
| x |
| x |
| x |
|
|
sB | x |
| x |
| x |
| x |
| x |
|
| |
dst | x | x | x |
| x |
| x |
| x |
| x | |
TOD | src | x | u | x | u | x | u | x | u | x | u | u |
dst | x | x | x | u | x | x | x | x | x | u | x | |
FRD | src | x | u | x | u | x | u | x | u | x | u | u |
dst | x | x | x | u | x | x | x | x | x | u | x | |
SEG | src | x | u | x | u | x | u | x | u | x | u | u |
dst | x | x | x | u | x | x | x | x | x | u | x | |
MOV | src | x |
| x |
| x |
| x |
| x |
|
|
dst | x | x | x |
| x |
| x |
| x |
| x | |
COP | src |
|
|
|
| x |
| x |
|
|
|
|
dst | x | x |
|
| x |
| x |
|
|
| x | |
len | x |
| x |
| x |
| x |
| x |
|
| |
CCOP | sA |
|
|
|
| x |
| x |
|
|
|
|
sB |
|
|
|
| x |
| x |
|
|
|
| |
dst | x | x |
|
| x |
| x |
|
|
| x | |
len | x |
| x |
| x |
| x |
| x |
|
| |
ROT | st | x |
| x |
| x |
| x |
| x |
| x |
cnt | x |
| x | x | x |
| x |
| x |
|
| |
tm | x | x | x | x |
| x | x | x | x | x | x | |
rep | x |
| x |
| x |
| x |
| x |
|
| |
out | x | x | x |
| x | x | x | x | x |
| x | |
rst |
| x |
| x |
| x |
| x | x | x | x | |
tmp | x | x | x |
| x | x | x | x | x |
| x | |
FOR | idx | x | x | x |
| x | x | x | x | x |
| x |
init | x |
| x |
| x |
| x |
| x |
|
| |
final | x |
| x |
| x |
| x |
| x |
|
| |
step | x |
| x |
| x |
| x |
| x |
|
| |
LRI | label | x | x | x | x | x | x | x | x | x | x |
|
JMP | label | x |
| x |
| x |
| x |
| x |
|
|
CALL | S_file | x |
| x |
| x |
| x |
| x |
|
|
(1) 표의 ‘x’표기는 사용할 수 없음을 나타냅니다.
(2) 릴레이(relay)의 n은 비트(bit) 번호를 나타내며, (B,W,L,F)m은 Byte(8bit), Word(16bit), Long(32bit), Float형식을 구분하는 첨자이고, m은 각 형식의 데이터 번호를 의미합니다. (예, X1, XB2, XW2, XL2, XF2)
(3) 표의 ‘u’표기는 부호 없는(unsigned) 값으로 처리됨을 나타냅니다.
(4) 따라서 명령어의 인수 입력시 릴레이 형식(B, W, L, F)을 선택하는 것에 의해 데이터 사이즈(data size)를 선택할 수 있습니다.
(5) 단 COP(복사)와 CCOP(조건별 복사) 명령의 경우, src가 상수가 아니면, src와 dst 의 릴레이 형식은 같아야 합니다.
(6) 비트에 대한 값을 입력할 때에는 바이트(B)나 워드(W), 혹은 롱워드(L)의 상대 값으로 입력할 수 있습니다. 즉, X34=XB5/2=XW3/2=XL2/2와 같이 동일한 bit번지를 여러 가지 형태로 입력할 수 있습니다.
(7) 상수(constant)
상수의 데이터 사이즈는 32bit이고, 데이터 형식은 2진수, 10진수, 16진수가 있으며, &B로 시작하면 2진수를 의미하고, &H로 시작하면 16진수를 의미하며, 접두어 없는 숫자는 10진수를 의미합니다. 따라서125는 &H7D나 &B01111101과 같은 형식으로 입력할 수 있습니다.
(8) 표에 ‘u’가 표기가 없는 전 릴레이의 (B, W, L, F)는 부호 있는(signed) 값으로 처리합니다.
예를 들어, MOV와 같은 명령에서 B(8bit)값을 W(16bit)에 옮기는 경우에는 부호비트(signed bit)가 확장되기 때문에 주의해야 합니다. 즉, RB(-1=&HFF)를 RW에 옮기면 &H00FF(255)가 아닌 0xFFFF(-1)이 됩니다.
다만, BCD 데이터에 관련된 TOD와 FRD명령, 그리고 7’세그먼트 데이터로 변환하는 SEG명령은 부호 없는 값(unsigned)으로 처리합니다.