Các lệnh lôgíc Lệnh nạp dữ liệu Lệnh lôgíc đại số Boolean Lệnh xuất dữ liệu Lệnh làm việc với các bít ngăn xếp Các lệnh lôgíc đặc biệt Các lệnh Flip-Flop lệnh nhớ Lệnh nạp dữ
Trang 1Các lệnh lôgíc
Lệnh nạp dữ liệu
Lệnh lôgíc đại số Boolean
Lệnh xuất dữ liệu
Lệnh làm việc với các bít ngăn xếp
Các lệnh lôgíc đặc biệt
Các lệnh Flip-Flop (lệnh nhớ)
Lệnh nạp dữ liệu
STL
LD Bit LDN Bit Lệnh LD nv
Khi gặp lệnh này CPU sẽ nạp nv vào đỉnh ngăn xếp
Trước
LD
Sau
LD
iv0
iv1
iv2
iv3
nv
iv0
iv1
iv2
Kết quả các bít cũ bị đẩy xuống 1 bít, bít cuối cùng
bị đẩy khỏi ngăn xếp và không khôi phục lại được
Trang 2Lệnh LDN nv
Khi gặp lệnh này CPU sẽ thực hiện đảo giá trị nv,
sau đó lưu lại vào đỉnh ngăn xếp
iv0
iv1
iv2
iv3
nv iv0 iv1 iv2
Trước
LDN
Sau
LDN
Kết quả các bít cũ bị đẩy xuống 1 bít, bít cuối cùng
bị đẩy khỏi ngăn xếp và không khôi phục lại được
Chú ý:
Trong việc lựa chọn cấu hình đầu vào có liên quan
mật thiết tới 2 lệnh LD và LDN
Ta xét 2 ví dụ sau:
I0.0 NC
Lệnh LDN I0.0
NC I0.0 1 0
1 0
TOS 0 1
NC I0.0
TOS 1 Lệnh LD I0.0
I0.0 NO
Lệnh LD I0.0
NO I0.0 0 1
0 1
TOS 0 1
NO I0.0
TOS 1 Lệnh LDN I0.0
Trang 3Lệnh lôgíc đại số boolean
STL
iv0
iv1
iv2
iv3
iv0*nv iv1 iv2 iv3
iv0+nv iv1 iv2 iv3
iv0*nv iv1 iv2 iv3
iv0+nv iv1 iv2 iv3
Sau A
Sau O
Sau AN
Sau ON
Lệnh xuất dữ liệu
STL
iv0
iv1
iv2
iv3
iv0
iv1
iv2
iv3
Sau
=
Trước
=
Bit iv0 được lưu vào ô nhớ
có địa chỉ ghi trong lệnh =
Lưu bít đầu ngăn xếp vào
ô nhớ có địa chỉ Q0.1
Trang 4BÝt ng¨n xÕp
iv0
iv1
iv2
iv3
iv0*iv1 iv2 iv3 iv4
Thùc hiÖn lÖnh AND
2 bÝt ®Çu cña ng¨n xÕp, c¸c bÝt cßn l¹i
®−îc kÐo lªn mét bÝt
iv0
iv1
iv2
iv3
iv0+iv1 iv2 iv3 iv4
Thùc hiÖn lÖnh OR
2 bÝt ®Çu cña ng¨n xÕp, c¸c bÝt cßn l¹i
®−îc kÐo lªn mét bÝt
iv0
iv1
iv2
iv3
iv0 iv0 iv1 iv2
Sao chÐp bÝt ®Çu xuèng bÝt thø hai, toµn bé ng¨n xÕp bÞ ®Èy xuèng mét bÝt
iv0
iv1
iv2
iv3
iv1 iv1 iv2 iv3
Sao chÐp bÝt thø hai lªn bÝt
®Çu tiªn, toµn bé ng¨n xÕp vÉn gi÷ nguyªn
Trang 55) Lệnh LPP
Toàn bộ ngăn xếp đ−ợc
đẩy lên một bít, bít iv0 bị
đẩy khỏi ngăn xếp, bít cuối cùng có giá trị không xác
định
iv0
iv1
iv2
iv3
iv2 iv0 iv1 iv2
Với n = 2
Bít thứ n đ−ợc tách ra và ghi lên đỉnh ngăn xếp, các bít còn lại bị đẩy xuống một bít
iv0
iv1
iv2
iv3
iv1 iv2 iv3 iv4
Xét ví dụ minh hoạ
Trang 6Các lệnh lôgíc đặc biệt
iv0
iv1
iv2
iv3
iv0 iv1 iv2 iv3
Lệnh thực hiện đảo bít đầu tiên của ngăn xếp, kết quả
lưu lại trong đỉnh ngăn xếp
2) Lệnh EU (Edge Up)
Lệnh tạo ra một xung có độ rộng bằng một vòng
quét, khi CPU phát hiện bít đầu tiên của ngăn xếp
có sự chuyển trạng thái từ 0 lên 1
LD I0.0 EU
I0.0
Q0.0
Độ rộng một
vòng quét
Trang 72) Lệnh ED (Edge Down)
Lệnh tạo ra một xung có độ rộng bằng một vòng
quét, khi CPU phát hiện bít đầu tiên của ngăn xếp
có sự chuyển trạng thái từ 1 xuống 0
LD I0.0 ED
I0.0
Q0.0
Độ rộng một vòng quét
Các lệnh Flip-Flop (lệnh nhớ)
STL
N: Số bít cần S hoặc R
Bit: Địa chỉ bít đầu tiên trong số N bít
Trang 8Ví dụ: STL
LD I0.3 LPS
LPP
*) Lênh (1), sẽ chuyển
8 bít từ Q1.0 đến Q1.7
lên 1.
*) Lệnh (2), sẽ chuyển
8 bít từ Q1.0 đến Q1.7
xuống 0.
Các lệnh Timer
STL TON Txx, PT TONR Txx, PT TOF Txx, PT
IN: Đầu vào cho phép; PT: Giá trị đặt