Cara Meremote Dekstop Banana Pi

Assalamualaikum wr wb. Selamat datang di blog Ahmad kurnia,semoga agan semua dalam keadaan sehat walafiat. semoga artikel yang saya tulis bermanfaat bagi saya dan anda yang membacanya.
Dalam Artikel ini saya menulis karena semakin majunya teknologi computer dunia.
Salah satunya yaitu mini PC.Artikel ini saya tulis hanya untuk berbagi apa yang sempat saya ketahui kepada agan-agan.

Langsung Saja....

1.Pastikan mini pc anda tehubung dengan laptop agan dengan baik
2.Sebelumnya agan harus menginstall Advance IP scaner dan putty
3.Buka Advance IP scaner yang sudah terinstall di pc anda
   kemudian ketik IP seperi gambar berikut,mengapa???
   karena ip tersebur ip defaul banana pi.
   dan klick scan

 

4. Kemudian ip mini pc tersebut akan terlihat seperti pada gambar di bawah ini

5. kemudian copy ip tersebut seperti gambar di bawah ini

6. Buka putty agan dan paste ip tesebut dan klick open

7. Maka agan akan diminta user name dan password.cari saja di lenmaker.org biasanya dipost di web tersebut

 8. maka agan telah masuk pada SO Bananian

 9. aktifkan SSH di mini pc agan
     ketik perintah sudo raspi-config


 10. Pilih advance

 11.Pilih SSH


 12 dan enable kan SSH tersebut

 13.Jika sudah enable maka akan muncul gambar seperti ini.

 14. install xrdp pada mini pc agan
dengan mengetik perintah sudo apt-get install xrdp


 15.Kemuidan restart mini pc anda dengan perintah sudo reboot

 16.Setelah itu kembali ke Advance ip scaner agan klick kanan ip mini pc agan dan pilih RDPatau remote dekstop

 17.Maka akan mucul tampilan seperti di bawah ini

 Masukkan user name dan password cari saja di lenmaker.org

 18. tara.........
agan telah masuk dekstop mini PV agan..




Bahasa Asembly Tutorial ( x86 )

Assalamualaikum wr wb. Selamat datang di blog Ahmad kurnia,semoga anda dalam keadaan sehat walafiat. semoga artikel yang saya tulis bermanfaat bagi saya dan anda ynag membacanya.

Bahasa Asembly Tutorial ( x86 )



The GNU Assembler , gas , menggunakan sintaks yang berbeda dari apa yang  mungkin akan menemukan di setiap referensi manual x86 , dan instruksi dua - operan memiliki sumber dan tujuan dalam urutan yang berlawanan . Berikut adalah jenis-jenis instruksi gas :
    opcode ( mis. , pushal )
    opcode operan ( misalnya , pushl % edx )
    Sumber opcode , dest ( misalnya , movl % edx , % eax ) ( misalnya , addl % edx , % eax )
Dimana ada dua operan , yang paling kanan adalah tujuan. Yang paling kiri adalah salah satu sumber.
Misalnya, movl % edx , % eax berarti Pindahkan isi edx mendaftar ke eax register . Sebagai contoh lain , addl % edx , % eax berarti Tambahkan isi edx dan eax register , dan menempatkan jumlah dalam eax register .
Termasuk dalam perbedaan sintaksis antara gas dan perakit Intel adalah bahwa semua nama register yang digunakan sebagai operan harus diawali dengan persen ( % ) tanda , dan nama instruksi biasanya berakhir baik " l " , " w " , atau " b " , menunjukkan ukuran operan : long atau real ( 32 bit ) , word ( 16 bit ) , atau byte ( 8 bit ) , masing-masing. Untuk tujuan kita , kita biasanya akan menggunakan " l " ( panjang ) akhiran .
80.386 + Daftar Set
Ada nama yang berbeda untuk register yang sama tergantung pada apa bagian dari register yang ingin Anda gunakan . Untuk menggunakan set pertama dari 8 bit eax ( bit 0-7 ) , Anda akan menggunakan % al . Untuk set kedua dari 8 bit ( bit 8-15 ) dari eax Anda akan menggunakan % ah . Untuk merujuk ke terendah 16 bit eax ( bit 0-15 ) bersama-sama Anda akan menggunakan % kapak . Untuk seluruh 32 bit Anda akan menggunakan % eax ( 90 % dari saat ini adalah apa yang akan Anda gunakan ) . Bentuk nama register harus setuju dengan akhiran ukuran instruksi .
Berikut adalah register prosesor penting :
    EAX , EBX , ECX , EDX - " tujuan umum " , lebih atau kurang saling dipertukarkan
    EBP - digunakan untuk mengakses data pada stack
                    - Ketika register ini digunakan untuk menentukan alamat , SS adalah
                      digunakan secara implisit
    ESI , EDI - register index , relatif terhadap DS , ES masing-masing
    SS , DS , CS , ES , FS , GS - register segmen
                      - ( Ketika Intel pergi dari 286 ke 386 , mereka pikir
                         bahwa menyediakan register segmen yang lebih akan lebih
                         berguna untuk programmer daripada menyediakan lebih umum -
                         register tujuan ... sekarang , mereka memiliki dasarnya
                         Prosesor RISC dengan GPR hanya _FOUR_ ! )
                      - Ini semua hanya 16 bit dalam ukuran
    EIP - program counter (instruction pointer ) , relatif terhadap CS
    ESP - stack pointer , relatif terhadap SS
    EFLAGS - kode kondisi , bendera a.k.a.
