Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
808,73 KB
Nội dung
TRƯỜNG CAO ĐẲNG VIỄN ĐƠNG KIẾN TRÚC MÁY TÍNH LỆNH VÀ CHẾ ĐỘ ĐỊA CHỈ GV: Th.S Nguyễn Đặng Thế Vinh Email: vinhnguyen@vido.edu.vn Tp.HCM, tháng 09 năm 2018 Cấu trúc mã lệnh Cấu trúc mã lệnh ▪ Quy trình thực lệnh VXL: Lấy lệnh (feeching), giải mã lệnh (decording) xử lý lệnh (excution) ▪ LT hợp ngữ (assembly language) mô tả lệnh máy tổ hợp ký tự gợi nhớ (mnemonic) Cấu trúc mã lệnh ▪ Cấu trúc chung mã lệnh: o Prefix trước mã lệnh o Mã tốn (operation code) phân biệt lệnh gì, ví dụ với lệnh dịch chuyển MOV có mã tốn 100010 o Tốn hạng (operand) cho biết xử lý (nội dung ghi hay nhớ) o Địa trực tiếp (2 byte) Cấu trúc mã lệnh 0 Mã lệnh Địa Địa chỉ phần D W MOD REG R/M phần cao thấp Byte Byte Byte Byte Bit D (Direction) hướng ghi REG, Bit W (Word) xem ghi dùng bit hay 16 bit (1 word), MOD R/M (register/memory) chế độ địa lệnh Cấu trúc mã lệnh 0 Operation Code Mã lệnh 0 0 1 1 (*) (**) (***) (****) (*****) D MOD REG R/M CL [BX] W MOV (*), (***): chuyển tới ghi (**): chuyển bit (****): bit mã hóa CL (*****): nhớ có địa DS:BX Tập lệnh vi xử lý Tập lệnh vi xử lý ▪ Tập lệnh 8086/8088 gồm 100 ký hiệu gợi nhớ (mnemonic) lệnh ngôn ngữ assembler sở, để quy định cho vi xử lý phải làm ▪ Gồm nhóm lệnh Nhóm lệnh Truyền liệu (TDL) Nhóm lệnh truyền liệu 3.1 Lệnh di chuyển liệu ▪ Ý nghĩa: Dùng để di chuyển byte (8 bit) (16 bit) ▪ Cú pháp: MOV đích, nguồn TDL - Lệnh di chuyển liệu Đích Nguồn Ví dụ Ý nghĩa Bộ nhớ Thanh ghi MOV 100H, AX Chuyển nội dung AX vào vị trí nhớ 100H Thanh ghi Bộ nhớ MOV AX, MEM1 Chuyển nội dung vị trí nhớ nhãn MEM1 vào ghi AX Thanh ghi Thanh ghi MOV AX, BX Chuyển nội dung BX vào ghi AX Thanh ghi Tức thời MOV AX, 0FFFFH Chuyển giá trị số FFFFH vào ghi AX; số đầu dùng để phân biệt rõ FFFFH giá trị nhãn TDL - Lệnh XCHG 3.2 Lệnh XCHG - Exchange two operands ▪ Ý nghĩa: Hoán đổi nội dung tốn hạng ▪ Cú pháp: XCHG đích, nguồn Ví dụ Ý nghĩa XCHG AH, AL Tráo nội dung AH AL XCHG AL, [BX] Tráo nội dung AL với ô nhớ có địa DS:BX TDL - Lệnh IN 10 3.3 Lệnh IN- Input data from a port ▪ Ý nghĩa: Đọc liệu từ cổng vào Acc ▪ Cú pháp: IN Acc, Port ▪ Trong đó: Port địa bit cổng, có giá trị khoảng 00H…FFH Lệnh ĐKCT - Lặp 39 7.3 Lệnh lặp ▪ Ý nghĩa: Lặp lại đoạn chương trình (bao gồm lệnh nằm khoảng từ nhãn đến hết lệnh LOOP Nhãn số lần lặp CX=0 ▪ Cú pháp: LOOP Nhãn Lệnh ĐKCT - Lặp 40 Ví dụ Ý nghĩa XOR AL, Al Xoá AL MOV CX, 16 Số lần lặp đưa vào CX Lap: INC AL Tăng AL lên LOOP Lap Lặp lại 16 lần, AL =16 Lệnh ĐKCT - Lệnh JCXZ 41 7.4 Lệnh JCXZ- Jump if CX is Zero ▪ Ý nghĩa: Lệnh nhảy có điều kiện tới nhãn nội dung đếm khơng có liên hệ với cờ ZF ▪ Cú pháp: JCXZ Nhãn Thanh ghi CPU 8086 42 Gồm 14 ghi, ghi 16 bit, chia làm nhóm ▪ Nhóm ghi đoạn ▪ Nhóm ghi đa dụng ▪ Nhóm ghi trỏ mục ▪ Thanh ghi trỏ lệnh ▪ Thanh ghi cờ hiệu Thanh ghi đoạn (Segment regiters) 43 Chứa địa đoạn, gồm ghi ▪ CS (Code segment regiter) ▪ DS (Data segment regiter) ▪ ES (Extra segment regiter) ▪ SS (Stack segment regiter) Nhóm Thanh ghi đa dụng (General purpose regiters) 44 Chứa toán hạng, gồm ghi ▪ AX (Accumulator Register) ▪ BX (Base Regiter) ▪ CX (Count Regiter) ▪ DX (Data Regiter) Nhóm Thanh ghi đa dụng (General purpose regiters) 45 Mỗi ghi đa dụng 16 bit sử dụng cặp ghi bit Nhóm Thanh ghi trỏ mục 46 ▪ SI (Source Indexed Register) ▪ DI (Destination Indexed Register) ▪ SP (Stack Pointer Register) ▪ BP (Base Pointer Register) Nhóm Thanh ghi trỏ chương trình 47 ▪ IP (Instruction Pointer Register) ▪ Lệnh thực địa chỉ: CS:IP Nhóm Thanh ghi cờ hiệu (Flag register) 48 ▪ CF: Carry Flag DF: Direction Flag ▪ AF: Auxiliary Flag TF: Trap Flag ▪ ZF: Zero Flag ▪ OF: Overflow Flag ▪ SF: Signed Flag ▪ PF: Parity Flag ▪ IF: Interupt Enable Flag Các dạng lập trình hợp ngữ 49 ▪ Nhị phân: gồm dãy chữ số 0, kết thúc B b ▪ Ví dụ: 10001110B, 10001110b Các dạng lập trình hợp ngữ 50 ▪ Thập phân: gồm dãy chữ số từ đến 9, thêm ký tự +, - để biểu thị dấu kết thúc D, d khơng có ký hiệu ▪ Ví dụ: 98919D, 5678d, 9809 Các dạng lập trình hợp ngữ 51 ▪ Thập lục phân: gồm dãy chữ số từ đến ký tự từ A-F (a-f), kết thúc H, h ▪ Nếu ký tự bắt đầu khơng phải số phải thêm vào đầu ▪ Ví dụ: 45h (8 bit), 5AF7H (16 bit), 0A26FH (bắt đầu A nên thêm 0) Các chế độ địa 52 Các chế độ địa (addressing mod) ▪ Dùng để vi xử lý tìm tốn hạng cần thiết cho lệnh ▪ Có chế độ địa chỉ: Thanh ghi, tức thì, trực tiếp, gián tiếp ghi, tương đối sở, tương đối số, tương đối số sở Thank you! ... assembly viết đoạn chương trình thực cộng 5H với 3H, dùng ghi AL, BL Thực Ý nghĩa MOV AL, 05H AL 05H MOV BL, 03H BL 03H ADD AL, BL AL 05H+03H =08H MOV 100H, AL Di chuyển kết từ AL vào vị... - Lệnh IN 10 3. 3 Lệnh IN- Input data from a port ▪ Ý nghĩa: Đọc liệu từ cổng vào Acc ▪ Cú pháp: IN Acc, Port ▪ Trong đó: Port địa bit cổng, có giá trị khoảng 00H…FFH TDL - OUT 11 3. 4 Lệnh OUT-... ngơn ngữ assembly viết đoạn chương trình thực nhân 5H với 3H, dùng ghi CL Thực Ý nghĩa MOV AL, 05H AL 05H (số nhân) MOV CL, 03H CL 03H (số nhân) MUL CL AL 0FH (kết quả) MOV MEM1, AL Chuyển