திங்கள், 12 நவம்பர், 2012

இயக்கக் குரியீடு (OpCode)















தமிலு   
இங்கு செல்ல "கடுடு + சொடுக்கு"
(Ctrl + Click) செய்க. 




இயக்கக் குரியீடு
(OpCode = Operation Code)
                                     

ஒவ்வொரு னுன்செயலியும் (Microprocessor), அதுக்குரிய மின்சுட்ரு (Circuit) அமய்ப்புக்கு ஏர்ப்ப, எந்திர மொலிக் கட்டலய் னிரலாக்கக் குரியீட்டய்க் (Machine Language Program Code) கொன்டுல்லது.   அதனால் எந்திர மொலிக் கட்டலய் னிரலாக்கக் குரியீடு (Machine Language Program Code) ஆனது, ஒவ்வொரு னுன்செயலியின் (Microprocessor) வகய்க்கு ஏர்ப்ப மாருபடலாகும். 




[1]-------------------------------------------------------  

MIPS னுன்செயலி

[MIPS (Microprocessor without Interlocked Pipeline Stages)
= இடய்ப்பூட்டு குலாய் னிலய் இலி னுன்செயலி]

---------------------------------------------------------  

எந்திர மொலிக் கட்டலய் னிரலாக்க MIPS விதிமுரய்யில், பதிவக வகய் (Register Type), உடனடி வகய் (Immediate Type), தாவல் வகய் (Jump Type) ஆகிய பிரிவு உன்டு.  

பதிவக வகய் (Register Type) விதிமுரய்யில், இயக்கய்க் கட்டலய்க் குரியீடு: (OpCode) ஆக, ரு சுலியம் (000000 = 0x00) மட்டுமே வரலாகும்அதனால் தேவய்யான கட்டலய் விபரம், கட்டலய்ச் சார்பு (Function) என்னும் பகுதியில் வரலாகும்

உடனடி வகய் (Immediate Type) விதிமுரய்யில், இயக்கய்க் கட்டலய்க் குரியீட்டு (OpCode) விபரத்துடன் தேவய்ப்படும் னேர்வில் கட்டலய்க் குரிப்பும் (Note) சேர்ந்தே வரலாகும். 

தாவல் வகய் (Jump Type) விதிமுரய்யில், இயக்கய்க் கட்டலய்க் குரியீட்டு (OpCode) விபரம் வரலாகும். 


-----------------------------------------------------   



MIPS = Microprocessor without Interlocked Pipeline Stages 
இடய்ப்பூட்டு குலாய் னிலய் இலி னுன்செயலி (இகுனிஇலினு விதிமுரய் = MIPS Instruction)

(1)-------------------------------------------------------  

இயக்கக் குரியீட்டு (Operation Code) வரிசய்

---------------------------------------------------------  

1) பதிவக வகய் (6, 5, 5, 5, 5, 6 = 32 துன்மி)  
Register Type (6, 5, 5, 5, 5, 6 = 32 Bit) 

