Posts

Showing posts with the label assembly

Perihal Flag Part 3(Katak Ikut Arahan)

Sebelum ni kita faham JMP iaitu JUMP atau lompat berfungsi. Jadi apa kaitannya? Segalanya berkaitan dengan arahan CMP. Sebagai contoh mula: CMP AX,5 JE mati JMP mula mati: Jika anda memahami post yang sebelum ini mengenai uncondition jump( JMP ) anda pasti faham JMP mula bermaksud apa. Sila rujuk ilustrasi dalam pos terdahulu mengania JMP . Untuk meneruskan pemahaman kita. Anda tertanya apa dia JE ? JE atau Jump Equal bermaksud arahan untuk melakukan operasi sama seperti JMP tetapi dengan syarat AX = 5 . Walau bagaimanapun dalam Pos yang sebelum ini telah dinyatakan bahawa CMP serupa dengan SUB di mana nilai kiri akan ditolak dengan yang kanan. sebagai cth: SUB kiri, kanan sama dengan kiri=kiri-kanan SUB AX, 5 sama dengan AX=AX-5 perbezaan SUB dengan CMP adalah SUB mengubah nilai sebelah kiri tetapi CMP tidak. Walaubagaimanapun kedua-duanya akan mengubah nilai flag. Seperti contoh yang tadi iaitu: mula: ;label mula CMP AX,5 ;Lakukan perbandingan sila rujuk Perihal Flag Pa...

Perihal Flag Part 2(Lompat Si Katak Lompat)

Image
Sekarang kita tau apa yang berlaku pada Flag semasa operasi Compare( CMP ). Dari sudut bahasa Compare bermaksud Banding. Oleh itu: CMP AX,2 bermaksud Bandingkan AX dengan 2 CMP kiri, kanan bermaksud Bandingkan kiri dengan kanan. Seperti yang kita fahami dari artikel yang sebelumnya(Perihal Flag Part 1): Flag berubah kalau kita Compare( CMP ) atau Subtitute( SUB ). JUMP( JMP,JE, JB, JG, JGE, JBE ) bergantung dengan flag. Apa gunanya JUMP ? Untuk melompat la dari satu 'Label' ke 'Label' yang lain. Unconditional Jump Pertama sekali, kita kena faham konsep unconditional JUMP yang menggunakan arahan JMP . bentuk asas arahan JMP adalah seperti di bawah. JMP Label Label: (operasi) dibawah adalah ilustrasi bagaimana arahan JMP berfungsi Pertama, 0. JMP pergi ke Label 1. Dalam 'Label' ada arahan JMP ke 'Mahmud' 2.Pergi ke 'Mahmud', dalam ada arahan JMP ke 'Ali' 3.Berakhir dekat 'Ali' sebab takde arahan JMP. Paham tak?

Perihal Flag Part 1(CMP dan SUB)

Pertama kita akan concentrate dengan 2 jenis Flag: Carry Flag(CF) Zero Flag(ZF) Sign Flag(SF) Kedua kita akan tengok apa berlaku pada kedua-dua flag ni bila seru command: Compare(CMP) Subtitute(SUB) Command Compare( CMP ) dengan Subtitute( SUB ) ada persamaan iaitu kedua-duanya melakukan operasi TOLAK. Cth. SUB AX, BX adalah AX= AX-BX SUB AX,2 adalah AX=AX-2 beza CMP dengan SUB adalah CMP takkan ubah nilai kecuali flag. Cth: CMP AX, BX tidak akan ubah nilai AX seperti sub tetapi akan melakukan operasi sama CMP AX, 2 juga tidak akan ubah nilai AX seperti diterangkan tadi. Sekarang mari kita lihat apa yang berlaku pada Flag. Sebagai contoh sekarang nilai AX= 0002 ASSEMBLY AX Carry Flag(CF) Zero Flag(ZF) Sign Flag(SF) SUB AX,2 0000 0 1 0 CMP AX,2 0002 0 1 0 Di atas kita dapat lihat perbezaan antara SUB dengan CMP dimana CMP tidak mengubah nilai AX tetapi kedua-duanya akan mengubah nilai FLAG. Cuba perhatikan contoh seterusnya AX=0002 ASSEMBLY AX Carry Flag(CF) Zero Flag(ZF) Sign Fl...

Assembly: Tambah Nombor Genap & Dapatkan purata

Kadang-kadang aku pun konpius tapi soalan mcm ni biasa keluar: Write an assembly language program segment to add two even number N1 and N2. The average is computed and stored in a varible named AVG(Assume AVG has been declared as an 8 bit length) jawapan(aku rasa x berapa bagus): .MODEL SMALL .STACK 64 .DATA TWO db ? i dw ? count dw ? Sum dw ? AVG db ? N1 dw ? N2 dw ? .CODE main proc far MOV Sum,0 MOV TWO,2 MOV count, 0 MOV i,0 start: INC i Mov AX,i Mov N2, AX ;AX to N2 DIV TWO CMP AH, 1 ;Kalau nombor ganjil bahagi dua mesti dapat baki 1 JE start ADD BX, i ;N1 + N2 Mov N1, BX INC count ;Kira berapa kali nombor genap ditambah CMP i, 10 JGE stop JMP start stop: MOV Sum, BX Mov AX, Sum DIV count ; Bahagi jumlah dengan bilangan tambah MOV AVG, AL ; Masuk nilai purata ke dalam AVG INT 21h main endp end main Mari kita fahamkan sesama: Bila bahagi degan operasi DIV, AX akan ada dua nilai berbeza dekat...

Popular posts from this blog

7 Tips Kegagalan sebagai Seorang Pelajar

Sabda Dokong - Hati Kita Umpama Besi