(Addressing Mode) :cho pheùp cho pheùp
Chöông 2 : TAÄP LEÄNH 89C51 Chöông 2 : TAÄP LEÄNH 89C51
ADDADD A, R5 A, R5 A, 25h ADDADD A, 25h A, @R5 ADDADD A, @R5 ADDADD A, #25h A, #25h SJMPSJMP nhannhan AJMPAJMP nhannhan LJMP nhannhan LJMP MOVC A, @A + PC MOVC A, @A + PC
Ví duï : :
2.1. CAÙC CHEÁ ÑOÄ ÑÒA CHÆ 2.1. CAÙC CHEÁ ÑOÄ ÑÒA CHÆ (Addressing Mode) : ta xaùc ñònh nguoàn vaø ñích cuûa döõ lieäu. Khi 1 leänh ñöôïc ta xaùc ñònh nguoàn vaø ñích cuûa döõ lieäu. Khi 1 leänh ñöôïc thöïc thi vaø leän naøy caàn döõ lieäu, caâu hoûi ñaët ra “ döõ lieäu thöïc thi vaø leän naøy caàn döõ lieäu, caâu hoûi ñaët ra “ döõ lieäu chöùa ôû ñaâu ? “ caùc cheá ñoä ñòa chæ traû lôøi caâu hoûi naøy. chöùa ôû ñaâu ? “ caùc cheá ñoä ñòa chæ traû lôøi caâu hoûi naøy. coù 8 cheá ñoä ñònh ñòa chæ nhö sau : coù 8 cheá ñoä ñònh ñòa chæ nhö sau : Thanh ghi. Ví duï : : Thanh ghi. (Register) Ví duï (Register) Tröïc tieáp. Ví duï : : (Direct) Tröïc tieáp. (Direct) Ví duï Giaùn tieáp. Ví duï : : (Indirect) Giaùn tieáp. (Indirect) Ví duï Töùc thôøi. Ví duï : : (Immediate) Ví duï Töùc thôøi. (Immediate) Töông ñoái. Ví duï : : (Relative) Töông ñoái. (Relative) Ví duï Tuyeät ñoái. (Absolute) Ví duï : : Tuyeät ñoái. (Absolute) Ví duï Daøi.Daøi. Ví duï : : (Long) Ví duï (Long) Chæ soá. (Index)Ví duï Chæ soá. (Index)
Thanh ghi R0 coù ñòa chæ 00H. Noäi dung thanh ghi R0 =12H. 12H chính laø ñòa chæ oâ nhôù. Noäi dung cuûa oâ nhôù naøy laø 80
80H laø opcode cuûa maõ leänh JMP; 05H chính laø giaù trò offset seõ coäng vôùi giaù trò trong boä ñeám chöông trình PC ñeå tính ñòa chæ cuûa leänh tieáo seõhöïc hieän.
2.2. TAÄP LEÄNH 89C51 2.2. TAÄP LEÄNH 89C51
89c51 laø vi xöû lyù 8 bit. Vì vaäy 89c51 laø vi xöû lyù 8 bit. Vì vaäy boä leänh goàm coù 256 leänh. Trong boä leänh goàm coù 256 leänh. Trong thöïc teá chæ coù ñònh nghóa 255 leänh. thöïc teá chæ coù ñònh nghóa 255 leänh. Boä leänh chia thaønh 5 nhoùm : Boä leänh chia thaønh 5 nhoùm : + Nhoùm leänh soá hoïc. + Nhoùm leänh soá hoïc. + Nhoùm leänh logic. + Nhoùm leänh logic. + Nhoùm leänh di chuyeån döõ lieäu. + Nhoùm leänh di chuyeån döõ lieäu. + Nhoùm leänh xöû lyù bit. + Nhoùm leänh xöû lyù bit. + Nhoùm leänh reõ nhaùnh. + Nhoùm leänh reõ nhaùnh.
2.2.3. Nhoùm leänh chuyeån döõ lieäu: ( Data
Transfer )
Tro n g ra m n o ä i
MOV
,
Caùc ñòa chæ naèm trong vuøng 128 byte cao chæ ñöôïc truy xuaát baèng kieåu ñònh ñòa chæ giaùn tieáp ngoïai tröø caùc thanh ghi chöùc naêng ñaët bieät. - Giöõa 2 thanh ghi
MOV A, R1
- Ñöa döõ lieäu töùc thôøi vaøo 1 thanh ghi
MOV A,#15
- Chuyeån noäi dung noäi nhôù vaøo 1 thanh ghi
MOV A,15H
- Chuyeån noäi dung vaøo thanh ghi coù chöùc naêng ñaëc bieät
MOV P1, #50H
ÔÛ RAM ngoaøi Döõ lieäu phaûi ñöôïc chöùa trong thanh ghi A vaø ñòa chæ phaûi chöùa ôû trong Ri (i = 0,1) hoaëc DPTR
Ñ/ c 8 bit Duøng thanh ghi Ri=(0 , 1)
MOV R0 , # 3Eh MOV A,# 0FFh MOVX @R0 , A
Ñ/ c 16 bit Duøng thanh ghi DPTR
MOV DPTR , # 0123h MOV A,# 0FFh MOVX @DPTR, A
2.2.3.3 TRA BAÛNG TÌM KIEÁM
Duøng leänh MOVC (Move Const) : Truy xuaát moät baûng coù 256 ñieåm (0 -255). Soá cuûa ñieåm muoán truy xuaát ñöôïc ñeå trong thanh ghi A (offset). Ñòa chæ ñaàu baûng (neàn) chöùa trong DPTR. Coù 2 cheá ñoä
MOCV A, @ A + PC ; PC ( program
; DPTR
counter) Boä ñeám chöông trình MOVC R1 , @A + DPTR ( data pointer) Con troû döõ lieäu
2.2.4. NHOÙM CAÙC LEÄNH REÕ NHAÙNH
2.2.5. NHOÙM LEÄNH XÖÛ LYÙ BIT
SETB P1.0
CLR P1.0
CPL P1.0 ANL C,#1 ORL C,15H MOV C,#0 Cho pheùp thao taùc treân töøng bit. SETB CLR NOT ANL ORL MOV