_____________________ இருமம் ___ பதினாருமம் 
_____________________ (Binary) ____ (Hexadecimal


01. கட்டலய்ப் பெயர்
sll (Shift Left Logical
= இடதுபுரத் தருக்கப் பெயர்வு (இதபெ)  
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000000 = 0x00 (Function) 


02. கட்டலய்ப் பெயர்
srl (Shift Right Logical
= வலதுபுரத் தருக்கப் பெயர்வு (வதபெ)  
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000010 = 0x02 (Function) 


03. கட்டலய்ப் பெயர்
sra (Shift Right Arithmetic
= வலதுபுர என்னல்கனிதப் பெயர்வு (வஎபெ) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000011 = 0x03 (Function) 


04. கட்டலய்ப் பெயர்
sllv (Shift Left Logical Variable
= இடதுபுரத் தருக்க மாரி பெயர்வு (இதமாபெ) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000100 = 0x04 (Function)  


05. கட்டலய்ப் பெயர்
srlv (Shift Right Logical Variable
= வலதுபுரத் தருக்க மாரி பெயர்வு (வதமாபெ) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000110 = 0x06 (Function) 


06. கட்டலய்ப் பெயர்
srav (Shift Right Arithmetic Variable
= வலதுபுர என்னல்கனித மாரி பெயர்வு (வஎமாபெ) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 000111 = 0x07 (Function) 



07. கட்டலய்ப் பெயர்
jr (Jump Register) 
= தாவல் பதிவகம் (தாப) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 001000 = 0x08 (Function) 


08. கட்டலய்ப் பெயர்
jalr (Jump And Link Register
= தாவல் மட்ரும் இனய்ப்பு பதிவகம் (தாமஇப) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 001001 = 0x09 (Function) 


09. கட்டலய்ப் பெயர்:  
syscall (System Call
= அமய்ப்புமுரய் கூப்பீடு (அமய்கூ) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 001100 = 0x0C (Function) 


10. கட்டலய்ப் பெயர்
break (Break for Debugging
= பிலய் னீக்குதல் னிருத்தம் (னிருத்) 
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 001101 = 0x0D (Function) 



11. கட்டலய்ப் பெயர்
mfhi (Move From HI) 
= HI பதிவகத்தில் இருந்து னகர்த்து (HIஇன
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 010000 = 0x10 (Function)  


12. கட்டலய்ப் பெயர்
mthi (Move To HI) 
= HI பதிவகத்க்கு னகர்த்து (HIகுன
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 010001 = 0x11 (Function) 


13. கட்டலய்ப் பெயர்
mflo (Move From LO) 
= LO பதிவகத்தில் இருந்து னகர்த்து (LOஇன
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 010010 = 0x12 (Function) 


14. கட்டலய்ப் பெயர்
mtlo (Move To LO) 
= LO பதிவகத்க்கு னகர்த்து (LOகுன
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 010011 = 0x13 (Function) 



15. கட்டலய்ப் பெயர்
mult (Multiply
= பெருக்கு (பெருக்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 011000 = 0x18 (Function) 


16. கட்டலய்ப் பெயர்
multu (Multiply Unsigned
= ஒப்பம் லி பெருக்கு (லிபெருக்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 011001 = 0x19 (Function) 


17. கட்டலய்ப் பெயர்
div (Divide
= கு (கு
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 011010 = 0x1A (Function) 


18. கட்டலய்ப் பெயர்
divu (Divide Unsigned
= ஒப்பம் லி கு (லிகு
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 011011 = 0x1B (Function) 



19. கட்டலய்ப் பெயர்
add (Add with Overflow
= மிகய்ப்பாய்வு உடன் கூட்டு (கூட்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100000 = 0x20 (Function) 


20. கட்டலய்ப் பெயர்
addu (Add unsigned without Overflow
= மிகய்ப்பாய்வு ன்ரி ஒப்பம் லி கூட்டு (லிகூட்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100001 = 0x21 (Function) 


21. கட்டலய்ப் பெயர்
sub (Subtract
= லி (லி
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100010 = 0x22 (Function) 


22. கட்டலய்ப் பெயர்
subu (Subtract Unsigned
= ஒப்பம் லி லி (லிலி
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100011 = 0x23 (Function) 



23. கட்டலய்ப் பெயர்
and (Bitwise And
= துன்மினிலய் உம் (உம்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100100 = 0x24 (Function) 


24. கட்டலய்ப் பெயர்
or (Bitwise Or
= துன்மினிலய் அல்லது (அல்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100101 = 0x25 (Function) 


25. கட்டலய்ப் பெயர்
xor (Bitwise Exclusive Or
= துன்மினிலய் விலக்கும் அல்லது (விஅல்
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100110 = 0x26 (Function) 


26. கட்டலய்ப் பெயர்
nor (Bitwise Nor
= துன்மினிலய் அல்லது இல்லய் (அல்இலி
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 100111 = 0x27 (Function) 



27. கட்டலய்ப் பெயர்
slt (Set on Less Than Signed
= ஒப்பமிட்டதய் விட குரய்வாக அமய் (விகு
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 101010 = 0x2A (Function) 


28. கட்டலய்ப் பெயர்
sltu (Set on Less Than Unsigned
= ஒப்பம் இடாததய் விட குரய்வாக அமய் (இலிவிகுஅ
இயக்கக் குரியீடு: 000000 = 0x00 (OpCode
கட்டலய்ச் சார்பு: 101011 = 0x2B (Function) 


---------------------------------------------------------  



2) உடனடி வகய் (6, 5, 5, 16 = 32 துன்மி)
Immediate Type (6, 5, 5, 16 = 32 Bit) 


01. கட்டலய்ப் பெயர்
bltz (Branch on Less Than Zero) 
= சுலியத்தய் விட குரய்வானதின் மீது கிலய்ப்பிரிவு (சுவிகுகி
இயக்கக் குரியீடு: 000001 = 0x01 (OpCode
கட்டலய்க் குரிப்பு: 00000 = rt (Note) 


02. கட்டலய்ப் பெயர்
bgez (Branch on Greater than or Equal to Zero) 
= சுலியத்துக்கு சமமான அல்லது பெரிதானதின் மீது கிலய்ப்பிரிவு (சுசபெகி
இயக்கக் குரியீடு: 000001 = 0x01 (OpCode
கட்டலய்க் குரிப்பு: 00001 = rt (Note) 


03. கட்டலய்ப் பெயர்
beq (Branch on Equal) 
= சமமானதின் மீது கிலய்ப்பிரிவு (சமகி
இயக்கக் குரியீடு: 000100 = 0x04 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



04. கட்டலய்ப் பெயர்
bne (Branch on Not Equal) 
= சமம் இல்லாததின் மீது கிலய்ப்பிரிவு (சமலிகி
இயக்கக் குரியீடு: 000101 = 0x05 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


05. கட்டலய்ப் பெயர்
blez (Branch on Less than or Equal to Zero) 
= சுலியத்துக்கு சமமான அல்லது குரய்வானதின் மீது கிலய்ப்பிரிவு (சுசகுகி
இயக்கக் குரியீடு: 000110 = 0x06 (OpCode
கட்டலய்க் குரிப்பு: 00000 = rt (Note


06. கட்டலய்ப் பெயர்
bgtz (Branch on Greater than Zero) 
= சுலியத்தய் விட பெரிதானதின் மீது கிலய்ப்பிரிவு (சுவிபெகி
இயக்கக் குரியீடு: 000111 = 0x07 (OpCode
கட்டலய்க் குரிப்பு: 00000 = rt (Note


07. கட்டலய்ப் பெயர்
addi (Add Immediate with Overflow
= மிகய்ப்பாய்வு உடன் உடனடியாக கூட்டு (உகூட்
இயக்கக் குரியீடு: 001000 = 0x08 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



08. கட்டலய்ப் பெயர்
addiu (Add Immediate Unsigned without Overflow
= மிகய்ப்பாய்வு இன்ரி உடனடியாக கூட்டு (இலிஉகூட்
இயக்கக் குரியீடு: 001001 = 0x09 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


09. கட்டலய்ப் பெயர்
slti (Set on Less Than Immediate Signed
= உடனடி ஒப்பத்தய் விட குரய்வாக அமய் (உவிகுஅ
இயக்கக் குரியீடு: 001010 = 0x0A (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


10. கட்டலய்ப் பெயர்
sltiu (Set on Less Than Immediate Unsigned
= உடனடி ஒப்பம் இல்லாததய் விட குரய்வாக அமய் (இலிவிகுஅ
இயக்கக் குரியீடு: 001011 = 0x0B (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


11. கட்டலய்ப் பெயர்
andi (Bitwise And Immediate
= உடனடி துன்மினிலய் உம் (உஉம்
இயக்கக் குரியீடு: 001100 = 0x0C (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



12. கட்டலய்ப் பெயர்
ori (Bitwise OR Immediate) 
= உடனடி துன்மினிலய் அல்லது (அல்
இயக்கக் குரியீடு: 001101 = 0x0D (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


13. கட்டலய்ப் பெயர்
xori (Bitwise Exclusive OR Immediate) 
= உடனடி துன்மினிலய் விலக்கும் அல்லது (உவிஅல்)  
இயக்கக் குரியீடு: 001110 = 0x0E (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


14. கட்டலய்ப் பெயர்
lui (Load Upper Immediate
= உடனடி மேலாக ஏட்ரு உடனடி (உமேஏட்) 
இயக்கக் குரியீடு: 001111 = 0x0F (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


15. கட்டலய்ப் பெயர்
lb (Load Byte
= துன்மியய் ஏட்ரு (துஏ
இயக்கக் குரியீடு: 100000 = 0x20 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



16. கட்டலய்ப் பெயர்
lh (Load Halfword
= அரய்ச்சொல் ஏட்ரு (அஏ
இயக்கக் குரியீடு: 100001 = 0x21 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


17. கட்டலய்ப் பெயர்
lw (Load Word
= சொல்லய் ஏட்ரு (சொஏ
இயக்கக் குரியீடு: 100011 = 0x23 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


18. கட்டலய்ப் பெயர்
lbu (Load Byte Unsigned
= ஒப்பம் லி துன்மியய் ஏட்ரு (லிதுஏ
இயக்கக் குரியீடு: 100100 = 0x24 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


19. கட்டலய்ப் பெயர்
lhu (Load Halfword Unsigned
= ஒப்பம் லி அரய்ச்சொல் ஏட்ரு (லிஅஏ
இயக்கக் குரியீடு: 100101 = 0x25 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



20. கட்டலய்ப் பெயர்
sb (Store Byte) 
= துன்மியய் சேமி (துசே
இயக்கக் குரியீடு: 101000 = 0x28 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


21. கட்டலய்ப் பெயர்
sh (Store Halfword) 
= அரய்ச்சொல் சேமி (அசே
இயக்கக் குரியீடு: 101001 = 0x29 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


22. கட்டலய்ப் பெயர்
sw (Store Word) 
= சொல்லய் சேமி (சொசே
இயக்கக் குரியீடு: 101011 = 0x2B (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 


23. கட்டலய்ப் பெயர்
lwc1 (Load Word into Coprocessor 1
= சொல் னய்ச்செயலி 1-ல் ஏட்ரு (சொஇசெ1ஏட்
இயக்கக் குரியீடு: 110001 = 0x31 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 



24. கட்டலய்ப் பெயர்
swc1 (Store Word from Coprocessor 1
= சொல் இனய்ச்செயலி 1-இல் இருந்து சேமி (சொஇசெ1சே
இயக்கக் குரியீடு: 111001 = 0x39 (OpCode
கட்டலய்க் குரிப்பு: ----------------------- 

---------------------------------------------------------  


3) தாவல் வகய் (6, 26 = 32 துன்மி)  
Jump Type (6, 26 = 32 Bit) 


1. கட்டலய்ப் பெயர்
j (Jump) 
= தாவல் (தா
இயக்கக் குரியீடு: 000010 = 0x02 (OpCode


2. கட்டலய்ப் பெயர்
jal (Jump And Link) 
= தாவல் மட்ரும் இனய்ப்பு (தாமஇ
இயக்கக் குரியீடு: 000011 = 0x03 (OpCode


---------------------------------------------------------  


(2)-------------------------------------------------------  

கட்டலய்னிரல் குரியீட்டு (Program Code) வரிசய் 

---------------------------------------------------------  

இகுனிஇலினு விதிமுரய்: (MIPS Instruction)  

1) பதிவக வகய் (6, 5, 5, 5, 5, 6 = 32 துன்மி)  
Register Type (6, 5, 5, 5, 5, 6 = 32 Bit) 


01 
sll (Shift Left Logical
= இடதுபுரத் தருக்கப் பெயர்வு (இதபெ)  
கட்டலய்ச் சார்பு: 000000 = 0x00 (Function) 
sll $t0, $t1, $t2
sll $8, $9, $10
= 000000+00000+01001+01000+01010+000000 


02  
srl (Shift Right Logical
= வலதுபுரத் தருக்கப் பெயர்வு (வதபெ)  
கட்டலய்ச் சார்பு: 000010 = 0x02 (Function) 
srl $t0, $t1, $t2
srl $8, $9, $10
= 000000+00000+01001+01000+01010+000010 



03  
jr (Jump Register) 
= தாவல் பதிவகம் (தாப) 
கட்டலய்ச் சார்பு: 001000 = 0x08 (Function Code) 
jr $t0
jr $8
= 000000+01000+00000+00000+00000+001000 


04  
mfhi (Move From HI) 
= HI பதிவகத்தில் இருந்து னகர்த்து (HIஇன
கட்டலய்ச் சார்பு: 010000 = 0x10 (Function Code) 
mfhi $t0
mfhi $8
= 000000+00000+00000+01000+00000+010000 


05  
mflo (Move From LO) 
= LO பதிவகத்தில் இருந்து னகர்த்து (LOஇன
கட்டலய்ச் சார்பு: 010010 = 0x12 (Function Code)  
mflo $t0
mflo $8
= 000000+00000+00000+01000+00000+010010 



06  
mult (Multiply
= பெருக்கு (பெருக்
கட்டலய்ச் சார்பு: 011000 = 0x18 (Function Code)  
mult $t0, $t1
mult $8, $9
= 000000+01000+01001+00000+00000+011000 


07  
multu (Multiply Unsigned
= ஒப்பம் லி பெருக்கு (லிபெருக்
கட்டலய்ச் சார்பு: 011001 = 0x19 (Function Code)  
multu $t0, $t1
multu $8, $9
= 000000+01000+01001+00000+00000+011001 


08  
div (Divide
= கு (கு
கட்டலய்ச் சார்பு: 011010 = 0x1A (Function Code)  
div $t0, $t1
div $8, $9
= 000000+01000+01001+00000+00000+011010 



09  
divu (Divide Unsigned
= ஒப்பம் லி கு (லிகு
கட்டலய்ச் சார்பு: 011011 = 0x1B (Function Code)  
divu $t0, $t1
divu $8, $9
= 000000+01000+01001+00000+00000+011011 


10
add (Add with Overflow
= மிகய்ப்பாய்வு உடன் கூட்டு (கூட்
கட்டலய்ச் சார்பு: 100000 = 0x20 (Function Code)  
add $t0, $t1, $t2
add $8, $9, $10
= 000000+01001+01010+01000+00000+100000  


11  
addu (Add unsigned without Overflow
= மிகய்ப்பாய்வு ன்ரி ஒப்பம் லி கூட்டு (லிகூட்
கட்டலய்ச் சார்பு: 100001 = 0x21 (Function Code)  
addu $t0, $t1, $t2
addu $8, $9, $10
= 000000+01001+01010+01000+00000+100001 



12  
sub (Subtract
= லி (லி
கட்டலய்ச் சார்பு: 100010 = 0x22 (Function Code
sub $t0, $t1, $t2
sub $8, $9, $10
= 000000+01001+01010+01000+00000+100010 


13  
subu (Subtract Unsigned
= ஒப்பம் லி லி (லிலி
கட்டலய்ச் சார்பு: 100011 = 0x23 (Function Code)  
subu $t0, $t1, $t2
subu $8, $9, $10
= 000000+01001+01010+01000+00000+100011 


14  
and (Bitwise And
= துன்மினிலய் உம் (உம்
கட்டலய்ச் சார்பு: 100100 = 0x24 (Function Code)  
and $t0, $t1, $t2
and $8, $9, $10
= 000000+01001+01010+01000+00000+100100  



15
or (Bitwise Or
= துன்மினிலய் அல்லது (அல்
கட்டலய்ச் சார்பு: 100101 = 0x25 (Function Code)  
or $t0, $t1, $t2
or $8, $9, $10
= 000000+01001+01010+01000+00000+100101  


16  
slt (Set on Less Than Signed
= ஒப்பமிட்டதய் விட குரய்வாக அமய் (விகு
கட்டலய்ச் சார்பு: 101010 = 0x2A (Function Code)  
slt $t0, $t1, $t2
slt $8, $9, $10
= 000000+01001+01010+01000+00000+101010  


17  
sltu (Set on Less Than Unsigned
= ஒப்பம் இடாததய் விட குரய்வாக அமய் (இலிவிகுஅ
கட்டலய்ச் சார்பு: 101011 = 0x2B (Function Code)  
sltu $t0, $t1, $t2
sltu $8, $9, $10
= 000000+01001+01010+01000+00000+101011 

-----------------------------------------------------   


2) உடனடி வகய் (6, 5, 5, 16 = 32 துன்மி)
Immediate Type (6, 5, 5, 16 = 32 Bit) 


01  
beq (Branch on Equal) 
= சமமானதின் மீது கிலய்ப்பிரிவு (சமகி
இயக்கக் குரியீடு: 000100 = 0x04 (OpCode)  
beq $t0, $t1, 12
beq $8, $9, 12
= 000100+01000+01001+0000000000001100 


02  
bne (Branch on Not Equal) 
= சமம் இல்லாததின் மீது கிலய்ப்பிரிவு (சமலிகி
இயக்கக் குரியீடு: 000101 = 0x05 (OpCode)  
bne $t0, $t1, 12
bne $8, $9, 12
= 000101+01000+01001+0000000000001100  


03  
addi (Add Immediate with Overflow
= மிகய்ப்பாய்வு உடன் உடனடியாக கூட்டு (உகூட்
இயக்கக் குரியீடு: 001000 = 0x08 (OpCode
addi $t0, $t1, 12
addi $8, $9, 12
= 001000+01001+01000+0000000000001100 



04  
addiu (Add Immediate Unsigned without Overflow
= மிகய்ப்பாய்வு இன்ரி உடனடியாக கூட்டு (இலிஉகூட்
இயக்கக் குரியீடு: 001001 = 0x09 (OpCode
addiu $t0, $t1, 12
addiu $8, $9, 12
= 001001+01001+01000+0000000000001100  


05  
slti (Set on Less Than Immediate Signed
= உடனடி ஒப்பத்தய் விட குரய்வாக அமய் (உவிகுஅ
இயக்கக் குரியீடு: 001010 = 0x0A (OpCode)  
slti $t0, $t1, 12
slti $8, $9, 12
= 001010+01001+01000+0000000000001100  


06  
sltiu (Set on Less Than Immediate Unsigned
= உடனடி ஒப்பம் இல்லாததய் விட குரய்வாக அமய் (இலிவிகுஅ
இயக்கக் குரியீடு: 001011 = 0x0B (OpCode)  
sltiu $t0, $t1, 12
sltiu $8, $9, 12
= 001011+01001+01000+0000000000001100  



07  
andi (Bitwise And Immediate
= உடனடி துன்மினிலய் உம் (உஉம்
இயக்கக் குரியீடு: 001100 = 0x0C (OpCode
andi $t0, $t1, 12
andi $8, $9, 12
= 001100+01001+01000+0000000000001100  


08  
ori (Bitwise OR Immediate) 
= உடனடி துன்மினிலய் அல்லது (அல்
இயக்கக் குரியீடு: 001101 = 0x0D (OpCode
ori $t0, $t1, 12
ori $8, $9, 12
= 001101+01001+01000+0000000000001100  


09  
lui (Load Upper Immediate
= உடனடி மேலாக ஏட்ரு உடனடி (உமேஏட்) 
இயக்கக் குரியீடு: 001111 = 0x0F (OpCode)  
lui $t0, 12
lui $4, 12
= 001111+00000+00100+00000000000001100   



10  
lw (Load Word
= சொல்லய் ஏட்ரு (சொஏ
இயக்கக் குரியீடு: 100011 = 0x23 (OpCode)  
lw $t0, 12($t1)
lw $8, 12($9)
= 100011+01001+01000+0000000000001100  


11  
sw (Store Word) 
= சொல்லய் சேமி (சொசே
இயக்கக் குரியீடு: 101011 = 0x2B (OpCode)  
sw $t0, 12($t1)
sw $8, 12($9)
= 101011+01001+01000+0000000000001100  

-----------------------------------------------------   


3) தாவல் வகய் (6, 26 = 32 துன்மி)  
Jump Type (6, 26 = 32 Bit) 


01
j (Jump) 
= தாவல் (தா
இயக்கக் குரியீடு: 000010 = 0x02 (OpCode) 
j 12
j 12
= 000010+00000000000000000000001100  


02  
jal (Jump And Link) 
= தாவல் மட்ரும் இனய்ப்பு (தாமஇ
இயக்கக் குரியீடு: 000011 = 0x03 (OpCode) 
jal 12
jal 12
= 000011+00000000000000000000001100  


-----------------------------------------------------   


[2]-------------------------------------------------------  

x86 னுன்செயலி  

---------------------------------------------------------  


எந்திர மொலிக் கட்டலய்னிரலாக்க x86 விதிமுரய்யில் (Instruction), சார்புத் தாவல் (Relative Jump), னிபந்தனய்த் தாவல் (Conditional Jump), தனித் தாவல் (Absolute Jump), பதிவக-மரய்முகத் தாவல் (Register-indirect Jump) ஆகிய பிரிவு உன்டு

னிபந்தனய்த் தாவல் (Conditional Jump) விதிமுரய் (Instruction) ஆனது, குரிக் கொடி (Sign Flag), கொன்டுசெல்லிக் கொடி (Carry Flag), சமனிலய்க் கொடி (Parity Flag), சுலியக் கொடி (zero Flag), மிகய்ப்பாய்வுக் கொடி (Overflow Flag) போலும் கொடி மதிப்பின் (Value of Flag) னிபந்தனய் அடிப்படய்யில் செயல்படலாகும்


-----------------------------------------------------   



னிபந்தனய்க் குரியீடு (Condition Code
            

(1)-------------------------------------------------------  

x86 னுன்செயலி (Processor) 

கட்டலய்னிரலாக்க (Programming)
தாவல்  விதிமுரய் (Jump Instruction)
னிபந்தனய்க் குரியீட்டு (Condition Code)
வரிசய்

---------------------------------------------------------  


0000 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = O = Overflow 
_______ = மிகய்ப்பாய்வு = மி 


0001 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NO = No Overflow 
_______ = மிகய்ப்பாய்வு இல்லாது = மிஇலி 


0010 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = B (NAE, C) = Below (Not Above or Equal, Carry
_______ = கீலாக (மேலாக அல்லது சமமாக இல்லாது,
_________ கொன்டுசெல்லி) = கீ (மேசஇலி, கொ


0011 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NB (AE, NC) = Not Below (Above or Equal, No Carry
_______ = கீலாக இல்லாது (மேலாக அல்லது சமமாக,
_________ கொன்டுசெல்லி இல்லாது) = கீஇலி (மேச, கொஇலி


0100 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = E (Z) = Equal (Zero
_______ = சமமாக (சுலியமாக) = (சு


0101 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NE (NZ) = Not Equal (Not Zero
_______ = சமமாக இல்லாது (சுலியமாக இல்லாது
_______ = சஇலி (சுஇலி


0110 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NA (BE) = Not Above (Below or Equal
_______ = மேலாக இல்லாது (கீலாக அல்லது சமமாக
_______ = மேஇலி (கீச


0111 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = A (NBE) = Above (Not Below or Equal
_______ = மேலாக (கீலாக அல்லது சமமாக இல்லாது
_______ = மே (கீசஇலி


1000 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = S = Sign 
_______ = குரி = கு 


1001 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NS = No Sign 
_______ = குரி இல்லாது = குஇலி 


1010 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = P (PE) = Parity (Parity Even
_______ = சமனிலய் (இரட்டய்ச் சமனிலய்) = சமனி (இசமனி


1011 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NP (PO) = No Parity (Parity Odd
_______ = சமனிலய் இல்லாது (ஒட்ரய்ச் சமனிலய்)
_______ = சமனிஇலி (ஒசமனி


1100 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = L (NGE) = Less than (Not Greater than or Equal
_______ = குரய்வாக (பெரிதாக அல்லது சமமாக இல்லாது
_______ = கு (பெசஇலி


1101 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NL (GE) = Not Less than (Greater than or Equal
_______ = குரய்வாக இல்லாது (பெரிதாக அல்லது சமமாக
_______ = குஇலி (பெச


1110 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NG (LE) = Not Greater than (Less than or Equal
_______ = பெரிதாக இல்லாது (குரய்வாக அல்லது சமமாக
_______ = பெஇலி (குச


1111 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = G (NLE) = Greater than (Not Less than or Equal
_______ = பெரிதாக (குரய்வாக அல்லது சமமாக இல்லாது
_______ = பெ (குசஇலி

---------------------------------------------------------  



(2)-------------------------------------------------------  

னிபந்தனய்க் குரியீட்டு (Condition Code) வெலக்கம்: 

---------------------------------------------------------  

0000 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = O = Overflow 
_______ = மிகய்ப்பாய்வு (மி
_______ = JO = Jump if Overflow 
_______ = மிகய்ப்பாய்வு இருப்பின் தாவல் (மிதா

---------------------------------------------------------  

0001 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NO = No Overflow 
_______ = மிகய்ப்பாய்வு இல்லாது (மிஇலி
_______ = JNO = Jump if No Overflow 
_______ = மிகய்ப்பாய்வு இல்லாது இருப்பின் தாவல் (மிஇலிதா

---------------------------------------------------------  


0010 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = B (NAE, C) = Below (Not Above or Equal, Carry
_______ = B = Below -------------------- (1)  
_______ = கீலாக (கீ
_______ = JB = Jump if Below 
_______ = கீலாக இருப்பின் தாவல் (கீதா
_______ = NAE = Not Above or Equal ------- (2)  
_______ = மேலாக அல்லது சமமாக இல்லாது (மேசஇலி
_______ = JNAE = Jump if Not Above or Equal 
_______ = மேலாக அல்லது சமமாக இல்லாது  
_________ இருப்பின் தாவல் (மேசஇலிதா
_______ = C = Carry -------------------- (3)  
_______ = கொன்டுசெல்லி (கொ
_______ = JC = Jump if Carry 
_______ = கொன்டுசெல்லி இருப்பின் தாவல் (கொதா

---------------------------------------------------------  



0011 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NB (AE, NC) = Not Below (Above or Equal, No Carry
_______ = NB = Not Below -------------------- (1)  
_______ = கீலாக இல்லாது (கீஇலி
_______ = JNB = Jump if Not Below 
_______ = கீலாக இல்லாது இருப்பின் தாவல் (கீஇலிதா
_______ = AE = Above or Equal ---------------- (2)  
_______ = மேலாக அல்லது சமமாக (மேச
_______ = JAE = Jump if Above or Equal 
_______ = மேலாக அல்லது சமமாக
_________ இருப்பின் தாவல் (மேசதா
_______ = NC = No Carry --------------------- (3)  
_______ = கொன்டுசெல்லி இல்லாது (கொஇலி
_______ = JNC = Jump if No Carry 
_______ = கொன்டுசெல்லி இல்லாது
_________ இருப்பின் தாவல் (கொஇலிதா

---------------------------------------------------------  


0100 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = E (Z) = Equal (Zero
_______ = E = Equal -------------------- (1)  
_______ = சமமாக (
_______ = JE = Jump if Equal 
_______ = சமமாக இருப்பின் தாவல் (சதா
_______ = Z = Zero --------------------- (2)  
_______ = சுலியமாக (சு
_______ = JZ = Jump if Zero 
_______ = சுலியமாக இருப்பின் தாவல் (சுதா

---------------------------------------------------------  

0101 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NE (NZ) = Not Equal (Not Zero
_______ = NE = Not Equal -------------------- (1)  
_______ = சமமாக இல்லாது (சஇலி
_______ = JNE = Jump if Not Equal 
_______ = சமமாக இல்லாது இருப்பின் தாவல் (சஇலிதா
_______ = NZ = Not Zero --------------------- (2)  
_______ = சுலியமாக இல்லாது (சுஇலி
_______ = JNZ = Jump if Not Zero 
_______ = சுலியமாக இல்லாது இருப்பின் தாவல் (சுஇலிதா

---------------------------------------------------------  


0110 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NA (BE) = Not Above (Below or Equal
_______ = NA = Not Above -------------------- (1)  
_______ = மேலாக இல்லாது (மேஇலி
_______ = JNA = Jump if Not Above 
_______ = மேலாக இல்லாது இருப்பின் தாவல் (மேஇலிதா
_______ = BE = Below or Equal ---------------- (2)  
_______ = கீலாக அல்லது சமமாக (கீச
_______ = JBE = Jump if Below or Equal 
_______ = கீலாக அல்லது சமமாக இருப்பின் தாவல் (கீசதா

---------------------------------------------------------  

0111 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = A (NBE) = Above (Not Below or Equal
_______ = A = Above ------------------------- (1)  
_______ = மேலாக (மே) 
_______ = JA = Jump if Above 
_______ = மேலாக இருப்பின் தாவல் (மேதா) 
_______ = NBE = Not Below or Equal ------------- (2)  
_______ = கீலாக அல்லது சமமாக இல்லாது (கீசஇலி
_______ = JNBE = Jump if Not Below or Equal 
_______ = கீலாக அல்லது சமமாக இல்லாது
_________ இருப்பின் தாவல் (கீசஇலிதா

---------------------------------------------------------  


1000 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = S = Sign 
_______ = குரி (கு
_______ = JS = Jump if Sign 
_______ = குரி இருப்பின் தாவல் (குதா

---------------------------------------------------------  

1001 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NS = No Sign 
_______ = குரி இல்லாது (குஇலி
_______ = JNS = Jump if No Sign 
_______ = குரி இல்லாது இருப்பின் தாவல் (குஇலிதா

---------------------------------------------------------  

1010 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = P (PE) = Parity (Parity Even
_______ = P = Parity -------------------------- (1)  
_______ = சமனிலய் (சமனி
_______ = JP = Jump if Parity 
_______ = சமனிலய் இருப்பின் தாவல் (சமனிதா
_______ = PE = Parity Even -------------------- (2)  
_______ = இரட்டய்ச் சமனிலய் (இசமனி
_______ = JPE = Jump if Parity Even 
_______ = இரட்டய்ச் சமனிலய் இருப்பின் தாவல் (இசமனிதா

---------------------------------------------------------  


1011 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NP (PO) = No Parity (Parity Odd
_______ = NP = No Parity -------------------------- (1)  
_______ = சமனிலய் இல்லாது (சமனிஇலி
_______ = JNP = Jump if No Parity 
_______ = சமனிலய் இல்லாது இருப்பின் தாவல் (சமனிஇலிதா
_______ = PO = Parity Odd ------------------------- (2)  
_______ = ஒட்ரய்ச் சமனிலய் (ஒசமனி
_______ = JPO = Jump if Parity Odd 
_______ = ஒட்ரய்ச் சமனிலய் இருப்பின் தாவல் (ஒசமனிதா

---------------------------------------------------------  

1100 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = L (NGE) = Less than (Not Greater than or Equal
_______ = L = Less than ----------------------------- (1)  
_______ = குரய்வாக (கு
_______ = JL = Jump if Less than 
_______ = குரய்வாக இருப்பின் தாவல் (குதா
_______ = NGE = Not Greater than or Equal -------------- (2)  
_______ = பெரிதாக அல்லது சமமாக இல்லாது (பெசஇலி
_______ = JNGE = Jump if Not Greater than or Equal 
_______ = பெரிதாக அல்லது சமமாக இல்லாது
_________ இருப்பின் தாவல் (பெசஇலிதா

---------------------------------------------------------  


1101 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NL (GE) = Not Less than (Greater than or Equal
_______ = NL = Not Less than ----------------------------- (1)  
_______ = குரய்வாக இல்லாது (கு
_______ = JNL = Jump if Not Less than 
_______ = குரய்வாக இல்லாது இருப்பின் தாவல் (குஇலிதா
_______ = GE = Greater than or Equal ----------------------- (2)  
_______ = பெரிதாக அல்லது சமமாக (பெச
_______ = JGE = Jump if Greater than or Equal 
_______ = பெரிதாக அல்லது சமமாக
_________ இருப்பின் தாவல் (பெசதா

---------------------------------------------------------  

1110 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = NG (LE) = Not Greater than (Less than or Equal
_______ = NG = Not Greater than ----------------------- (1)  
_______ = பெரிதாக இல்லாது (பெஇலி
_______ = JNG = Jump if Not Greater than 
_______ = பெரிதாக இல்லாது இருப்பின் தாவல் (பெஇலிதா
_______ = LE = Less than or Equal ----------------------- (2)  
_______ = குரய்வாக அல்லது சமமாக (குச
_______ = JLE = Jump if Less than or Equal 
_______ = குரய்வாக அல்லது சமமாக
_________ இருப்பின் தாவல் (குசதா

---------------------------------------------------------  


1111 _______ = னிபந்தனய்க் குரியீடு (Condition Code)  
_______ = G (NLE) = Greater than (Not Less than or Equal
_______ = G = Greater than -------------------------- (1)  
_______ = பெரிதாக (பெ
_______ = JG = Jump if Greater than 
_______ = பெரிதாக இருப்பின் தாவல் (பெதா
_______ = NLE = Not Less than or Equal ---------------- (2)  
_______ = குரய்வாக அல்லது சமமாக இல்லாது (குசஇலி
_______ = JNLE = Jump if Not Less than or Equal 
_______ = குரய்வாக அல்லது சமமாக இல்லாது
_________ இருப்பின் தாவல் (குசஇலிதா

---------------------------------------------------------  



(3)-------------------------------------------------------  

னிபந்தனய்த் தாவல்  (conditional Jump) வரிசய் 

---------------------------------------------------------  

JA = Jump if Above
மேலாக இருப்பின் தாவல் (மேதா) 

JAE = Jump if Above or Equal
மேலாக அல்லது சமமாக இருப்பின் தாவல் (மேசதா

JB = Jump if Below
கீலாக இருப்பின் தாவல் (கீதா

JBE = Jump if Below or Equal
கீலாக அல்லது சமமாக இருப்பின் தாவல் (கீசதா

JC = Jump if Carry
கொன்டுசெல்லி இருப்பின் தாவல் (கொதா

JE = Jump if Equal
சமமாக இருப்பின் தாவல் (சதா

JG = Jump if Greater than
பெரிதாக இருப்பின் தாவல் (பெதா

JGE = Jump if Greater than or Equal
பெரிதாக அல்லது சமமாக இருப்பின் தாவல் (பெசதா

JL = Jump if Less than
குரய்வாக இருப்பின் தாவல் (குதா

JLE = Jump if Less than or Equal
குரய்வாக அல்லது சமமாக இருப்பின் தாவல் (குசதா

JNA = Jump if Not Above
மேலாக இல்லாது இருப்பின் தாவல் (மேஇலிதா

JNAE = Jump if Not Above or Equal 
மேலாக அல்லது சமமாக இல்லாது இருப்பின் தாவல் (மேசஇலிதா

JNB = Jump if Not Below
கீலாக இல்லாது இருப்பின் தாவல் (கீஇலிதா

JNBE = Jump if Not Below or Equal
கீலாக அல்லது சமமாக இல்லாது இருப்பின் தாவல் (கீசஇலிதா

JNC = Jump if No Carry
கொன்டுசெல்லி இல்லாது இருப்பின் தாவல் (கொஇலிதா

JNE = Jump if Not Equal
சமமாக இல்லாது இருப்பின் தாவல் (சஇலிதா

JNG = Jump if Not Greater than
பெரிதாக இல்லாது இருப்பின் தாவல் (பெஇலிதா

JNGE = Jump if Not Greater than or Equal
பெரிதாக அல்லது சமமாக இல்லாது இருப்பின் தாவல் (பெசஇலிதா

JNL = Jump if Not Less than
குரய்வாக இல்லாது இருப்பின் தாவல் (குஇலிதா

JNLE = Jump if Not Less than or Equal
குரய்வாக அல்லது சமமாக இல்லாது இருப்பின் தாவல் (குசஇலிதா

JNO = Jump if No Overflow
மிகய்ப்பாய்வு இல்லாது இருப்பின் தாவல் (மிஇலிதா

JNP = Jump if No Parity
சமனிலய் இல்லாது இருப்பின் தாவல் (சமனிஇலிதா

JNS = Jump if No Sign
குரி இல்லாது இருப்பின் தாவல் (குஇலிதா

JNZ = Jump if Not Zero
சுலியமாக இல்லாது இருப்பின் தாவல் (சுஇலிதா

JO = Jump if Overflow
மிகய்ப்பாய்வு இருப்பின் தாவல் (மிதா

JP = Jump if Parity
சமனிலய் இருப்பின் தாவல் (சமனிதா

JPE = Jump if Parity Even
இரட்டய்ச் சமனிலய் இருப்பின் தாவல் (இசமனிதா

JPO = Jump if Parity Odd
ஒட்ரய்ச் சமனிலய் இருப்பின் தாவல் (ஒசமனிதா

JS = Jump if Sign
குரி இருப்பின் தாவல் (குதா

JZ = Jump if Zero
சுலியமாக இருப்பின் தாவல் (சுதா

---------------------------------------------------------  


(தமிலு மொலியின் னோக்கம் / Purpose of the Tamilu Language)

"எலுத்துப்பிலய்" என்பது, "மொலியின் குட்ரமே" ஆகும்.  ஒரே ஒரு N, R, L, ,,,, கொன்ட மொலியில், எலுத்துப்பிலய் ஏர்ப்பட வாய்ப்பு இல்லய். 

அதாவது ஒரு மொலியில் (தமிலுவில்) ஒன்ருக்கு மேல்பட்ட கரம் (ன,, ந), கரம் (ர, ற), கரம் (ல,, ழ) இருப்பதினால்தான்கர (ன,, ந), கர (ர, ற),
கரத்தில் (ல,, ழ) எலுத்துப்பிலய் ஏர்ப்படலாகுது. 

ஒரே ஒரு கர (N), கர (R), கரத்தய்க் (L) கொன்ட மொலியில் (ஆங்கிலத்தில்), கர (N), கர (R), கரத்தில் (L) எலுத்துப்பிலய் ஏர்ப்பட வாய்ப்பு இல்லய். 

அது போன்ரு ஒரே ஒரு கர (K), கர (S), கர (T), கர (D), கரத்தய்க் (P) கொன்ட மொலியில் (தமிலுவில்), கர (K), கர (S), கர (T), கர (D), கரத்தில் (P) எலுத்துப்பிலய் ஏர்ப்பட வாய்ப்பு இல்லய். 

எனவே "எலுத்துப்பிலய்" என்பது, "மொலியின் குட்ரமே" ஆகும்.  சிரப்பு எலுத்தினால் தடுமாட்ரம் ஏர்ப்பட்டுவிடக் கூடாது என்பதுதான், "தமிலு மொலியின் னோக்கம்" ஆகும். 
-----------------------------------------------------  

முகப்புப் பக்கத்துக்குச் செல்ல   இயக்கக் 
என்பதன் மீது
, "கடுடு + சொடுக்கு" (Ctrl + Click) செய்க.