Báo cáo tập lệnh

• Bit 0 – C (Carry Flag: Cờ nhớ): là bit nhớ trong các phép đại số hoặc logic, ví dụ thanh ghi R1 chứa giá trị 200, R2 chứa 70, chúng ta thực hiện phép cộng có nhớ: ADC R1, R2, sau phép cộng, kết quả sẽ được lưu lại trong thanh ghi R1, trong khi kết quả thực là 270 mà thanh ghi R1 lại chỉ có khả năng chứa tối đa giá trị 255 (vì có 8 bit) nên trong trường hợp này, giá trị lưu lại trong R1 thực chất chỉ là 14, đồng thời cờ C được set lên 1 (vì 270=100001110, trong đó 8 bit sau 00001110 =14 sẽ được lưu lại trong R1).

• Bit 1 – Z (Zero Flag: Cờ 0): cờ này được set nếu kết quả phép toán đại số hay phép Logic bằng 0.

• Bit 2 – N (Negative Flag: Cờ âm): cờ này được set nếu kết quả phép toán đại số hay phép Logic là số âm.

• Bit 3 – V (Two’s complement Overflow Flag: Cờ tràn của bù 2): hoạt động của cờ này có vẻ sẽ khó hiểu cho bạn vì nó liên quan đến kiến thức số nhị phân (phần bù), chúng ta sẽ đề cập đến khi nào thấy cần thiết.

 

