Professional Documents
Culture Documents
5/8/12
5/8/12 IMMEDIATE
DATA TRANSFER REGISTER TO REGISTER MOVE .subtitle styleD0, D1 B Click to edit Master
SOURCE DESTINATION
5/8/12
EXAMPLE
D0 AABBCC55 D1 112233AA D1 11223355 MOVE . B D0, D1 MOVE .W D0, D1 D1 1122CC55 MOVE .LW D0, D1 D1 AABBCC55
5/8/12
Practice
Register To Register D0 11223344 D1 AABBCCDD D2 DDEEAABB D3 EE5577AA
DATA TRANSFER MEMORY TO REGISTER MOVE .B $2000, D0 Click to edit Master subtitle style
SOURCE DESTINATION
5/8/12
MEMORY ADDRESING
Memory AddressContent Addres s $2001 $2000 0102 $2002 AABB $2003 $2004 CCEE $2005 $2007 $2006 FFAA $2009 $2008 2254 $200B $200A 2327
EVEN ADDRES S
ODD ADDRE SS
5/8/12
EXAMPLE
MOVE .B $2000, D0 MOVE .B $2001, D0 Memory Address Content $2000 0102 $2002 AABB
REGISTER D0
5/8/12
EEAABBFF
EXAMPLE
MOVE .W $2000, D0 MOVE .W $2001, D0 Memory Address Content $2000 0102 $2002 AABB
REGISTER D0
5/8/12
EEAABBFF
Practice
MOVE .B $2000, D0 MOVE .B $2001, D0 Memory Address Content $2000 BBFF $2002 CCDD
REGISTER D0
5/8/12
12345678
Practice
MOVE .W $2000, D0 MOVE .W $2001, D0 Memory Address Content $2000 BBFF $2002 CCDD
REGISTER D0
5/8/12
12345678
5/8/12
MEMORY ADDRESING
Memory AddressContent Addres s $2001 $2000 0102 $2002 AABB $2003 $2004 CCEE $2005 $2007 $2006 FFAA $2009 $2008 2254 $200B $200A 2327
EVEN ADDRES S
ODD ADDRE SS
5/8/12
5/8/12
5/8/12
EXAMPLE
MOVE .B
D0, $2000
AFTER
MOVE .B D0, $2000 Memory Address Content $2000 FF02 $2002 AABB
REGISTER D0 EEAABBFF
Register To Memory
MOVE .B
D0, $2001
AFTER
MOVE .B D0, $2001 Memory Address Content $2000 01FF $2002 AABB
REGISTER D0 EEAABBFF
Register To Memory
MOVE .W
D0, $2000
AFTER
MOVE .W D0, $2000 Memory Address Content $2000 BBFF $2002 AABB
Register To Memory
MOVE .W
D0, $2002
AFTER
MOVE .W D0, $2002 Memory Address Content $2000 0102 $2002 BBFF
Practice
MOVE .B
D0, $2000
AFTER
MOVE .B D0, $2000 Memory Address Content $2000 99EE $2002 BB66
REGISTER D0 55558899
Practice
MOVE .B
D0, $2003
AFTER
MOVE .B D0, $2003 Memory Address Content $2000 DDEE $2002 BB99
REGISTER D0 55558899
Practice
MOVE .W
D0, $2000
AFTER
MOVE .W D0, $2000 Memory Address Content $2000 8899 $2002 BB66
Practice
MOVE .W
D0, $2001
AFTER
5/8/12
Example
SOURCE DESTINATION
BEFOR D1AAAAAA5 E 0
AFTER D1AAAA007 2
EXAMPLE
BEFORE AFTER
EXAMPLE
BEFORE AFTER
D1 AABBCC55 MOVE. B #$8AED,D1 MOVE. W #$8AED,D1 MOVE. L #$8AED,D1 5/8/12 MOVE. W D1 INVALID D1 AABB8AED D1 00008AED D1 INVALID
PRACTICE
BEFORE AFTER
D1 BB55CC77 MOVE. B #$BA5,D1 MOVE. W #$BA5,D1 MOVE. L #$BA5,D1 MOVE. W 5/8/12 D1 INVALID D1 BB550BA5 D1 00000BA5 D1 BB5500AC
ARITHMETIC OPERATION
Basic operation Add & Subtract With 2 basic operation can produce multiplication & division operation Theprocesseddataincludingthe values ofthe binary,decimaland ASCII
5/8/12
ADDITION OPERATION
Dataobtainedfrom theregisters(D0toD7),
5/8/12
memoryandI/O port.
<sea>,
5/8/12
5/8/12
Example
ADD.B D0, D1 ; Add 8-bit data in register D0 with data in register D1and the result are stored at D1 BEFOR AFTER D0 00002222 D0 00002222 E + + D1 00004444 D1 00004466
0010 1000 1010 0010 1000 1010
BACAUSE THE DATA SIZE IS 8-BITS (.B),SO ONLY 2 NUMBER WILL BE CHANGED AND THE OTHERS REMAINS
5/8/12
Example
ADD.B D0, D1 ; Add 8-bit data in register D0 with data in register D1and the result are stored at D1 BEFOR AFTER D0 000022A D0 000022A E + + A A D1 00004455 D1 000044FF
1010 0101 1111 1010 0101 1111
BACAUSE THE DATA SIZE IS 8-BITS (.B),SO ONLY 2 NUMBER WILL BE CHANGED AND THE OTHERS REMAINS
5/8/12
Example
ADD.B D0, D1 ; Add 8-bit data in register D0 with data in register D1and the result are stored at D1 BEFOR AFTER D0 000022BB D0 000022BB E + + D1 00004466 D1 00004421
1011 0110 0010 1011 0110 0001
BACAUSE THE DATA SIZE IS 8-BITS (.B),SO ONLY 2 NUMBER WILL BE CHANGED AND THE OTHERS REMAINS
1 5/8/12 SUBCRIBED
Practice
BEFORE AFTER
5/8/12
Contoh 2
5/8/12
Contoh 3
ADD.W $2000, D2 ; Suruhan berikut menunjukkan bagaimana kandungan daftar D2 dalam pemproses dengan nilai data kedudukan ingatan ditambah dari 200016
5/8/12
OPERASI TOLAK
SUB. W #02, D1 ; Data di data register D1 ditolak 0216. Keputusan disimpan di data SEBELU register D1 SELEPA M D1 12345678 D1 12345676 S 0002
Oleh kerana saiz data hanya 16 bit (W) maka hanya 4 nombor akan berubah ,yang lain kekal
5/8/12
SUB. W D0, D1 ; data 16 bit di data register D1 ditolak dengan data 16 bit di D0. Keputusan SEBEL SELEPA disimpan di data register D1 D1 12345678 D0 S UM 98765432 D0 98765432 D1 12340246
Oleh kerana saiz data hanya 16 bit (W) maka hanya 4 nombor HEX akan berubah yang lain kekal
5/8/12
Contoh
Diberi , [D0]=$12345678 [D1]=$00ABCDEF [M($1002)]=$01020304 Dapatkan kandungan setiap destinasi D bagi alamat 0 berkesan berikut:
a) b)
D 0 D 1
5/8/12
MOVE D1,D0 [D0] = $1234CDEF MOVE.W #$1000, D0 [D0]= $12341000 MOVE.W $1002,D1 [D1]= $00AB0304
5/8/12
Practice
Execute the instruction base on initial value like table below
D0 D1 D2 D3
5/8/12
SURUHAN LOGIKAL
5/8/12
AND OPERATION
A 0 0 1 1 B 0 1 0 1 F 0 0 0 1
5/8/12
AND.B #$3E,D3;kandungan D3 di AND dengan data 3E dengan size 8 bit ,keputusan disimpan di data register D3
5/8/12
AND.B
#$3E,D3
Sebelum Selepas
D3
12345678 AND 3E
D3
12345638
5/8/12
And (darab)
7 0 0 0 1 3 0 0 3 1 1 1 1 1 1 1 0 8 1 1 1 0 E 1 0 0 0 8 0 0
5/8/12
OR OPERATION
A 0 0 1 1 B 0 1 0 1 F 0 1 1 1
5/8/12
OR.B D0,D1
OR.B D0,D1
Sebelum Selepas Oleh kerana 1234567 saiz data 8 E bit (B) maka 2 nombor 9876547 Hex akan 4 berubah yang lain kekal
D0 D1
1234563E OR 98765474
D0 D1
5/8/12
OR (+)
0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 7E (14) 1 1 1 1 0 1 0 0 0
5/8/12
5/8/12
NOT OPERATION
A 0 1 F 1 0
5/8/12
NOT.B D1 ;kandungan D1 di NOT dengan size 8 bit dan keputusan disimpan di D1)
Sebelum Data Register D1 Selepas Data register D1
12345655
Oleh kerana saiz data 8 bit (B) 123456AA maka 2 nom. Hex akan berubah yang lain kekal
5/8/12
5/8/12
Documentation/ comment
Instruction ORG $2500 MOVE.W D0,D1 Comment /Documentation ; Program start at address $ 2500 ; transfer data in register D0 to register D1 with size 16 bit (.W) ; Transfer data 6716 to register D0 with size 8 bits (.B) ; Add data in register D0 with data in register D2 with size 16 bit (.W). The result are stored in register D2. ; Program end
5/8/12
END
PRACTICE
Instruction ORG $3000 MOVE.W D1,D4 MOVE.B #$67, D0 ADD. W D0,D2 SUB.B D1, D3
5/8/12
Comment /Documentation
Comment /Documentation
OR .W D0, D1
5/8/12
Suruhan Cabang
Pemproses pada asasnya melaksanakan suruhan-suruhan dalam aturcara secara berturutan. Suruhan-suruhan alihan aturcara/ bercabang digunakan bagi menukarkan aliran aturcara supaya pemproses melaksanakan suruhan yang tidak berturutan. Suruhan-suruhan begini termasuk 5/8/12 suruhan-suruhan cabang atau
Samb
Suruhan cabang dan lompat ialah suruhan alihan aturcara yang asas. Suruhan ini akan mengubah kandungan Program Counter. Mikropemproses akan lompat beberapa nombor lokasi ingatan bagi melaksanakan program baru (subroutine) atau kembali kepada kedudukan asal. (main program)
5/8/12
Samb..
Suruhan bercabang terdiri dari suruhan tak bersyarat dan suruhan bersyarat (unconditional and conditional). Suruhan cabang tak sentiasa dilaksanakan. bersyarat
Suruhan berikut menyuruh pemproses 68000 melompat ke suruhan seterusnya di alamat $8A50. Apabila suruhan tak 5/8/12
Suruhan cabang bersyarat hanya dilaksanakan apabila sesuatu bendera mempunyai nilai yang ditetapkan dalam suruhan (syarat dipenuhi).
Suruhan berikut menyebabkan pemproses 6800 dan 68000 melompat ke alamat 8A50 jika bendera C bernilai 1 (carry set C = 1) 5/8/12
Operasi Branch Always Branch If Carry Clear Branch If Branch If Branch If Branch If Same Branch If Zero Carry Set = Zero Higher Lower Or Not Equal
JMP JSR
5/8/12
1)
CF (Carry Flag) / bendera bawa Bendera ini disetkan (1) apabila terjadinya bawa daripada bit paling bererti (MSB) samada dari d7 selepas operasi 8 bit atau d 15 & d 5/8/12 31 selepas operasi 16 bit dan 32 bit.
Negative (N)
N = 1, negative flag is set, when the result is negative N = 0, negative flag is cleared, when the results is positive NF (negative Flag) / bendera negative Bendera ini akan disetkan (1) apabila d7, d15 dan d31 bagi operasi 8 bit, 16 bit dan 32 bit 5/8/12 nilainya bersamaan 1.
Overflow (V)
The overflow (V) flag is set when the result exceeds the maximum number VF (overflow flag) / bendera limpahan Bendera ini akan disetkan apabila hasil yang didapati adalah terlampau besar atau luar daripada julat yang ditetapkan
5/8/12
Zero (Z)
Z = 1, zero flag is set, when the result is zero Z = 0, zero flag cleared, when the result is non-zero ZF (zero flag) / bendera sifar Bendera ini akan disetkan jika hasil operasi arithmetic dan logic adalah sifar.
5/8/12
Extend (X)****
Multiprecision arithmetic operations. Apabila bendera ini disetkan, ia membenarkan aturcara untuk melaksanakan suruhan satu demi satu suruhan (single stepping). Ini biasa digunakan semasa kerja debugging dilakukan. The extend flag is set the same way 5/8/12 the carry (C) flag as
Contoh 1
D7
Tunjukkan nilai bendera (CF, NF, VF dan ZF) dalam daftar bendera selepas operasi tambah 38H dan 2FH dilaksanakan. D6 D5 D4 D3 D2 D1 D0
3 8 1 2 1 1 1 0 0 1 1 0 0 F 1 1 1 1 1 1 0 0 0 0 1
0 0 0
CF = 0 ;tiada bawa dari d7 NF = 0 ;d7 menunjukkan nombor positif VF = 0 ;normal ZF = 0;hasil bukan sifar
5/8/12
Contoh 2
Tunjukkan nilai bendera (CF, NF, VF dan ZF) dalam daftar bendera selepas operasi tambah 9CH dan 64H D8 dilaksanakan. D1 D0 D7 D6 D5 D4 D3 D2
1 0 0 1 1 1 0 0 6 4 0 1 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0
5/8/12
Contoh 3
Tunjukkan nilai bendera (CF, NF, VF dan ZF) dalam daftar bendera selepas operasi tambah EEH dan 70H D8 dilaksanakan. D7 D6 D5 D4 D3 D2 D1 D0
E E 1 1 1 0 1 1 1 0 7 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 1 0
5/8/12
CF = 1 NF = 0 positif VF = 0 ZF = 0 ;kerana berlaku bawa dari d7 ;d7 menunjukkan nombor ;normal ;hasil bukan sifar
Contoh
D8
Tunjukkan nilai bendera (CF, NF, VF dan ZF) dalam daftar bendera selepas operasi tambah EE H dan F0H D5 D4 D3 D2 D1 D0 D7 D6 dilaksanakan.
E E
CF = 1 NF = 1 negatif VF = 0 ZF = 0 ;berlaku bawa dari d7 ;d7 menunjukkan nombor ;normal ;hasil bukan sifar
1 1 1 0 1 1 1 0 F 0 1 1 1 1 0 0 0 0 1 1 1 0 1 1 1 1 0
5/8/12
D15
1 0 1
Tunjukkan nilai bendera (CF, NF, VF dan ZF) dalam daftar bendera selepas operasi tambah 94C2H dan D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 323EH 0dilaksanakan. 0 0 0 0 1 1 0 0 1 1 0 0 1 1
0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0
CF = 0 NF = 1 VF = 0 ZF = 0
;tidak berlaku bawa dari d15 ;d15 menunjukkan nombor negatif ; normal ;hasil bukan sifar
5/8/12