mạch ghi đọc eprom cho vi điều khiển 8951, chương 7

mạch ghi đọc eprom cho vi điều khiển 8951, chương 7

Thể loại: Điện Điện tử
Lượt xem: 100,601Lượt tải: 2Số trang: 6

Mô tả tài liệu

Có nhiều lệnh để điều khiển lên chương trình bao gồm việc gọi hoặc trả lại từ chương trình con hoặc chia nhánh có điều kiện hay không có điều kiện. Tất cả các lệnh rẽ nhánh đều không ảnh hưởng đến cờ. Ta có thể định nhản cần nhảy tới mà không cần rõ địa chỉ, trình biên dịch sẽ đặt địa chỉ nơi cần nhảy tới vào đúng khẩu lệnh đã đưa ra. Sau đây là sự tóm tắt từng hoạt động của lệnh nhảy. JC JB rel bit, rel : Nhảy đến “rel” nếu cờ Carry C...

Tóm tắt nội dung

77:: CCaaùùcc rreeõõ nhieàu leänh ñeå ñieàu khieån leân chöông trình bao goàm vieäc goïi hoaëc traû laïi töø chöông trình con hoaëc chia nhaùnh coù ñieàu kieän hay khoâng coù ñieàu caû caùc leänh reõ nhaùnh ñeàu khoâng aûnh höôûng ñeán côø. Ta coù theå ñònh nhaûn caàn nhaûy tôùi maø khoâng caàn roõ ñòa chæ, trình bieân dòch seõ ñaët ñòa chæ nôi caàn nhaûy tôùi vaøo ñuùng khaåu leänh ñaõ ñöa ra. Sau ñaây laø söï toùm taét töøng hoaït ñoäng cuûa leänh rel : Nhaûy ñeán “rel” neáu côø Carry C = 1. JNC rel : Nhaûy ñeán “rel” neáu côø Carry C = 0. JB bit, rel : Nhaûy ñeán “rel” neáu (bit) = 1. JNB bit, rel : Nhaûy ñeán “rel” neáu (bit) = 0. JBC bit, rel : Nhaûy ñeán “rel” neáu bit = 1 vaø xoùa addr11: Leänh goïi tuyeät ñoái trong page 2K. (PC) (PC) + 2 (SP) (SP) + 1 ((SP)) (SP) + 1 ((SP)) page addr16: Leänh goïi daøi chöông trình con trong (PC) + 3 (SP) (SP) + 1 ((SP)) (SP) + 1 ((SP)) : Keát thuùc chöông trình con trôû veà chöông trình (SP) - (SP) -1. RETI : Keát thuùc thuû tuïc phuïc vuï ngaét quay veà chöông trình chính hoaït ñoäng töông töï nhö Addr11 : Nhaûy tuyeät ñoái khoâng ñieàu kieän trong 2K. (PC) (PC) + page Addr16 : Nhaûy daøi khoâng ñieàu kieän trong ñoäng töông töï leänh rel :Nhaûy ngaén khoâng ñieàu kieän trong (-128127) (PC) + 2 (PC) (PC) + byte 2 JMP @ A + khoâng ñieàu kieän ñeán ñòa chæ (A) + (A) + rel : Nhaûy ñeán A = 0. Thöïc haønh leänh keá neáu A 0. (PC) (PC) + 2 (A) = 0 (PC) (PC) + byte 2 JNZ rel : Nhaûy ñeán A 0. Thöïc haønh leänh keá neáu A = 0. (PC) (PC) + 2 (A) < > 0 (PC) (PC) + byte 2 CJNE A, direct, rel : So saùnh vaø nhaûy ñeán A (PC) + 3 (A) < > (direct) (PC) (PC) + Relative < (direct) C = 1 (A) > (direct) C = 0 (A) = (direct). Thöïc haønh leänh keá A, # data, rel : Töông töï leänh CJNE A, direct, Rn, # data, rel : Töông töï leänh CJNE A, direct, @ Ri, # data, rel : Töông töï leänh CJNE A, direct, Rn, rel : Giaûm Rn vaø nhaûy neáu Rn 0. (PC) (PC) + 2 (Rn) (Rn) -1 (Rn) < > 0 (PC) (PC) + byte 2. DJNZ direct, rel : Töông töï leänh DJNZ Rn, CCaaùùcc ddòòcchh ddööõõ leänh dòch chuyeån döõ lieäu trong nhöõng vuøng nhôù noäi thöïc thi 1 hoaëc 2 chu kyø maùy. Maãu leänh MOV <source> cho pheùp di chuyeån döõ lieäu baát kyø 2 vuøng nhôù naøo cuûa RAM noäi hoaëc caùc vuøng nhôù cuûa caùc thanh ghi chöùc naêng ñaëc bieät maø khoâng thoâng qua thanh ghi A. Vuøng Ngaên xeáp cuûa 8951 chæ chöùa 128 byte RAM noäi, neáu con troû Ngaên xeáp SP ñöôïc taêng quaù ñòa chæ 7FH thì caùc byte ñöôïc PUSH vaøo seõ maát ñi vaø caùc byte POP ra thì khoâng bieát roõ. Caùc leänh dòch chuyeån boä nhôù noäi vaø boä nhôù ngoaïi duøng söï ñònh vò giaùn tieáp. Ñòa chæ giaùn tieáp coù theå duøng ñòa chæ 1 byte (@ Ri) hoaëc ñòa chæ 2 byte (@ DPTR). Taát caû caùc leänh dòch chuyeån hoaït ñoäng treân toaøn boä nhôù ngoaøi thöïc thi trong 2 chu kyø maùy vaø duøng thanh ghi A laøm toaùn haïng ñoïc vaø ghi RAM ngoaøi (RD vaø WR) chæ tích cöïc trong suoát quaù trình thöïc thi cuûa leänh MOVX, coøn bình thöôøng RD vaø WR khoâng tích cöïc (möùc caû caùc leänh dòch chuyeån ñeàu khoâng aûnh höôûng ñeán côø. Hoaït ñoäng cuûa töøng leänh ñöôïc toùm taét nhö : (A) (Rn) MOV A, direct : (A) @ Ri : (A) A, # data : (A) # A : (Rn) direct : (Rn) # data : (Rn) # data MOV direct, A : (direct) (A) MOV direct, Rn : (direct) (Rn) MOV direct, direct : (direct) (direct) MOV direct, @ Ri : (direct) ((Ri)) MOV direct, # data : (direct) data [email protected] Ri, A : ((Ri)) (A) [email protected] Ri, direct : ((Ri)) Ri, # data : ((Ri)) # # data16 : (DPTR) # @ A + DPTR : (A) (A) + A + PC : (PC) (PC) + 1 (A) (A) + A, @ Ri : (A) A, @ DPTR : (A) @ Ri, A : ((Ri)) @ DPTR, A : ((DPTR)) (A) PUSH direct : Caát döõ lieäu vaøo Ngaên xeáp (SP) (SP) + 1 (SP) (Drirect) POP direct : Laáy töø Ngaên xeáp ra direct (direct) ((SP)) (SP) (SP) - 1 XCH A, Rn : Ñoåi choå noäi dung cuûa A vôùi Rn (A) (Rn) XCH A, direct : (A) A, @ Ri : (A) A, @ Ri : Ñoåi choå 4 bit thaáp cuûa (A) vôùi