segmentasi
Kami menggunakan segmen 32 - bit fitur dari 486 Menggunakan 32 - bit dibandingkan dengan 16 - bit memberi kita banyak keuntungan :
Tidak perlu khawatir tentang 64K segmen . Segmen dapat 4 gigabyte panjang di bawah arsitektur 32-bit .
Segmen 32-bit memiliki mekanisme perlindungan untuk segmen , yang Anda memiliki pilihan untuk menggunakan .
Anda tidak harus berurusan dengan semua itu jelek 16 - bit mentah yang digunakan dalam sistem operasi lain untuk PC , seperti DOS atau OS / 2 ; 32-bit segmentasi benar-benar suatu keindahan dibandingkan dengan itu.
alamat i486 terbentuk dari alamat dasar segmen ditambah offset . Untuk menghitung alamat memori mutlak , i486 angka keluar yang register segmen yang digunakan , dan menggunakan nilai dalam register segmen sebagai indeks ke dalam tabel deskripsi global yang ( GDT ) . Masuknya di GDT mengatakan ( antara lain ) apa alamat absolut dari awal segmen ini . Prosesor mengambil alamat dasar ini dan menambahkan pada offset untuk datang dengan alamat absolut akhir untuk operasi . Anda akan dapat melihat di manual 486 Untuk informasi lebih lanjut tentang hal ini atau tentang organisasi GDT itu .
i486 memiliki 6 segmen register 16 - bit , yang tercantum di sini dalam rangka kepentingan :
CS : Daftar Kode Segmen
Ditambahkan untuk mengatasi selama instruksi fetch .
SS : Daftar Stack Segmen
Ditambahkan untuk mengatasi selama akses stack.
DS : Daftar Segmen data
Ditambahkan untuk mengatasi ketika mengakses operan memori yang tidak pada stack .
ES , FS , GS : Register Segmen Ekstra
Dapat digunakan sebagai register segmen tambahan ; juga digunakan dalam instruksi khusus yang mencakup segmen ( seperti tali salinan ) .
Arsitektur x86 mendukung mode pengalamatan yang berbeda untuk operan . Sebuah diskusi tentang semua mode luar cakupan tutorial ini , dan Anda bisa merujuk ke referensi manual x86 favorit Anda untuk diskusi menyakitkan - rinci dari mereka . Register segmen yang khusus, Anda tidak dapat melakukan
    movw seg - reg , seg - reg
Anda bisa, bagaimanapun , melakukan
    movw seg - reg , memori
    memori movw , seg - reg
    movw seg - reg , reg
    movw reg , seg - reg
Catatan : Jika Anda MOVW % ss , kapak % , maka Anda harus xorl % eax , % eax pertama yang menghapus high-order 16 bit dari % eax , sehingga Anda dapat bekerja dengan nilai-nilai lama .
 Umum / Instruksi Berguna
mov ( terutama dengan register segmen )
    - Mis , :
        movw % es , kapak %
        movl % cs : 4 , % esp
        movw _processControlBlock , % cs
    - Catatan : mov itu TIDAK mengatur flag
pushl , popl - panjang mendorong / pop
pushal , Popal - EAX mendorong / pop , EBX , ECX , EDX , ESP , EBP , ESI , EDI
panggilan ( melompat ke bagian dari kode , menyimpan alamat pengirim di stack )
         misalnya, panggilan _cFunction
int - memanggil interrupt software
ret ( kembali dari potongan kode yang dimasukkan karena untuk memanggil instruksi )
iretl ( kembali dari potongan kode yang dimasukkan karena hardware atau software interrupt )
sti , cli - set / menghapus bit interrupt untuk mengaktifkan / menonaktifkan interupsi masing-masing
lea - adalah beban Alamat Efektif , itu pada dasarnya pipa langsung ke alamat yang Anda ingin melakukan perhitungan pada tanpa mempengaruhi bendera , atau kebutuhan mendorong dan muncul bendera .
Sebuah contoh sederhana :
KODE
kekosongan funtction1 ( ) {
int A = 10 ;
A + = 66 ;
}
mengkompilasi ke ...
funtction1 :
1 pushl % ebp #
2 movl % esp , % ebp # ,
3 Subl $ 4, % esp # ,
4 movl $ 10, -4 ( % ebp ) # , A
5 Leal -4 ( % ebp ) , % eax # ,
6 addl $ 66 , ( % eax ) # , A
7 cuti
8 ret
penjelasan :
1 . Mendorong EBP
2 . Menyalin stack pointer ke EBP
3 . Membuat ruang pada stack untuk data lokal
4 . Memasukkan nilai 10 di A ( ini akan menjadi alamat A kini )
5 . Alamat beban A ke EAX ( mirip dengan pointer )
6 . Tambahkan 66 ke A
... Tidak berpikir Anda perlu tahu sisanya
Mencampur C dan Majelis Bahasa
Cara untuk mencampur C dan bahasa assembly adalah dengan menggunakan " asm " direktif . Untuk mengakses variabel C - bahasa dari dalam bahasa assembly , Anda hanya menggunakan nama identifier C sebagai operand memori . Variabel-variabel ini tidak bisa lokal untuk prosedur , dan juga tidak bisa statis di dalam prosedur . Mereka harus global ( tetapi bisa statis global) . Karakter baris baru diperlukan .
a1 panjang unsigned , r ;
kekosongan junk (void )
{
   asm (
        " pushl % eax \ n "
        " pushl % ebx \ n "
        " movl $ 100, % eax \ n "
        " movl a1 , % ebx \ n "
        " int $ 69 \ n "
        " movl % eax , r \ n "
        " popl % ebx \ n "
        " popl % eax \ n "
   ) ;
}