Bộ lệnh của hãng Omron

Sau khi người dẫn chương trình đã nêu xong các câu hỏi, các đấu thủ (player) sẽ bấm nút phía trước mặt để trả lời câu hỏi. Ai bấm trước sẽ được trả lời trước. Sau khi bất kỳ đấu thủ nào bấm nút, chuông sẽ kêu trong 10 giây. Cùng lúc đó , đèn trước mặt đấu thủ đó sẽ sáng và sẽ chỉ được tắt (Reset) bởi người dẫn chương trình.

doc59 trang | Chia sẻ: maiphuongdc | Lượt xem: 5700 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bộ lệnh của hãng Omron, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
002 BBBB DM0002 BBBB DM0003 CCCC DM0003 CCCC DM0004 DDDD DM0004 DDDD DM0005 EEEE DM0005 EEEE Hoạt động xếp chồng của ngăn xếp kiểu LIFO: khi bit thứ 12 ÷15 của C = 8 lệnh Coll (81) dùng để truy xuất dữ liệu kiểu xếp chồng LIFO. 3 số còn lại của C (từ bit 00 đến bit 11) cho biết số word ngăn xếp (từ 000 đến 999). Nội dung của SBS là ngăn xếp con trỏ. Khi điều kiện thực hiện ngõ vào là On, lệnh Coll (81) dịch nội dung của mỗi word bên trong ngăn xếp vào ngăn xếp kế có địa chỉ nhỏ hơn 1 và dữ liệu của BSS+ nội dung của SBS cho word đích D. Nội dung của ngăn xếp con trỏ SBS sau đó giảm đi 1. Ví dụ: trình bày cách sử dụng lệnh Coll (81) để tạo một ngăn xếp giữa DM0001 và DM 0005. DM0000 hoạt động như một ngăn xếp.con trỏ Khi IR00000 chuyển từ OFF sang ON, lệnh Coll (81) chép nội dung của DM0005 (DM0000 + 5)cho IR 001. Nội dung con trỏ ngăn xếp DM0000 sau đó được giảm đi 1. Sơ đồ hình thang: Bit đầu tiên trong S (từ 0 đến F) Coll (81) DM0000 216 001 00000 Chương trình của hình thang Địa chỉ Lệnh Toán tử 0000 LD 00000 0001 Coll (81) DM0000 216 001 IR 216 8005 Ngăn xếp con trỏ giảm DM0000 0005 DM0000 00004 IR001 EEEE DM0001 AAAA DM0001 AAAA DM0002 BBBB DM0002 BBBB DM0003 CCCC DM0003 CCCC DM0004 DDDD DM0004 DDDD DM0005 EEEE DM0005 EEEE Cờ EQ: ON khi nội dung của S là 0, ngược lại là OFF Lệnh MOVB (82) – Move Bit Kí hiệu hình thang MOVB (82) S B D S: là dữ liệu nguồn : IR, SR, AR, DM, HR, TC, LR, # BI: bit chỉ định: IR, SR, AR, DM, HR, TC, LR, # D: word bắt đầu: IR, SR, AR, DM, HR, TC, LR, # Hai số bên phải và hai số bên trái của BI phải ở trong khoảng từ 00 tới 15. DM6144 tới DM665 không được dùng cho BI hay D Khi điều kiện thực hiện ngõ vào là OFF lệnh MOVB (82) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON lệnh MOVB (82) chép nội dung đã định của Bit S cho bit đã định trong D. Bit trong S và D được xác định bởi BI hai số bên phải bit chỉ định Bit nguồn và hai số bên trái bit chỉ định Bit đích. Minh hoạ BI 1 2 0 1 Bit nguồn S (00 tới 15): ở đây là bit số 01 Bit đích D (00 tới 15): ở đây là bit số 12 Bit Bit 15 00 BI 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 Bit Bit 15 00 S 0 1 0 1 0 1 0 0 0 1 1 1 0 0 0 1 Bit Bit 15 00 D 0 1 0 0 0 1 0 0 0 1 1 1 0 0 0 1 Lệnh XFRB (--) Kí hiệu hình thang XFRB (--) C B D C: Word nguồn : IR, SR, AR, DM, HR, TC, LR, # BI: bit chỉ định (BCD): IR, SR, AR, DM, HR, TC, LR, # D: word đích đầu tiên: IR, SR, AR, DM, HR, TC, LR Những bit nguồn phải cùng vùng dữ liệu. DM6144 tới DM6655 không dùng cho D Khi thực hiện ngõ vào là OFF, lệnh XFRB (--) không thực hiện. Khi thực hiện ngõ vào là ONN lệnh XFRB (--) chép những bit nguồn đã định của Bit S thành những bit đích đã định trong D. Hai số bên phải của C xác định bit bắt đầu trong S và D hai số bên trái xác định số bit sẽ được chép. C MSB LSB bit đầu tiên trong S (từ 0 đến F) bit đầu tiên trong D (từ 0 đến F) số lượng bit được chép (từ 00 đến FF) Ví dụ: Trong ví dụ sau, lệnh XFRB (--) được dùng để truyền 5 bit từ IR020 và IR021 cho LR00 và LR01. Bit bắt đầu trong IR020 là D (số13) và Bit bắt đầu trong LR00 là E (số 14), vì thế tới IR0210 được chép từ LR0014 tới LR0102. Lược đồ hình thang XFRB (--) #05ED IR020 LR00 00000 Chương trình của hình thang Địa chỉ Lệnh Toán tử 0000 LD 00001 0001 XFRB (--) #05ED 020 00 Minh họa Bit S+1:021 Bit 15 00 1 0 1 0 1 0 0 0 0 0 0 0 0 1 0 Bit S:020 Bit 15 00 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 D+1:LR01 1 1 1 0 0 0 0 1 0 0 1 1 1 1 0 1 D:LR00 1 1 0 0 0 1 0 0 1 0 1 0 0 0 0 LỆNH DỊCH 6.6.1 Lệnh SFT (10) – Shift Register Kí hiệu hình thang SFT (10) St E St: làword bắt đầu: IR, SR, AR, HR, LR E: word cuối: IR, SR, AR, HR, LR E phải lớn hơn St, E và St phải cùng vùng dữ liệu Lệnh SFT (10) được điều khiển bởi 3 điều kiện thực hiện I, R và R. SFT (10) thực hiện khi điều kiện cho P là ON trước đó là OFF và R là OFF. Khi đó điều kiện thực hiện I được dịch vào bit bên phải của một thanh ghi dịch đã định nằm trong St là E. nếu I là ON thì [1] được dịch vào trong thanh ghi, nếu I là OFF thì [0] được dịch vào. Khi I được dịch vào trong thanh ghi tất cả các bit trước trong thanh ghi sẽ được dịch sang trái và bit cuối cùng bên trái của thanh ghi sẽ bị mất đi. Nếu điều kiện thực hiện P không thay đổi (hoặc On hoặc OFF) hay chuyển từ ON sang OFF thì thanh ghi dịch sẽ không ảnh hưởng. Nếu điều kiện thực hiện R là ON tất cả các bit trong thanh ghi dịch sẽ Reset và thanh ghi dịch sẽ không thực hiện cho đến khi R được OFF trở lại. Minh họa lúc thanh ghi dịch thực hiện: St St+1, St+2 … E Ví dụ: Ví dụ sau dùng xung clock 1 giây (Bit SR25502) cho ngõ vào Pp để dịch dữ liệu từ ngõ vào I cho IR010 để bật ON khi bit OUT 10000 khi bit IR01007 là 1 thông qua bit điều khiển IR00000 Kí hiệu hình thang SFT (10) St E 00000 10000 Chương trình được thực hiện như sau: Địa chỉ Lệnh toán tử 00000 LD 00000 00001 LD 25502 00002 LD 00001 00003 SFT (10) 010 010 00004 LD 01007 00005 OUT 10000 6.6.2 Lệnh WSFT (16) – Word Shift Kí hiệu hình thang WSFT (16) St E St: làword bắt đầu: IR, SR, AR, DM, HR, LR E: word cuối: IR, SR, AR, DM, HR, LR E phải lớn hơn St, E và St phải cùng vùng dữ liệu DM6144 tới DM6655 không được dùng cho St và E Khi điều kiện thực hiện ngõ vào là OFF, lệnh WSFT (16) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh WSFT (16) dịch dữ liệu trong từng word giữa St và E trong khối word. Minh họa St + 2 St + 1 St F 0 C 2 3 4 5 6 7 8 9 A 1 0 2 9 vào E St + 2 St + 1 St 3 4 5 6 7 8 9 A 1 0 2 9 0 0 0 0 Lệnh ASL (25) – Arthmetk Shift Left Kí hiệu hình thang ASL (25) Wd Wd : word dịch (Shift word):IR,SR,AR,DM,HR,LR DM6144 tới 6655 không sử dụng cho Wd Khi điều kiện thực hiện ngõ vào là OFF, ASL (25) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, ASL (25) dịch số 0 vào cho bit 15 của Wd và từng bit một trong Wd được dịch sang phải 15 00 Lệnh ROL (27) – Rotate Left Kí hiệu hình thang ROL (27) Wd Wd : word xoay (Shift word):IR,SR,AR,DM,HR,LR DM6144 tới 6655 không sử dụng Khi điều kiện thực hiện ngõ vào là OFF, ROL (27) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, ROL (27) dịch tất cả từng bit một của Wd sang trái. Bit được dịch vào 00 cho Wd và Bit thứ 15 của Wd được dịch cho …….. CY 15 00 Lệnh ROR (28) – Rotate Right Kí hiệu hình thang ROR (28) Wd Wd : word dịch (Rotate word):IR,SR,AR,DM,HR,LR DM6144 tới 6655 không dùng. Khi điều kiện thực hiện ngõ vào là OFF, ROR (28) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, ROR (28) dịch tất cả từng bit một của Wd sang phải. Bit ……..được dịch vào 15 của Wd được dịch cho …….. 15 00 Cờ EQ : ON [1] khi nội dung của Wd là zero; trường hợp khác EQ ở trạng thái OFF [0]. Lệnh SLD (74) – One Digit Shift Left Kí hiệu hình thang SLD (74) St E St : word bắt đầu: IR, SR, AR, DM, HR, LR E : word cuối: IR, SR, AR, DM, HR, LR St và E phải cùng một vùng dữ liệu, E phải lớn hơn St DM6144 tới 6655 không được dùng cho St hay E Khi điều kiện thực hiện ngõ vào là OFF, SLD (74) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, SLD (74) dịch dữ liệu giữa St và E một số 4 bit sang trái. Số 0 được ghi vào số bên phải của St thì nội dung của số bên trái E bị mất. dữ liệu mất E St 0 Lệnh SRD (75) – ONE DIGIT SHIFT RIGHT Kí hiệu hình thang SRD (75) St E St : word bắt đầu: IR, SR, AR, DM, HR, LR E : word cuối: IR, SR, AR, DM, HR, LR St và E phải cùng một vùng dữ liệu, E phải lớn hơn St DM6144 tới 6655 không được dùng cho St hay E Khi điều kiện thực hiện ngõ vào là OFF, SRD (75) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, SRD (75) dịch dữ liệu giữa St và E một số 4 bit sang phải. Số 0 được ghi vào số bên trái của St thì nội dung của số bên phải E bị mất. St St dữ liệu mất 0 Lệnh SFTR (84) – REVERSIBLE SHIFT REGISTER Kí hiệu hình thang SFTR(84) C St E C: word điều khiển (Control word): IR,SR,AR,DM,HR,LR St : word bắt đầu(Starting word): IR,SR, AR,DM, HR,LR E : word cuối(End word): IR, SR, AR, DM, HR, LR St và E phải cùng một vùng dữ liệu St phải nhỏ hơn hay bằng E DM6144 tới 6655 không được dùng cho St hay E SFTR(84) dùng để tạo thanh ghi dịch một hay nhiều word mà có thể dịch dữ liệu theo cả hai chiều là dịch trái hay dịch phải để tạo một thanh ghi một word tức là xác định St và E cùng word. Word điều khiển C cho biết hướng dịch, trạng thái nhập vào thanh ghi, xung dịch và ngõ vào reset- word điều khiển được định vị như sau: 15 14 13 12 Không dùng Hướng dịch: [1] dịch sang trái (ISB sang MSB) [0] dịch sang phải (MSB sang ISB) Trạng thái nhập vào thanh ghi Bit xung dịch Reset Dữ liệu trong thanh ghi dịch sẽ được dịch một Bit theo hướng đã định bởi Bit thứ 12 một Bit dịch xuất cho v và trạng thái của bit thứ 13 được chuyển cho Bit cuối cùng khác mỗi khi SFTR(84) được thực hiện với điều kiện thực hiện ON Bit Reset thì OFF và Bit 14 thì ON. Nếu SFTR(84) được thực hiện với điều kiện thực hiện là OFF hay nếu SFTR(84) thực hiện với Bit 14 là OFF thanh ghi dịch sẽ duy trì trạng thái không thay đổi. Nếu thanh ghi dịch được thực hiện với điều kiện thực hiện là ON và Bit Reset (Bit 15) là OFF thì toàn bộ thanh ghi dịch và cờ CY sẽ được đặt về 0. - v: Nhận trạng thái của Bit của v hay Bit 15 tuỳ thuộc vào hướng dịch. Ví dụ: trong ví dụ sau: IR00000, IR00001, IR00002, IR00003 được dùng để điều khiển trạng thái của Bit C trong SFTR(84) thanh ghi dịch DM0010 được điều khiển thông qua IR00004. Sơ đồ hình thang 03512 03513 03514 03515 SFTR (84) 035 DM010 DM010 Viết chương trình cho sơ đồ hình thang Địa chỉ Lệnh Dữ liệu 00000 LD 00000 00001 OUT 03512 00002 LD 00001 00003 OUT 03513 00004 LD 00002 00005 OUT 03514 00006 LD 00003 00007 OUT 03515 00008 LD 00004 00009 SETR (10) 035 DM010 DM010 Lệnh ASFT (17) – ASYNCHRONOUS SHIFT Kí hiệu hình thang ASFT (17) C St E C: word điều khiển(control word): IR,SR,AR,DM,HR,LR St : word bắt đầu(starting word): IR,SR, AR,DM, HR,LR E : word cuối(End word): IR, SR, AR, DM, HR, LR St và E phải cùng một vùng dữ liệu E phải lớn hơn hay bằng St DM6144 tới 6655 không được dùng cho St hay E Khi điều kiện thực hiện ngõ vào là OFF lệnh ASFT (17) không thực hiện và chương trình di chuyển đến lệnh kế đó. Khi thực hiện ngõ vào là ON lệnh ASFT (17) được dùng để tạo và điều khiển thanh ghi dịch word không đồng bộ hai chiều giữa St và E thanh ghi này chỉ dịch word khi word kế đó trong thanh ghi là zero. Nếu không có word nào trong thanh ghi chứa zero thì không có word nào được dịch. Cũng như một word chứa zero, khi nội dung của word dịch đến word kế thì nội dung của word nguồn được đặt về không (zero). Khi thanh ghi được dịch, từng word zero trong thanh ghi được đánh dấu thay thế bằng một word kế (xem ví dụ sau). Hướng dịch được xác định trong C. C cũng được dùng để reset thanh ghi tất cả mọi word trong thanh ghi có thể reset được. Bằng cách xác định những word mong muốn trong St và E. Bit 00 tới 12 của C không dùng: Bit 13 là bit chỉ hướng dịch. Bit 13 ON là dịch xuống (về hướng word có địa chỉ thấp) và OFF là dịch lên (về hướng word có địa chỉ cao). Bit thứ 14 là cho phép dịch Bit: ON cho phép thanh ghi dịch hoạt động theo Bit 13 và OFF không cho phép thanh ghi dịch. Bit thứ 15 là Bit reset (Set về 0). Trong khoảng từ St tới E khi ASFT (17) hoạt động với Bit 15 ON. Bit 15 OFF thì hoạt động bình thường. Ví dụ: ví dụ mô tả lệnh ASFT (17) dùng dịch những word trong thanh ghi có 11 word được tạo từ DM0100 và DM0110 với C = #6000 = 040 0000 0000 0000 St (DM0100) vì Bit thứ 13 của C là ON. Kí hiệu hình thang ASFT (17) #6000 DM 0100 DM0110 Chương trình cho sơ đồ hình thang Địa chỉ Lệnh dữ liệu 00000 LD 00000 00001 ASFT (17) #6000 DM 0100 DM0110 DM0100 1234 1234 1234 DM0101 0000 0000 2345 DM0102 0000 2345 3456 DM0103 2345 0000 4567 DM0104 3456 3456 5678 DM0105 0000 0000 6789 DM0106 4567 4567 789A DM0107 5678 5678 0000 DM0108 8789 6789 0000 DM0109 0000 789A 0000 DM0110 789A 0000 0000 LỆNH TÍNH TOÁN BCD Lệnh STC (40) – SET CARRY (đặt carry) Kí hiệu hình thang STC 40 Khi điều kiện thực hiện ngõ vào là OFF, lệnh STC (40) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, Bit caryy (SR 25504) lên 1. Lệnh CLC (41) – CLEAR CARRY (xóa carry) Kí hiệu hình thang CLC 41 Khi điều kiện thực hiện ngõ vào là OFF, lệnh STC (40) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, Bit caryy (SR 25504) lên 1. Lệnh ADD (30) – BCD ADD (Binary Code Decimal) ADD: cộng nhị phân Kí hiệu hình thang ADD (30) Au Ad R Au : Augen word (BCD): IR, SR, AR, DM, HR,LR Ad : Addend word (BCD): IR, SR, AR, DM, HR,LR R : result word (word kết quả): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùngcho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh ADD (30) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh ADD (30) cộng nội dung của Au, Ag, CY và đặt kết quả vào trongR. Cy sẽ đặt lên 1 nếu kết quả lớn 9999 Au Ad CY CY R Cờ CY : ON khi có một carry trong kết quả. Cờ EQ : ON khi kết quả là 0. Ví dụ: trong ví dụ được lập trình (xem hình) nếu 00002 mà ON thì chương trình sẽ xoá CY với CLC (41) và cộng nội dung IR 030 với hằng số 6103 đặt kết quả vào trong DM0100 và sau đó di chuyển số 0000 hay 0001 vào DM0101 tuỳ thuộc vao trạng thái CY (SR25504). Điều này để đảm bào rằng bất kỳ carry nào từ số sau cùng cũng được giữ trong R+1 vì thế toàn bộ kết quả sau cùng được xem như là một dữ liệu 8 số. Sơ đồ hình thang CLC (41) ADD (30) IR030 #6103 DM 0100 MOV (21) #0001 DM0101 MOV (21) #0001 DM0101 25504 25504 TRO 00002 Viết chương trình cho sơ đồ hình thang trên Địa chỉ Lệnh Dữ liệu 00000 LR 00002 00001 OUT TRO 0 00002 CLC (41) 00003 ADD (30) 030 #6103 DM0100 00004 AND 25504 00005 MOV (21) 0001 DM0101 00006 LD TR0 00007 AND NOT 25504 00008 MOV (21) #0000 DM0101 Lệnh SUB (31) ( BCD SUBTRACT) – Trừ BCD: Ký hiệu hình thang: Mi: word bị trừ: IR,SR,AR,DM,HR,TC,LR,# Su: word trừ: IR,SR,AR,DM,HR,TC,LR,# R:word kết quả: IR,SR,AR,DM,HR,TC,LR SUB (31) Mi Su R DM6144 đến DM6655 không được dùng cho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh SUB (31) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh SUB (31) trừ nội dung của Su, Cy, từ Mi đặt kết quả vào trong R. Nếu kết quả là âm thì CY sẽ đặt lên 1 và bù 10 kết quả thực đặt trong R. Biến đổi bù 10 để kết quả đúng, trừ nội dung của R từ zero Mi Su Cy CY R Cờ CY: ON khi có kết quả âm tức là khi Mi nhỏ hơn Su cộng với CY Cờ EQ: ON khi kết quả là 0. Lệnh MUL (32) – BCD MULTIPLY (nhân BCD) Kí hiệu hình thang MUL (32) Md Mr R Md : Multiolicand (BCD): IR, SR, AR, DM, HR,LR, # Mr : Multiplier (BCD): IR, SR, AR, DM, HR,LR, # R: First resuit word (word kết quả): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùng cho R Md Md x R + 1 R Khi điều kiện thực hiện ngõ vào là OFF, lệnh MUL (32) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh MUL (32) nhân Md với nội dung của Mr và kết quả đặt ở trong R và R+1 Ví dụ: Xem lược đồ sau: khi IR00000 mà ON thì nội dung của IR 013 và DM0005 được nhân và kết quả được đặt trong HR07 và HR08. Dữ liệu ví dụ và tính toán được trình bày dưới chương trình. Lược đồ hình thang MUL (32) 013 DM00006 HR 07 00001 Chương trình của hình thang Địa chỉ Lệnh Toán tử 0000 LD 00001 0001 MUL (32) 013 DM00005 HR 07 Md: IR013 3 3 5 6 Md: IR013 3 3 5 6 X RH: HR08 R: HR07 0 0 0 8 3 9 0 0 Cờ CY : ON khi có một carry trong kết quả EQ : ON khi kết quả bằng 0 Lệnh DIV (33) – BCD DIVIDE (chia BCD) Kí hiệu hình thang DIV (33) Dd Dr R Dd : Dividend (BCD): IR, SR, AR, DM, HR,LR, # Dr : Divisorword (BCD): IR, SR, AR, DM, HR,LR, # R: First resuit word (word kết quả): IR,SR,AR,DM,HR,LR R và R +1 cùng vùng dữ liệu, DM 6143 tới DM 6655 không dùng Khi điều kiện thực hiện ngõ vào là OFF, lệnh DIV (33) không thực hiện và chương trình chuyển đến lệnh kế tiếp. Khi điều kiện thực hiện ngõ vào là ON, lệnh DIV (33) Dd chia cho Dr và kết quả cất trong R và R + 1. Thương số được cất trong R và số dư cất trong R + 1. Ví dụ: Khi IR00000 mà ON theo lập trình sau, nội dung của IR216 được chia ch nội dung của HR09 và kết quả cất trong DM0018. dữ liệu ví dụ và tính toán được trình bày lập trình sau: Lược đồ hình thang DIV (33) 216 HR 09 DM0017 00000 Chương trình của hình thang Địa chỉ Lệnh Toán tử 00000 LD 00000 00001 DIV (33) 216 HR 07 DM 0017 Thương số Số dư R: HR0017 RH: DM00018 1 1 5 0 0 0 0 2 Số chia Số bị chia Dr: HR 09 Dd: IR 216 0 0 0 3 1 4 5 2 Lệnh ROOT (72) – SQURE ROOT (căn bậc hai) Kí hiệu hình thang ROOT (72) Sq R Sq (word nguồn đầu):IR, SR, AR, DM, HR,LR, # R: Reset word (word kết quả): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùng trong R Khi điều kiện thực hiện ngõ vào là OFF, lệnh ROOT (72) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh ROOT (72) khai căn bậc hai của Sq và Sq + 1 rồi cất kết quả trong R. Sq + 1 Sq R Ví dụ: Ví dụ sau mô tả sự khai căn bâc hai của một số 8 số kết quả làmột số 4 số. Với số dư sẽ được làm tròn. Trong ví dụ này: Sq+1 Sq 6 3 2 5 0 5 6 11 Nên làm trò số thì kết quả là 7953 ROOT (72) DM0000 001 00000 Sơ đồ hình thang Chương trình của hình thang Địa chỉ Lệnh Toán tử 00000 LD 00000 00001 ROOT (72) MD 0000 001 DM0001 DM0000 6 3 2 5 0 5 6 1 Nên 0001 7 9 5 3 Kết quả đã được làm tròn LỆNH TÍNH TOÁN NHỊ PHÂN Lệnh cộng nhị phân ADB (50) - BINARY A00 Kí hiệu hình thang ADB (50) Au Ad R Au : Augen word (BCD): IR, SR, AR, DM, HR,LR,# Ad : Addend word (BCD): IR, SR, AR, DM, HR,LR,# R : result word (word kết quả): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùngcho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh ADB (50) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh ADB (50) cộng nội dung của Au, Ad, CY và đặt kết quả vào trong R. Cờ Cy sẽ đặt lên 1 nếu kết quả lớn FFFF Au Ad CY CY R Cờ CY : ON khi kết quả lớn hơn FFFF Cờ EQ : ON khi kết quả bằg 0 Ví dụ: Ví dụ mô tả phép cộng 4 số với CY dùng để thay thế giá trị #0000 hay #0001 trong R+1 để đảm bảo rằng bất kỳ Carry được giữ trước. CLC (41) ADB (50) 000 DM0100 HR10 25504 00000 MOV (21) #0000 HR 11 MOV (21) #0001 HR 11 Chương trình cho sơ đồ hình thang Địa chỉ Lệnh Dữ liệu 00000 LD 00000 00001 OUT TR 0 00002 CLC (41) 00003 ADB (50) 010 DM0100 HR 10 00004 AND NOT 00005 MOV (21) #0000 HR 11 00006 LD TR 0 00007 AND 25504 00008 MOV (21) #0001 HR 11 Trong trường hợp dưới đây ta có A6E2 + 80C5 = 127A7. Kết quả là 5 số, vì thế CY (SR 25504) = L và nội dung của R + 1 trở thành #0001 Au: IR010 A 6 E 2 Ad: DM 0100 8 0 C 5 R + 1 : HR11 R: HRR10 0 0 0 1 1 7 A 7 + Lệnh trừ nhị phân SBB (51) – Binary Subtract Kí hiệu hình thang SBB (51) Mi Su R Mi : Minuend word (word bị trừ):IR,SR,AR,DM,HR,LR, # Su : Addend word (word trừ): IR, SR, AR, DM, HR,LR, # R : result word (word kết quả): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùngcho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh SBB (51) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh SBB (51) trừ nội dung của Su, CY từ Mi và đặt kết quả vào trong R. Nếu kết quả là âm thì Cy đặt lên 1 và bù mười kết quả thực đặt trong R. Biến đổi bù 10 để kết quả đúng, trừ nội dung của R từ zero. Mi Su CY CY R Cờ CY : ON khi kết quả âm Cờ EQ : ON khi kết quả bằng 0 DIV (33) SBB (51) 002 LR00 HR01 00001 Ví dụ: Khi IR 00001 ON nội dung của LR00 và CY được trừ nội dung của IR02 và kết quả được cất trong HR01 Ở trường hợp trên nội dung LR000 (#7A03), IR002 (#F8C5) Mi : IR002 F 8 C 5 Su : LR00 7 A 0 3 R : HR01 7 E C 2 0 0 0 0 Lệnh nhân nhị phân MLB (52) – BINARY MULTIPLY Kí hiệu hình thang MLB (52) Md Mr R Md : word số bị nhân: IR, SR, AR, DM, HR,LR, # Mr: word số nhân: IR, SR, AR, DM, HR,LR, # R : Reset word (word kết quả đầu): IR,SR,AR,DM,HR,LR DM6144 tới DM6655 không được dùngcho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh MLB (52) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh MLB (52) nhân nội dung của Md với nội dung của Mr và cất kết quả vào trong R và R+1. Minh họa: Md Mr R + 1 R x LỆNH BIẾN ĐỔI Từ BCD sang nhị phân BIN (23) – BCD-TO-BINARY Kí hiệu hình thang BIN (23) S R S : word nguồn: IR, SR, AR, DM, HR, LR, # R : word kết quả: IR, SR, AR, DM, HR, LR DM6144 tới DM6655 không được dùngcho R Khi điều kiện thực hiện ngõ vào là OFF, lệnh BIN (23) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh BIN (23) biến đổi nội dung của BCD của 5 sang Bit nhị phân tương đương kết quả vào R. Từ nhị phân sang BCD (BCD (24)) Kí hiệu hình thang BCD (24) S R S : word nguồn: IR, SR, AR, DM, HR, LR R : word kết quả: IR, SR, AR, DM, HR, LR Nội dung của S không được vượt quá 270F. Nếu nội dung của S>270F, khi biến đổi kết quả sẽ lớn hơn 9999. DM6144 tới DM6655 không được dùngcho R Lệnh BCD (24) dùng biến đổi nội dung của S dạng nhị phân (hay thập lục) sang BCD tương đương và cất trong R. Lệnh giải mã 4 sang 16: MLPX (76) (4 to 16 Decoder) Kí hiệu hình thang MLPX (76) S Di R S : word nguồn: IR, SR, AR, DM, HR, LR, # Di: thanh ghi định số: IR, SR, AR, DM, HR, LR, R : word kết quả: IR, SR, AR, DM, HR, LR Hai số bên phải của Di mỗi số có giá trị từ 0 đến 3. DM6144 tới DM6655 không được dùngcho R. Tất cả các word phải cùng dữ liệu. Khi điều kiện thực hiện ngõ vào là OFF, lệnh MLPX (76) không thực hiện. Khi điều kiện thực hiện ngõ vào là ON, lệnh MLPX (76) biến đổi tối đa 4 số hexa trong S sang giá trị Decimal từ 0 đến 15. Mỗi giá trị sau khi biến đổi xác định vị trí Bit tương ứng trong word kết quả va bật ON Bit đó. Thanh ghi Di cho biết số đầu tiên và số lượng số được biến đổi của word S. Minh họa thanh ghi Di Di Xác định số đầu tiên trong S biến đổi (0 đến 3) Xác định số lượng số trong S được biến đổi 0: 1 số; 1: 2 số ; 2: 3 số ; 3: 4 số Không dùng (đặt thành 00) Ví dụ minh hoạ một vài giá trị của Di: Di : 0010 0 1 2 3 R R+1 R+2 R+3 Di: 0030 R R +1 0 1 2 3 R R+1 R+2 R+3 S 0 1 2 3 0 1 2 3 R R+1 R+2 R+3 Lệnh mã hóa DMPX (77): Ký hiệu hình thang: DMPX(77) SB R Di SB: word nguồn đầu: IR, SR, AR, DM, HR, LR, TC R: word kết quả: IR, SR, AR, DM, HR, LR. Thanh ghi xác định số: IR, SR, AR, DM, HR, LR Hai số bên phải của Di mỗi số có giá trị từ 0 đến 3 Tất cả các word R phải cùng vùng dữ liệu. DM6144 tới DM6655 không được dùng cho R, SB hay Di. Khi điều kiện thực hiện ngõ vào là OFF thì lệnh DMPX (77) không thực hiện, khi điều kiện thực hiện ngõ vào là ON, lệnh DMPX (77) xác định giá trị Hexa tương ứng với vị trí bit ON, sau đó chuyển giá trị hexa để xác định số trong R. Số nhận trong R cũng như số lượng số nhận do Di xác định. Những số trong số Di được xác định như sau: Di Xác định số đầu tiên được nhận biến đổi dữ liệu (0-3) Số word được biến đổi Không dùng Ví dụ minh họa một vài giá trị của Di: S S+1 S+2 S+3 0 1 2 3 Di: 0030 S S+1 0 1 2 3 S Di : 0011 S S+1 0 1 2 3 Di:0013 0013 00013 S S+1 S+2 S+3 0 1 2 3 Di: 0030 NHÓM LỆNH SO SÁNH: Lệnh CMP (20) Ký hiệu hình thang: CMP (20) CP1 CP2 CP1: word so sánh thứ nhất: IR,SR,AR DM,HR,TC,LR,# CP2:word so sánh thứ hai: IR,SR,AR,DM,HR,TC,LR,# Lệnh CMP (20) dùng so sánh hai dữ liệu CP1 và CP2 và xuất kết quả ra các cờ RE, EQ và LE trong vùng SR. EQ : ON nếu CP1 = CP2 LE : ON nếu CP1 < CP2 GR : ON nếu CP1 > CP2 Cờ Địa chỉ CP1<CP2 CP1=CP2 CP1>CP2 GR 25505 OFF OFF ON EQ 25506 OFF ON OFF LE 25507 ON OFF OFF Lệnh so sánh bảng: Ký hiệu hình thang: TCMP (85) CD TB R CD: Dữ liệu so sánh: IR,SR,DM,HR,LR,TC,# R: word kết quả: IR,SR,DM,HR,TC,LR. TB: word đầu tiên trong bảng so sánh: IR,SR,DM,HR,TC,LR DM6144 đến DM6655 không được dùng cho R. Khi điều kiện thực hiện ngõ vào là OFF thì lệnh TCMP (85) không thực hiện, khi điều kiện thực hiện ngõ vào là ON, lệnh TCMP (85) so sánh dữ liệu CD với nội dung TB, TB+1, TB+2,…, TB+15. Nếu nội dung của CD bằng nội dung của những word này tương ứng với những bit trong R được đặt lên 1: Nếu nội dung của CD bằng nội dung của TB thì bit 00 của R được bật lên ON, tương tự nếu CD bằng TB+1 thì Bit 01 của R được bật lên ON. Đồng thời tất cả các Bit còn lại trong R sẽ được Reset về 0. TCMP (85) 001 DM0000 216 Ví dụ: Chương trình của sơ đồ hình thang: Địa chỉ Lệnh Toán tử 00000 LD 00000 00001 TCMP(85) 001 DM0000 216 Giả sử : R216 CD: 001 (IR001) 0 2 1 0 IR00000 0100 IR21600 0 IR00001 0200 IR21601 0 IR00002 0210 IR21602 1 IR00003 0400 IR21603 0 IR00004 0500 IR21604 0 IR00005 0600 IR21605 0 IR00006 0210 IR21606 1 IR00007 0800 IR21607 0 IR00008 0900 IR21608 0 IR00009 1000 IR21609 0 IR00010 0210 IR21610 1 IR00011 1200 IR21011 0 IR00012 1300 IR21612 0 IR00013 1

Các file đính kèm theo tài liệu này:

  • docc67_bo_lenh_va_chuong_trinh_ung_dung_9017.doc