ACALL addr1 1 lệnh gọi tuyệt đối trong page 2K

Một phần của tài liệu Thiết kế thi công đầu cân điện tử chỉ thị số (Trang 90 - 94)

(PC) < (PC) + 2 (SP) (SP)+ 1 ((SP)) — (PC7 + PC0) _ (SP) (SP)+ 1 ((SP)) — (PC15 + PC8) (PC10 + PC0) < page Address.

Luận án tốt nghiệp đại học GVHD: Th.Š N. guyễn Viễn Quốc LCALL addr16: lệnh gọi dài chương trình con trong 64K

(PC) — (PC) + 3 (SP)<© (SP)+ 1 (SP)<© (SP)+ 1 ((SP)) — (PC7 + PC0) (SP) — (SP) + 1 ((SP)) — (PC15 + PC8) (PC) — Addr + Addr0.

RET : kết thúc chương trình con và quay về chương trình chính (PCI5 + PC8) © ((SP))

(SP)< (SP)-— 1

(PC?7 + PC0) — ((SP)) (SP) (SP)-— 1

RENI :kết thúc thủ tục phục vụ ngắt quay về chương trình chính, hoạt động tương tự RET.

AJMP Addr11:Nhầy tuyệt đối không điều kiện trong 2K.

(PC) <© (PC) + 2

(PC10 + PC0) page Address

AJMP Addr16: Nhảy dài không điều kiện trong 64K.

(PC) — (PC) + 2

(PC15 + PC0) — page Address

SJMPrel :nhảy ngắn không điều kiện trong -126 + +127 byte (PO) < (PC) + 2

(PC) ©— (PC) + byte 2

JMP. @A +DPTR :nhảy không điều kiện đến add (A) + (DPTR)

(PC) © (A) + (DPTR)

JZ rel nhảy đến A=0. Thực hành lệnh kế nếu A #0

(PC) < (PC) + 2

(A)= 0 — (PO) — (PC) + 2

JNZ rel :nhảy đến A #0. Thực hành lệnh kế nếu A = 0

(PO) (PC) + 2

(A) #0 — (PC) < (PC) + 2byte

CJNE A.directrel :so sánh và nhảy đến rel nếu A # đirect (PC) — (PC) + 3

(A) < > (direct) —> (PC) — (PC) + Relative Add (A) < (đirect) —> C = 1

(A) > (direct) —> C = Ö

(A) = đirect. Thực hành lệnh kế tiếp

CJNE A,#data,rel :tương tự lệnh CINE A,đirect,rel.

CJNE Rn,#data,rel :tương tự lệnh CJNE A,direct,rel.

CJINE @Ri,#data,rel :tương tự lệnh CJNE A,direct,rel. (adsbygoogle = window.adsbygoogle || []).push({});

Luận án tốt nghiệp đại học GVHD: Th.Š N quyễn Viễn Quốc

DIJNZ Rn,rel :giảm Rn và nhầy nếu Rn # 0

(PC) <- (PO) + 2 (Rn) — (Rn) — 1

(Rn) < >0 —> (PC) — (PC) + byte 2

DJNZ direct,rel :tương tự lệnh DINZ Rn,rel. 4. Các Lệnh Dịch Chuyển Dữ Liệu:

Các lệnh dịch chuyển dữ liệu trong những vùng nhớ nội thực thi 1 hoặc 2 chu

kỳmáy. Mẫu lệnh MOV <des> <source> cho phép di chuyển dữ liệu bất kỳ 2 vùng nhớ

nào của RAM nội hoặc các vùng nhớ của các thanh ghi chức năng đặc biệt mà không thông qua thanh ghi A.

Vùng stack của 8951 chỉ chứa 128 byte RAM nôi, nếu con trồ Stack SP được tăng

quá địa chỉ 7FH thì các byte được PUSH vào sẽ mất đi và các byte POP ra sẽ không biết

rõ.

Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp. Địa chỉ gián tiếp có thể dùng địa chỉ 1 byte (@Ri) hoặc địa chỉ 2 byte (@DPTR). Tất cả các lệnh dịch chuyển hoạt động trên bộ nhớ ngoài thực thi trong hai chu kỳ máy và dùng thanh ghi A làm toán hạng SOURCE hoặc toán hạng DESTINATION.

Việc đọc và ghi RAM ngoài (RD và WR) chỉ tích cực trong suốt quá trình thực thi của lệnh MOVX, còn bình thường thì RD và WR không tích cực (mức Ì).

Tất cả các lệnh dịch chuyển đều không ảnh hưởng đến cờ. Hoạt động của

từng lệnh được tóm tắt như sau:

MOV A,Rn : (A) c (Rn) MOV A,direct : (A) © (direct) MOV A,@RI : (A) c ((R)) MOV A,#data : (A) — #data - MOV Rn,A : Rn) — (A)

