Giáo trình Kỹ thuật Vi xử lý: Phần 2

91 1 0
Giáo trình Kỹ thuật Vi xử lý: Phần 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG III B ộ NHỚ TRONG CỦA HỆ VI x LÝ lllề1 Bộ nhớ hệ Vi xử lý Bộ nhớ sử dụng để lưu giữ mã lệnh chương trinh liệu cần xử lý Bộ nhớ ghép nối trực tiếp với CPU qua BUS hệ thống noi CPU truy xuất tới để lấy thông tin khởi động hệ thống Yêu cầu đặt cho nhớ phải cho phép truy xuất với tốc độ cao để đáp ứng kịp thời địi hỏi CPU Chi có nhớ bán dẫn đáp ứng yêu cầu cao tốc độ truy xuất cao (hàng trăm đến hàng chục nsec) Bộ nhớ bán dẫn chia hai loại: nhớ chi đọc ROM (Read Only Memory) nhớ truy xuất ngẫu nhiên RAM (Random Access Memory) IIIệl ẳl Phần tử nhớ, vi mạch nhớ, từ nhớ dung lượng nhớ a) Phần tử nhớ Phần tử nhớ thơng thường mạch điện ghi lại lưu giữ hai giá trị biến nhị phân, “ ” “ ”, tương ứng với khơng có điện ảp có điện áp, gọi bit Trên mạch điện (Hình III 1), dây Di khơng có điện áp (do cơng tắc mở), dây D có điện áp (vì cơng tắc đóng, hay thơng qua diode mắc theo chiều thuận), gần giá trị nguồn nuôi Vcc, tương ứng với bit Dl = “ ” bit D2 = “ ” 114 D, O+Vcc / ° ~ hì n d2 Di D, l +Vcc / ỉ • ( n °“ Phương pháp tạo phần tử nhớ Di = D2 = bẳng mạch điện đơn giản Hình III Mơ phần từ nhớ Mạch flip-flop RS (còn gọi triger RS) đồng mạch có khả lưu giữ giá trị “0” “ 1” lối Có thể dùng RS flipflop làm mạch lưu giữ tín hiệu vào R bàng cách chốt liệu lại đàu Q (hình II1.2a) Các hãng chế tạo thực mạch bàng công nghệ cao, nên kích thước vơ nhỏ, có hàng nhiều triệu phần tà nhớ diện tích lm m Các vi mạch nhớ thông thường chế tạo với độ dài từ nhớ số lượng từ nhớ cố định Sổ bit nhớ liên kết vị trí nhớ (có địa chỉ) chip nhớ gọi từ nhớ chip nhớ, thường chọn , 4, bit Để tạo từ nhớ nhớ, tức từ nhớ có độ dài (số bit từ) chuẩn (theo chuẩn IBM bits), số trường hợp định cần phải tiến hành ghép chip nhớ lại với Hình III.2 a , b c cho ta khái niệm khả tạo từ nhớ (byte) từ nhớ chip nhớ lbit, 2bits bits Trong trường hợp độ dài tò nhớ chip nhớ bits, việc liên kết không cần thiết 115 R Q CK Q Địa¿chL a — - - ư~~\ Đ ịa c h ^ RAM ROM , D£r liệu 3Dữ liệu ẽ WR- a) Õ Ẽ -« RD- cs- b) cs- ( ? ) BIT PER CHIP ir — ir V — ][ - — D Ũ D D D D D i Do V BYTE © BITS PER CHIP © ][ d7 D4 3: —V — BYTE BITS PER CHIP r D; d |d D D; Di Do y V c) BYTE Hình III a) Mạch Flip-flop RS phần tử nhớ giá trị nhị phân b) Chip nhớ RAM chip nhớ ROM c) Ghép chip nhớ có độ dài từ nhớ khác để tạo từ nhớ có độ dài bits I I I l ề2 Vài nét nhớ hệ Vi xử lý máy tính PC Do ưu điểm tuomg thích tuyệt đối kích thước, tiêu thụ lượng thấp mức logic, đặc biệt tốc độ truy nhập, nên nhớ bán dẫn sử dụng làm nhớ (Main Memory) hệ Vi 116 xử lý máy tính PC, nhiều ghép nối bo mạch chính, thiết kế vỉ nhỏ cắm vào khe cắm riêng bo mạch Nhờ tiến vượt bậc công nghệ vi mạch, đặc biệt công nghệ cao (High Technology), chip nhớ chế tạo ngày nhỏ có dung lượng tương đối lớn, tốc độ truy nhập cao giá thành thấp Hiện có chip nhớ có dung lượng hàng trăm triệu từ nhớ, cấu thành từ hàng chục tỷ transistor một cấu trúc cỡ lmm2 Bộ nhớ hệ Vi xử lý gồm hai loại chính: - Bộ nhớ ROM - nhớ đọc (Read Only Memory), thông thường chứa chương trình giám sát (monitoring) hoạt động chức hệ Vi xử lý: chương trình thiết lập hệ thống, chương trình vào/ra liệu, quản lý phân phát nhớ, quản lý thiết bị vào/ra V.V.Ệ Đối với máy tính PC, chương trình hệ thống vào/ra sở (BIOS Basic Input Output System) Đặc điểm nhớ bảo tồn liệu khơng có nguồn ni - Bộ nhớ RAM - nhớ ghi/đọc tuỳ tiện (Random Access Memory) Vì có khả ghi/đọc tuỳ theo người dùng, nên nhớ sử dụng để chứa liệu, chương trình ứng dụng thời người dùng v.v Trong máy tính PC, nhớ noi chương trình hệ điều hành nạp khởi động máy, hay nơi chứa chương trình ứng dụng lúc thực thi Bộ nhớ bị liệu bị nguồn nuôi Trong hệ Vi xừ lý đơn giản, hai nhớ thường thiết kế lắp ráp từ chip nhớ riêng biệt thành vi nhớ Địa 117 giải mã cho chip nhớ nhờ khối giải mã, thông thường vi mạch giải mã hay xây dựng từ mạch tổ hợp logic Các tín hiệu điều khiển việc ghi/đọc nhớ CPU cung cấp Mạch triger RS đồng mạch có khả lưu giữ giá trị “0” “ 1” lối Có thể dùng RS flip-flop làm mạch lưu giữ tín hiệu vào R cách chốt liệu lại đầu Q (hình III.2) Bộ nhớ xây dựng từ chip nhớ Các chip nhớ RAM (SRAM DRAM) thường có từ nhớ có độ dài bit, bits bits Từ chip nhớ loại xây dựng nhớ với ô nhớ chứa byte liệu (8 bits) * Xây dựng nhớ với chip SRAM Giả sử cần xây dựng nhớ kích thước 16Kbyte sờ chip SRAM loại 16K X lbit Băng nhớ SRAM 16Kbyte xây dựng sở SRAM loại 16K X lbit, để có nhớ có độ dài bản) Để làm điều này, người ta đặt 8 chip bits (từ nhớ chip SRAM loại 16K X lbit cho chip vị trí xác định đảm nhiệm lưu trữ bit liệu có trọng số tương ứne byte liệu Cấu trúc chip SRAM Các đường tín hiệu: A -A BUS địa - CS: Tín hiệu chọn chip Nếu cs = truy nhập chip - W/R: Tín hiệu điều khiển ghi/đọc w=0 điều khiển ghi DO - D7: Các đường dây truyền bit liệu từ DO đến D7 Chu kỳ ghi nhớ SRAM: 118 Hĩnh III Chip nhớ RAM 64K bit (64K X 1) BUS địa BUS liệu chiều Hình III Sơ đồ vi nhớ 16KB xây dựng từ chip 16Kxl 119 BUS địa chi Địa ố nhớ cs /■ ~x_ -W /R BUS liệu Dữ liệu cần ghi Hình III Biểu đồ thời gian ghi đọc nhớ Tổ chức nhớ với DRAM Cấu trúc chip DRAM: BUS địa A -A Hình III Cấu trúc bên chip DRAM DRAM dùng phương pháp dồn kênh để nạp (2 lần) địa hàng địa cột vào đệm địa Tín hiệu điều khiển: + RAS: RAS (Row Access Strobe) tích cực địa chi hàng nạp (chốt lại) 120 + CAS: CAS (Column Access Strobe) tích cực địa cột nạp (chốt lại) + WE: WE a “0” điều khiển ghi chip, WE s “ 1” điều khiển đọc chip Việc xây dựng nhớ từ chip DRAM thực gần tương tự với SRAM IIIẳ1.3 Phân loại chip nhớ ROM , RAM Các chip nhớ ROM (Read Only Memory) phân loại theo khả ghi đọc sau: • ROM, nhớ đọc, liệu chip nhớ loại ghi hãng sản xuất chip nhớ theo đơn đặt hàng nhà sản xuất thiết bị cần sử dụng • EPROM, chip nhớ ROM có khả xố nội dung ghi lại nội dung Nội dung xoá bàng tia cực tím nhờ thiết bị chun dùng • EEPROM, chip nhớ ROM có khả xố, ghi lại nhờ sử dụng xung điện Các chip nhớ RAM chủ yếu chia thành loại chủ yếu sau: • RAM tĩnh (SRAM), phần tử nhớ mạch flip-flop, q trình sử dụng khơng cần quan tâm đến việc liệu lưu giữ không bị nguồn ni • RAM động (DRAM), phần tử nhớ dùng cơng nghệ nạp điện tích lên tụ điện Trong q trình sử dụng cần thiết chế độ làm tươi 121 Dáy t£r Cáu chi Dáy bit Phán tCr nhö PROM (cáu chi lä hqrp kim Ni-Cr) Phán ti> nh& EPROM (cáu chi Transistor FAMOS) Hinh III 7a So äö cáu truc phán tú nhá co bán i +E f-xung.n.gp -n T Ter i y ^ w I w +E w w > > > í*| W, w2 Dáy bit T , : -P -^ B n ^B £ T \ > Dáy bit B i L|i * = ;* r\ A i J 'n HAi • Dáy dO ii$u * I A > D; Di *\ r»A ti ■n l i m a n Dáy d¡> liéu D D3 Phán tu- RAM dóng (Dynamic RAM) MOS Hinh III 7b Ser can tníc phdn tú nhá 122 w3 De III.2 Tổ chức bộ■ nhớ cho hệ■Vi xử lý * III.2.1ề Tổ chức nhớ vật lý Tổ chức nhớ cho hệ Vi xử lý (máy vi tính) phụ thuộc khơng vào hệ Vi xử lý cụ thể, mà phụ thuộc vào cách bố trí thuận lợi bên hệ thống Trước hết, làm quen với khái niệm chip nhớ từ nhớ để phân tích vấn đề tổ chức vật lý nhớ, sau mở rộng khái niệm tổ chức theo quan điểm người lập trình (tổ chức logic) Các chip nhớ sản xuất nhiều kích cỡ khác nhau, phụ thuộc vào công nghệ chế tạo Chip nhớ vi mạch cụ thể, bố trí chân hình III.8 Các chân chip nhớ thơng thường gồm lối vào BUS địa chỉ, lối liệu, chân điều khiển chọn chip, ghi/đọc chân nguồn AO + A Các chân địa chi D -í- D4 Các chân liệu cs Chận chọn chip WE Đ iều khiển G hi/Đ ọc V cc Chân n g u n nuôi +5V GND Chân nối đất A6 A5 A4 A3 AO A1 A2 CS GND Hình III Sơ đồ chân vi mạch nhớ RAM 1Kx4 Tuỳ theo chip, sổ lượng chân địa số lượng chân liệu khác nhau, phụ thuộc vào độ dài từ nhớ cùa chip dung lượng chip nhớ Độ dài từ nhớ chip nhớ lbit, bits bits, số chân địa chi từ trở lên tuỳ thuộc vào dung lượng chip nhớ Trong trường hợp độ dài từ nhớ chip 123 JNG Nhảy không lớn OR H oặc c c bit tư ơn g ứng củ a toán hạng JNGE Nhảy không lớn h oặc bẳng OUT Viết cổn g vào/ra JNL Nhảy không nhỏ POP Hồi phục nộng dung (các ghi, ) JNLE Nhảy không nhỏ h oặc POPF Hồi phục nội dung c c cờ JNO Nhảy không tràn PUSH Đ ẩy nội dung (thanh ghi, ) vào ngăn xếp JNP Nhảy khơng có c chẵrrlẻ PUSHF Đẩy nội dung c vào ngăn xếp JNS Nhảy khơng có c dấu RCL Quay nhớ trái qua JNZ Nhảy không RCR Quay nhớ phải qua cờ cờ JO Nhảy c ó c tràn REP Lặp lại JP Nhảy c ó c chẵn lẻ REPE Lặp lại bẳng JPE Nhảy chẵn REPNE Lặp lại không JPO Nhảy lẻ REPNZ Lặp lại không Lặp lại STC Đặt c nhớ REPZ có cờ lẻ RET Trờ STD Đặt c h n g ROL Q uay trái STI Đặt c ngắt ROR Quay phải ST O S Lưu trữ xâu SAHF Lưu trữ AH vào byte thấp củ a c STO SB Lưu trữ xâu (byte) SAL Dịch trái số học STO SW Lưu trữ xâu (từ) SAR Dịch phải s ố học SUB P hép trừ SBB Trừ có m ượn TEST Kiểm tra (nhân logic đích với gốc) 190 SC A S Quét xâu WAIT Đợi SC A SB Quét xâu (byte) XCHG Tráo đỗi SCANW Quét xâu (từ) XLAT Chuyển đổi bảng SHL Dịch trái XOR H oặc tuyệt đối tương ứng số SHR Dịch phải Các lệnh có 80286, 80386 80486 ARPL Chỉnh trường RPL chọn LSL Nạp độ dài đoạn nhớ BOUND Kiểm tra trường LTR Nạp ghi nhiệm vụ CLTS Xoá c chuyển nhiệm vụ OUTS Xuất xâu vào/ra ENTER Tạo khối c c thông số đẻ vào CTC POPA Phục hồi tất cá c ghi đa INS Nhập xâu vào/ra PUSHA Đ ầy vào ngăn xếp cá c ghi đa LAR Nạp quyền thâm nhập SGDT Lưu trữ ghi bảng mơ tả tồn cụ c LEAVE RA khỏi CTC (chư ơn g trình con) SIDT Lưu trữ ghi bảng mô tẻ ngắt LGDT Nạp ghi bảng mơ tả tồn cục SLDT Lưu trữ ghi bảng mô tả cục LIDT Nạp ghi bảng mô tả ngắt SM SW Lưu trữ từ trạng thái máy LLDT Nạp ghi bảng mô tả cụ c STR Lưu trữ nhiệm vụ LMSW Nạp từ trạng thái m áy VERR Kiểm tra chọn đoạn để đọc VERW Kiểm tra chọn đoạn để viết biên từ cổng cổng ghi 191 Các lệnh có 80386 80486 BSF Q uét bít phía trước SETL Đ ặt byte nhị BSR Q t bít phía sau SETLE Đặt byte h oặc nhỏ BT Kiểm tra bit SETNA Đ ặt byte không BTC Kiểm tra đảo bit SETNAE Đ ặt byte không h o ặ c BTR Kiểm tra xố bít SETNB Đặt byte khơng BTS Kiểm tra đặt bít SETNBE Đ ặt byte không h o ặ c CDQ Biến đổi từ kép thành từ kép bốn SETNC Đ ặt byte không nhớ CM PSD S o sánh xâu (từ kép) SETNE Đặt byte không CWDE Biến đổi từ thành từ kép EAX SETNG Đ ặt byte không lớn JECXZ Nhảy ECX SETNGE Đ ặt byte không lớn h oặc LFS Nạp trỏ dùng FS SETNL Đặt byte không nhỏ LGS Nạp trỏ dùng GS SETNLE Đặt byte không nhỏ h o ặ c LSS Nạp trỏ dùng SETNO Đặt byte không tràn ss LODSD Nạp xâu (từ kép) SETNP Đặt byte khơng c ó chẵn lẻ MOVSD Chuyển xâu (từ kép) SET N S Đặt byte không dấu MOVSX Chuyển eXtend với Sigh- SETNZ Đặt byte không MOVZX Chuyển eXtend với Zero- SETO Đặt byte tràn 192 SC A SD Q uét xâu (từ kép) SETP Đặt byte chẵn lẻ SETA Đặt byte SETPE Đặt byte chẵn lẻ chẵn SETAE Đặt byte SETPO Đặt byte chẵn lè SETB Đặt byte SETS Đặt ijyte có dấu SETBE Đặt byte h oặc SETZ Đặt byte SETC Đặt byte có c nhớ SHLD Dịch trái(từ kép) SETE Đ ặt byte SHRD Dịch phải (từ kép) SETG Đ ặt byte lớn STO SD Lưu trữ xâu (từ kép) SETGE Đ ặt byte lớn h oặc ‘ Vơ hiệu hố TLB (cho ch ế độ trang) C ác lệnh chỉcó 80486 nếu có có BSWAP Hốn chuyển byte INVLPG CMPXCHG S o sán h tráo đổi WBINVD Ghi trở lại nhớ vào nhớ ngầm INVD Vơ hiệu hố nhớ ngầm XADD Hốn cộng chuyển 193 PHỤ LỤC B Bảng luỹ thừa 2" 194 " n " 1 2 16 0 32 0 64 0 128 0 256 0 512 0 5 1,024 10 0 0 6 ,0 11 0 0 8 ,0 12 0 0 4 ,1 13 0 0 2 16,384 14 0 0 5 ,7 15 0 0 7 ,5 16 0 0 5 8 131,072 17 0 0 0 9 ,1 4 18 0 0 0 4,288 19 0 0 0 9 ,0 ,5 20 0 0 0 ,0 ,1 21 0 0 0 ,1 ,3 22 0 0 0 ,3 8 ,6 23 0 0 0 1 9 ,7 7 ,2 24 0 0 0 0 3 ,5 ,4 25 0 0 0 0 67,108,864 26 0.000000014901 134,217,728 27 0.000000007451 268,435,456 28 0.000000003725 536,870,912 29 0.000000001863 1,073,741,824 30 0.000000000931 2,147,483,648 31 0.000000000466 4,294,967,296 32 0.000000000233 Từ 2' IA r r r •> giá trị làm trịn lây 10 sô sau dâu phây 195 PHỤ LỤC c Bảng mã ASCII ROW Dec Bin Hex 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 10 1010 A 11 1011 B 12 1100 c 13 1101 D 14 1110 E 15 1111 F 196 Dec Bin Hex 1 1 1 1 1 1 1 ! 1 1 1 1 ¡ 1 1 1 1 1 1 1 000 16 001 10 32 010 20 48 oil 30 64 100 40 80 101 50 96 112 110 111 60 70 NUL DLE SP @ p * p SOH XON 1 A Q a q STX DC2 II B R b r ETX XOFF # c s c s EOT DC4 $ D T d t ENQ NAK o o E u e u ACK SYN & F V f V BEL ETB G w g w X h X BS CAN ( H HT EM ) I Y i y LF SUB * : J z j z VT ESC + f K [ k { FF FS f < L \ CR GS - = M ] SO RS ■ > N /V SI US / 1 m } n ~ o DEL PHỤ LỤC D Các nhóm lệnh jtC8051 l ẳ Tạo vòng lặp lệnh nhảy a Tạo vịng lặp Q trình lặp lại chuỗi lệnh với số lần định gọi vòng lặp Vòng lặp 8051 thực lệnh “DJNZ ghi, nhãn“ Để tổ chức vòng lặp lồng cần sừ dụng ghi để lưu số đếm b Lệnh nhảy Lệnh nhảy có điều kiện L ệnh Ý N ghĩa JZ Nhảy A=0 JNZ Nhảy A khác DJNZ Giảm nhảy A khác CJNE A.byte Nhảy A khác byte CJNE re,#data Nhảy byte khác data JC Nhảy CY=1 JNC Nhảy CY=0 JB Nhảy bit=1 JNB Nhảy bit=0 JBC Nhảy bit=1 xố Lệnh nhảy khơng điều kiện: Lệnh nhảy dài: Là lệnh byte Byte đầu mã lệnh, byte lại địa 16 bit đích Địa đích byte cho phép lệnh nhảy đến vị trí nhớ khơng gian nhớ 0000 đến FFFF Lệnh nhảy ngắn: 197 Lệnh nhảy ngắn lệnh byte Byte mã lệnh, byte thứ địa tương đối địa đích Địa chi đích tương đối có nghĩa so với giá trị đếm chương trình Lệnh gọi Call Lệnh call dùng để gọi chương trình Lệnh gọi dài Lcall (longcall) Đây lệnh byte Byte đầu mã lệnh, byte lại địa chương trình đích Sau thực xong chương trình con, để 8051 biết chỗ quay trở địa lệnh đứng sau lệnh gọi Lcall tự động cất vào ngăn xếp Lệnh gọi tuyệt đối Acall Lệnh Acall lệnh byte, địa đích chương trình phải nằm khoảng Kbyte địa có 11 bit byte dùng để xác định địa Thực tế, số biến thể 8051 có Kbyte ROM chip Trong trường hợp đó, sừ dụng lệnh Acall tiết kiệm số byte nhớ không gian ROM chương trình so với lệnh Lcall Nhóm lệnh 8051 Tập lệnh 8051 chia thành nhóm: - Số học - Luận lý - Chuyển liệu - Chuyển điều khiển - Rẽ nhánh Các chi tiết thiết lập lệnh: 198 Rn Thanh ghi RO đến R7 bank ghi chọn Data bits địa vùng liệu bên Nó có thẻ vùng RAM liệu (0-127) h oặc c c ghi ch ứ c đặc biệt @Ri bits vùng RAM liệu (0-125) đ ợ c đánh giá địa gián tiếp qua ghi RO h oặc R1 #data Hằng #data 16 Hằng 16 bits ch ứ a câu lệnh Addr16 16 bits địa đích đ ợ c dùng lệnh LCALL LJMP Addrl 11 bits địa đích đ ợ c dùng lệnh LCALL AJMP Rel Byte offset bits có dấu đ ợ c dùng lệnh SJMP lệnh nhảy có điều kiện Bít Bit đ ợ c định địa trực tiếp RAM liệu nội c c ghi ch ứ c đ ặc biệt bits ch ứ c câu lệnh a Nhóm lệnh xử lý sổ học ADD A,Rn (1 byte chu kỳ máy): cộn g nội dung ghi Rn vào ghi A ADD A,data (21): Cộng trực tiếp byte vào ghi A ADD A,@ Ri (11): Cộng gián tiếp nội dung RAM ch ứ a địa đ ợ c khai báo Ri vào ghi A ADD A ,#data (21): Cộng liệu tứ c thời vào A ADD A,Rn (11): Cộng ghi c nhớ vào A ADD A,data (21): Cộng trực tiếp byte liệu c nhớ vào A AD DC A,@ Ri (11): Cộng gián tiếp nội dung RAM c nhớ vào À ADDC A,#data (21): Cộng d ữ liệu tứ c thời c nhớ vào A S U B B A R n (11): Trừ nội dung ghi A ch o nội dung ghi Rn c nhớ SU B B A,data (21): Trừ trực tiếp A ch o s ố c nhớ SU B B A,@ Ri (11): Trừ gián tiếp A ch o s ố c nhớ S U B B A ,#data (21): Trừ nội dung A ch o s ố tứ c thời c nhớ INC A (11): Tăng nội dung ghi A lên 199 INC Rn (11): Tăng nội dung ghi Rn lên INC data (21): Tăng liệu trực tiếp lên INC @Ri (11): Tăng gián tiếp nội dung vùng RAM lên DEC A (11): Giảm nội dung ghi A xuống DEC Rn (11): Giảm nội dung ghi Rn xuống DEC data (21): Giảm liệu trực tiếp xuống DEC @Ri (11): Giảm gián tiếp nội dung vùng RAM xuống INC DPTR (12): Tăng nội dung trỏ liệu lên MUL AB (14): Nhân nội dung ghi A với nội dung ghi B DIV AB (14): Chia nội dung ghi A ch o nội dung ghi B DAA (11): Hiệu chỉnh thập phân ghi A b Nhóm lệnh luận lý ANL A,Rn (11): AND nội dung ghi A với nội dung ghi Rn ANL A.data (21): AND nội dung ghi A với liệu trực tiếp ANL A,@Ri (11): AND nội dung ghi A với liệu gián tiếp RAM ANL A,#data (21): AND nội dung ghi với liệu tứ c thời ANL data.A (21): AND liệu trực tiếp với A ANL data,#data (32): AND liệu trực tiếp với A d ữ liệu tứ c thời ANL c.b it (22): AND c nhớ với bit trực tiếp ANL c,/b it (22): AND c nhớ với bù bit trực tiếp ORLA.Rn (11): OR ghi A với ghi Rn ORL A.data (21): OR ghi A với liệu trực tiếp ORL A,@Ri (11): OR ghi A với liệu gián tiếp ORL A,#data (21): OR ghi A với liệu tứ c thời ORL data.A (21): OR d ữ liệu trực tiếp với ghi A ORL data,#data (31):OR liệu trực tiếp với liệu tứ c thời 200 ORL c.b it (22): OR c nhớ với bit trực tiếp ORL 0,/bit (22): OR c nhớ với bù củ a bít trực tiếp XRLA.Rn (11): XOR ghi A với ghi Rn XRL A.data (21): XOR ghi A với liệu trực tiếp XRL A,@Ri (11): XOR ghi A với liệu gián tiếp XRL A,#data (21): XOR ghi A với liệu tứ c thời XRL data.A (21): XOR liệu trực tiếp với ghi A XRL data,#data (31): XOR liệu trực tiếp với liệu tức thời SETBC (11): Đặt c nhớ SETB bit (21): Đặt bit trực tiếp CLR A (11): Xóa ghi A C LRC (11): Xóa c nhớ CPL A (11): Bù nội dung ghi A C PL C (11): Bù c nhớ CPL bit (21): Bù bit trực tiếp RL A (11): Quay trái nội dung ghi A RLC A (11): Quay trái nội dung ghi A qua c nhớ RRA (11): Quay phải nội dung ghi A RRC A (11): Quay phải nội dung ghi A qua c nhớ SW AP (11): Quay trái nội dung ghi A nibble ( / byte) c Nhóm lệnh chuyển liệu MOV A,Rn (11):Chuyẻn nội dung ghi Rn vào ghi A MOV A,data (21): Chuyển d ữ liệu trực tiếp vào ghi A MOV A,@ Ri (11): Chuyển d ữ liệu gián tiếp vào ghi A MOV A ,#data (21): Chuyển d ữ liệu tứ c thời vào ghi A MOV Rn.data (22): C huyển d ữ liệu trực tiếp vào ghi Rn MOV R n,#data (21): C huyển d ữ liệu tứ c thời vào ghi Rn 201 MOV data.A (21): Chuyển nội dung ghi A vào liệu trực tiếp MOV data.Rn (22): Chuyển nội dung ghi Rn v o liệu trực tiếp MOV data.data (32): Chuyẻn liệu trực tiếp v o liệu trực tiếp MOV data,@ Ri (22): Chuyển liệu gián tiếp v o liệu gián tiếp MOV data,#data (32): Chuyển liệu tức thời vào liệu trực tiếp MOV @Ri,A (11): Chuyển nội dung ghi A vào liệu gián tiếp MOV @ Ri,data (22): Chuyền liệu trực tiếp vào m ột liệu gián tiếp MOV @ Ri,#data (21): Chuyền liệu tứ c thời vào d ữ liệu gián tiếp MOV DPTR,#data (32): Chuyền 16 bit vào ghi trỏ liệu MOV c,bit (21): Chuyẻn bittrực tiếp vào c nhớ MOV bit.c (22): Chuyển c nhớ vào bit trực tiếp MOV A,@A+DPTR (12): Chuyển byte nhớ ch n g trình c ỏ địa là@ A+DPRTvào ghi A MOVC A,@ A+PC (12): Chuyển byte nhớ ch n g ;ếinh c ó địa chì @ A+PC vào ghi A MOVX A,@Ri (12): Chuyển liệu ìyoài (8 bit địa chỉ) vào ghi A MOVX A,@ DPTR (12): Chuyền liệu (16 bit địa chỉ) vào ghi A MOVX @Ri,A (12): Chuyển nội dung A liệu (8 bit địa chỉ) MOVX @ DPTR,A (12): Chuyển tiội dung A liệu bên (16 bit địa chỉ) PUSH data (22): Chuyền liệu trực tiếp vào ngăn xếp tăng SP 202 MOV data.A (21): Chuyển nội dung ghi A vào liệu trực tiếp MOV data.Rn (22): Chuyển nội dung ghi Rn vào liệu trực tiếp MOV data.data (32): Chuyển liệu trực tiếp vào liệu trực tiếp MOV data,@Ri (22): Chuyển liệu giản tiếp vào liệu gián tiếp MOV data,#data (32): Chuyển liệu tức thời vào liệu trực tiếp MOV @Ri,A (11): Chuyển nội dung ghi A vào liệu gián tiếp MOV @Ri,data (22): Chuyển liệu trực tiếp vào liệu gián tiếp MOV @Ri,#data (21): Chuyển liệu tức thời vào liệu gián tiếp MOV DPTR,#data (32): Chuyển 16 bit vào ghi trỏ liệu MOV c.b it (21): Chuyển bit trực tiếp vào cờ nhớ MOV b it.c (22): Chuyển cờ nhớ vào bit trực tiếp MOV A,@ A+DPTR (12): Chuyển byte nhớ chương trình có địa là@ A+DPRTvào ghi A MOVC A,@A+PC (12): Chuyển byte nhớ chương trinh có địa @A+PC vào ghi A MOVX A,@R| (12): Chuyển liệu (8 bit địa chỉ) vào ghi A MOVX A,@ DPTR (12): Chuyển liệu (16 bit địa chỉ) vào ghi A MOVX @ Ri,A (12): Chuyển nội dung A liệu (8 bit địa chỉ) MOVX @ DPTR,A (12): Chuyển nội dung A liệu (16 bit địa chỉ) PUSH data (22): Chuyển liệu trực tiếp vào ngăn xếp tăng SP 203 TÀI LIỆU THAM KHẢO [ 1] Nguyễn Tăng Cường, Phan Quốc Khánh: cấu trúc lập trình họ Vi điều khiển 8051 NXB KH&KT, Hà Nội, 2004 [2 ] Vũ Chấn Hưng: Giáo trình Kiến trúc máy tính NXB Giao thơng vận tải, Hà Nội, 2002 [3] Văn Thế Minh: Kỹ thuật Vi xử lý - NXB Thống kê, Hà Nội, 1983 [4] Phòng Kỹ thuật số - Viện Khoa học Tính tốn Điều khiển: Kỹ thuật Vi xử lý - Nhà Xuất Thống kê, Hà Nội, 1983 [5] Alan Clements: Principles o f Computer Hardware - PWSKENT Publishing Company, Boston, 1992 [6] Intel® Corporation: Component Data Catalog, 1982 [7] David Hergert, Nancy Thibeault: PC Architecture from Assembly Language To c Prentice-Hall Inc 1997 [8] Christopher L Morgan and Mitchell Waite: 8086/8088 16-bit Micrro-Processor Primer - McGraw-Hill, Inc 1982 [9] V.M Rooney: Microprocessors and Microcomputers McMilan Publishing Company, New York, 1983 [ 10 ] James L., Turley: Advanced 80386 programming techniques Osborne Me Graw, Hill, 1988 204

Ngày đăng: 23/06/2023, 09:18

Tài liệu cùng người dùng

Tài liệu liên quan