docx8 trang | Chia sẻ: Mr Hưng | Lượt xem: 1085 | Lượt tải: 0download
Nội dung tài liệu Báo cáo tập lệnh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BÁO CÁO TẬP LỆNH Lưu ý: Trước tiên ta cần tìm hiểu về lại về khí niệm “Thanh ghi trạng thái - SREG (STATUS REGISTRY).” Thanh ghi SREG chứa 8 bit cờ (flag) chỉ trạng thái của bộ xử lí, tất cả các bit này đều bị xóa sau khi reset, các bit này cũng có thể được đọc và ghi bởi chương trình. Chức năng của từng bit được mô tả như sau: Bit 0 – C (Carry Flag: Cờ nhớ): là bit nhớ trong các phép đại số hoặc logic, ví dụ thanh ghi R1 chứa giá trị 200, R2 chứa 70, chúng ta thực hiện phép cộng có nhớ: ADC R1, R2, sau phép cộng, kết quả sẽ được lưu lại trong thanh ghi R1, trong khi kết quả thực là 270 mà thanh ghi R1 lại chỉ có khả năng chứa tối đa giá trị 255 (vì có 8 bit) nên trong trường hợp này, giá trị lưu lại trong R1 thực chất chỉ là 14, đồng thời cờ C được set lên 1 (vì 270=100001110, trong đó 8 bit sau 00001110 =14 sẽ được lưu lại trong R1). Bit 1 – Z (Zero Flag: Cờ 0): cờ này được set nếu kết quả phép toán đại số hay phép Logic bằng 0. Bit 2 – N (Negative Flag: Cờ âm): cờ này được set nếu kết quả phép toán đại số hay phép Logic là số âm. Bit 3 – V (Two’s complement Overflow Flag: Cờ tràn của bù 2): hoạt động của cờ này có vẻ sẽ khó hiểu cho bạn vì nó liên quan đến kiến thức số nhị phân (phần bù), chúng ta sẽ đề cập đến khi nào thấy cần thiết. Bit 4  – S (Sign Bit: Bit dấu): Bit S là kết quả phép XOR giữa 1 cờ N và V, S=N xor V. Bit 5 – H (Half Carry Flag: Cờ nhờ nữa): cờ H là cờ nhớ trong 1 vài phép toán đại số và phép Logic, cờ này hiệu quả đối với các phép toán với số BCD. Bit 6 – T (Bit Copy Storage): được sử dụng trong 2 Instruction BLD (Bit LoaD) và BST (Bit STorage). Tôi sẽ giải thích chức năng Bit T trong phần giới thiệu về BLD và BST. Bit 7 – I (Global Interrupt Enable) : Cho phép ngắt toàn bộ: Bit này phải được set lên 1 nếu trong chương trình có sử dụng ngắt. Sau khi set bit này, bạn muốn kích hoạt loại ngắt nào cần set các bit ngắt riêng của ngắt đó. Hai instruction dùng riêng để Set và Clear bit I là SEI và CLI. I. Ký hiệu dùng trong báo cáo: Rd : Điểm đến (và nguồn) đăng ký trong File Đăng ký Rr : Nguồn đăng ký trong Sổ đăng ký tập tin R : Kết quả sau khi dạy được thực thi K : dữ liệu liên tục k : Hằng số địa chỉ b : Bit trong File Đăng ký hoặc I / O Register ( 3 - bit) s : Bit trong Status Register ( 3 - bit) X , Y , Z : Gián tiếp Địa chỉ Đăng ký ( X = R27 : R26 , Y = R29 : R28 và Z = R31 : R30 ) A: I / O địa chỉ địa điểm q : Displacement cho địa chỉ trực tiếp ( 6 - bit) II. Các lênh: 1. Các lệnh chuyển dữ liệu: + MOV: Copy dữ liệu nguồn đến đich MOV đich, nguồn. Trong đó toán hạng đích và gốc có thể tìm theo các địa chỉ khác nhau, nhưng phải có cùng độ dài. Operation: Rd ¬ Rr Syntax: MOV Rd,Rr Operands: 0 £ d £ 31, 0 £ r £ 31 ( cấu trúc có 5 chữ d 2^5 = 32) Program Counter: PC ¬ PC + 1 + LOAD: Nạp dữ liệu từ bộ nhớ đến bộ xử lý. LD (Tải trực tiếp từ không gian dữ liệu để đăng ký sử dụng Index X ): LD (Tải trực tiếp từ không gian dữ liệu để đăng ký sử dụng Index Y) LDD (Tải trực tiếp từ không gian dữ liệu để đăng ký sử dụng Index Y) LDD (Tải trực tiếp từ không gian dữ liệu để đăng ký sử dụng chỉ số Z) LDI (Tải ngay) Operation: Rd ¬ K Syntax: LDI Rd,K Operands: 16 £ d £ 31, 0 £ K £ 255 Program Counter: PC ¬ PC + 1 LDS (Tải trực tiếp từ không gian dữ liệu) LDS ( 16 - bit) (Tải trực tiếp từ không gian dữ liệu) + STORE: Cất dữ liệu từ bộ xử lý đến bộ nhớ ST (Cửa hàng gián tiếp Từ Đăng ký để sử dụng dữ liệu không gian Index X) ST ( STD ) - Store gián Từ Đăng ký để sử dụng dữ liệu không gian Index Y ST ( STD ) - Store gián Từ Đăng ký để sử dụng dữ liệu không gian Index Z STS - Lưu trữ trực tiếp đến không gian dữ liệu. + EXCHANGE: Trao đổi nội dung của nguồn và đích. + CLEAR: Chuyển các bit 0 vào toán hạng đích. CLC – Clear Carry Flag CLH – Clear Half Carry Flag CLI – Clear Global Interrupt Flag CLR – Clear Register CLN – Clear Negative Flag CLS – Clear Signed Flag CLT – Clear T Flag CLV – Clear Overflow Flag CLZ – Clear Zero Flag + SET: Chuyển các bít 1 vào toán hạng đích Tương tự trên có các SE C -> Z. + PUSH: Cất nội dụng toán hạng nguồn vào ngăn xếp. + POP: Lấy nội dung của đỉnh ngăn xếp đưa lên toán hạng đích. 2. Các lệnh số học: + ADD: Cộng hai toán hạng + SUBTRACT: Trừ hai toán hạng + MULTIPLY: Nhân 2 toán hạng + DIVIDE: Chia 2 toán hạng + ABSOLUTE: Lấy trị tuyệt đối của toán hạng + NEGATE: Đổi dấu toán hạng lấy bù 2 + INCREMENT:Tăng toán hạng thêm 1 + DECREMENT: Giảm toán hạng đi 1 + COMPARE: Trừ hai toán hạng để lập cờ. 3. Các lệnh Logic: + AND: Thực hiện phép AND 2 toán hạng + OR: Thực hiện phép OR 2 toán hạng + XOR: Thực hiện phép XOR 2 toán hạng + NOT: Đảo bit của toán hạng lấy bù 1 + TEST: Thực hiện phép AND 2 toán hạng để lập cờ + SHIFT: Dịch trái (phải) toán hạng LSL – Logical Shift Left LSR – Logical Shift Right + ROTATE: Quay trái (phải) toán hạng ROL – Rotate Left trough Carry ROR – Rotate Right trough Carry 4. Các lệnh chuyển điều khiển: + JUMP: Nếu đúng thì nạp vào PC 1 địa chỉ xác định, nếu sai thì không làm gì cả + CALL và RETURN: 5. Các lệnh chuyển hệ thống + NOOPENTION: Không thực hiện gì cả + LOCK: Cấm không cho xin chuyển nhượng bus + HALT: Dừng thực hiện chương trình + WAIT: Tạm dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thỏa mãn thì mới bắt đầu thực hiện. + UNLOCK: Cho phép chyển nhượng bus

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

  • docxbao_cao_tap_lenh_4082.docx
Tài liệu liên quan