MOV Rndrect :(Rn)< (drecÐ

- MOV Rn#data :(Rn)<© #data

_ MOV đdirectA :(direcÐ <© (À)

- MOV đirect,Rn : (đirect) — (Rn)

MOV dđirect,direct : (direct) (direct) - MOV direct,@Ri : (direct) ((R))

MOV dđirect,#data : (đirect) — #data

- MOV @GRILA : (Rj)) — (A) -MOV @Ri.direct : ((Rj)) — (direct)

Luận án tốt nghiệp đại học GVHD: Th.ŠS N guyễn Viễn Quốc MOV @Rij#data : ((Ri)) — #data

MOV DPTR,#datal6 : DPTR) ©— #dataló

MOV A,@A + DPTR :(A) © (A) + (DPTR) MOV A,@A +PC : (PC) — (PC) + I MOV A,@A +PC : (PC) — (PC) + I

(A) © (A) + CO)

MOVX A,@RI :(A) ((R))) MOVX A,@DPTR :(A)<- (DPTR)) MOVX A,@DPTR :(A)<- (DPTR)) MOVX @RI,A :((RÐ) — (A) MOVX @DPTR.A :((DPTR))<(A) (adsbygoogle = window.adsbygoogle || []).push({});

PUSH đirect : cất dữ liệu vào stack

(SP)©(SP)+ 1

(SP) © (direct)

POP direct : lấy dữ liệu ra khỏi stack

(direct) — (SP)

(SP) <© (SP) - 1

XCH A,Rn :đổi chỗ nội dung thanh ghi A -đi Rn

A ©®(Rn)

XCH A,direct : (A) ® (direct)

XxCH A,@RI :(A) © (Œ))

XCHD A,@RI : đổi chỗ 4 bit thấp của A với ((R1)) (A3 + A0) © ((Ri2 + Ri0))

5. Các Lênh Luận Lý (Boolean Instruction):

8951 chứa một bộ xử lý luận lý đây đủ cho các hoạt động đơn bit, đây là một điểm mạnh của họ vi điều khiển MSC-51 mà các họ khác không có.

RAM nội chứa 128 bit định vị và vùng nhớ các thanh ghi chức năng đặc biệt lên

đến 128 bit định vị khác. Tất cả các đường port là bit định vị, mỗi đường có thể xử lý như

: một port đơn bit riêng biệt. Các truy xuất các bit này không chỉ là các lệnh rẽ nhánh - không, mà là một danh mục đầy đủ các lệnh MOVE, SET, CLEAR, COMPLEMENT,

OR, AND.

Toàn bộ sự truy xuất của bit dùng sự định vị trực tiếp với những địa chỉ từ 00H + TFH trong 128 vùng nhớ thấp và 80H + FFH ở vùng các thanh ghi chức năng đặc biệt.

Bit Carry C trong thanh ghi PSW của từ trạng thái chương trình được dùng như một sự tích lũy đơn của bộ xử lý luận lý. Bít carry cũng là một bit định vị và có địa chỉ trực

tiếp vì nó nằm trong PSW. Hai lệnh CLR C và CLR CÝ đều có cùng tác dụng là xóa cờ

Carry nhưng lệnh đầu mất 1 byte còn lệnh sau mất 2 byte.

Luận án tốt nghiệp đại học GVHD: Th.Š Nguyễn Viễn Quốc Hoạt động của các lệnh luận lý được tóm tắt như sau:

CLR C : xóa cờ carry xuống 0, có ảnh hưởng cờ Carry

CLR BIT : xóa bit xuống 0, không ảnh hưởng cờ Carry

SET C : set cờ carry lên 1, có ảnh hưởng cờ Carry SET BIT : setbit lên 1, không ảnh hưởng cờ Carry CPL C : đảo bit cờ carry, có ảnh hưởng cờ carry

CPL BIT : đảo bit không ảnh hưởng cờ carry.

ALN C,BIT: (C) (C) AND (BTT) : có ảnh hưởng cờ Carry

ALN C/BIT: (C) — (C) AND NOT (BI) : có ảnh hưởng cờ Carry

ORL C,BIT : (C) < (C OR (BTT) : có ảnh hưởng cờ Carry ALN C/BIT: (C © (C) OR NOT (BI) : có ảnh hưởng cờ Carry MOV C.BIT : (C) — (BI) : có ảnh hưởng cờ Carry MOYV BIT,C : (BIT) — (C) : không ảnh hưởng cờ Carry (adsbygoogle = window.adsbygoogle || []).push({});

6. Các Lệnh Xen Vào (Miscellameous Instructioi):

NOP : không hoạt động gì cả, chỉ tốn 1 byte và một chu kỳ thực thi máy, ta dùng để DELAY những khoảng thời gian nhỏ. Chú ý:

Một phần của tài liệu Thiết kế thi công đầu cân điện tử chỉ thị số (Trang 90 - 94)