|
Metode dan Algoritma | Instruksi Logika Perintah bahasa Assembler assembly | ADD, MOVE, JMP, CLR, RET, RJMP, RCALL, RUTIN CEK, Operasi Aritmatika transfer data . Anda bisa melakukan konsultasi tentang Instruksi Logika Perintah bahasa Assembler assembly | ADD, MOVE, JMP, CLR, RET, RJMP, RCALL, RUTIN CEK, Operasi Aritmatika transfer data melalui form di samping kanan !!!
Instruksi | Arti | contoh |
LDI Rd,K RD = K .d=16-31. K = 0-255 | Artinya copy data 8 bit ke GPR (hanya R16~R31). | LDI R16, 0xf |
ADD Rd,Rr | Rd = Rd + Rr | |
LDS Rd,K(LoaD direct to data Space)Rd = isi alamat K , d = 0~31 K = 0~FFFF | Copy isi alamat K ke RD | LDS R20,0×1.copy alamat 0×0001 (R1) ke R20. |
STS K, Rr(Store direct To data Space) | Mengcopy isi register Rr ke lokasi memory K | 1) STS 0×1 ,R10copy isi R10 ke alamat 0×0001 (R1).2) LDI R16,0×55 |
IN Rd,A | isi GPR dgn memori relatif SFR | IN R20,0×16 (PINB=mem adress 0×36, relatif adress 0×16) |
OUT A,Rr | isi reg i/o dengan Rr | Out PORTD,R10 |
JMP | spt goto bahasa C | lagi : IN R16, PINB |
MOV | Mengcopy data di antara register GPR | MOV R10, R20 |
Instruksi Operasi Aritmatika
Contoh : | ||
ADD | Menambahkan isi dua register. | add r15,r14 ; r15=r15+r14 |
ADC | Menambahkan isi dua register dan isi carry flag | adc r15,r14 ; r15=r15+r14+C |
SUB | Mengurangi isi dua register. | sub r19,r14 ; r19=r19-r14 |
MUL | Mengalikan dua register. Perkalian 8 bit dengan 8 bit menghasilkan bilangan 16 bit yang disimpan di r0untuk byte rendah dan di r1 untuk byte tinggi. Untuk memindahkan bilangan 16 bit antar register registerdigunakan instruksi movw (copy register word) | mul r21,r20 ; r1:r0=r21*r20 |
Instruksi Logika
Instruksi | Arti | Contoh |
AND Rm,Rn | Rm=Rm & Rn | AND Rr23,R27 |
ANDI Rn,kontanta | Rn=Rn & konstanta | ANDI R25,0b11110000 |
OR | R18 = R18 OR R17 | OR R18, R17 |
ORI | Rn = Rn OR konstanta | ori r15,0xfe |
INC | Rn = Rn + 1 | INC R16 |
DEC | Rn = Rn – 1 | DEC R16 |
CLR | Rn = 0 | CLR R15 ; R15=0×00 |
SER | Rn=0xFFh | SER R16 ; r16=0xff |
Instruksi I/O
Instruksi | Arti | Contoh |
IN | membaca data I/O port ke dalam register | IN R16,PinA |
OUT | menulis data register ke I/O port | OUT PortA,R16 |
LDI(load immediate) | menulis konstanta ke register sebelum konstanta tersebut | LDI R16,0xFF |
SBI(set bit in I/O) | membuat logika high pada sebuah bit I/O port | SBI PortB,7 |
CBI(clear bit in I/O) | membuat logika low pada sebuah bit I/O port | CBI PortB,5 |
SBIC(skip if bit in I/O is clear) | lompati satu instruksi jika bit I/O port dalam kondisi clear/low | SBIC PortA,3 |
SBIS(skip if bit in I/O is set) | lompati satu instruksi jika bit I/O port dalam kondisi set/high | SBIS PortB,3 |
Operasi Percabangan
Instruksi Percabangan
istruksi | arti | contoh |
Sbic (skip if bit in I/O is leared) | Skip jika bit I/O yang diuji clear | SBIC PINB,0; Skip if Bit 0 on port B is 0 |
Sbis (skip if bit in I/O is set) | Skip jika bit I/O yang diuji set |
|
sbrc (skip if bit in register is lear) | Skip jika bit dalam register yang diuji clear |
|
cp (compare) | Membandingkan isi dua register | cp r16,r18 ;brne lompat ;(menuju lompat jika r16=r18) |
cpi (compare with immediate) | Membandingakan isi register dengan konstanta tertentu | cpi r16,5 ; r16=5 ?breq lagi ;(menuju lagi jika r16 = 5 |
breq (branch if equal) | Lompat ke label tertentu jika suatu hasil perbandingan adalah sama |
|
brne (branch if not equal) | Lompat ke label tertentu jika suatu hasil perbandingan adalah tidaksama |
|
rjmp (relative jump) | Lompat ke label tertentu |
|
rcall (relative call) | Memanggil subrutin. |
|
ret (return) | Keluar dari sub rutin. |
|
CPSE(ComPare Skip if Equal) | Compare R1 and R2, skip if equal | CPSE R1,R2 |
ActionScript AS3 ASP.NET AJAX C / C++ C# Clipper COBOL ColdFusion DataFlex Delphi Emacs Lisp Fortran FoxPro Java J2ME JavaScript JScript Lingo MATLAB Perl PHP PostScript Python SQL VBScript Visual Basic 6.0 Visual Basic .NET Flash MySQL Oracle Android
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2