Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
173 KB
Nội dung
Hợpngữ Khoa Điện tử - Viễn thông Trương Văn Thắng Giới thiệu Các khái niệm hệ thống số Chuyển đổi cơ số Các thanh ghi của intel 8088, 8086 1/CÁC HỆ THÔNG SỐ • HỆ 10 HỆ 16 HỆ 2 0 0 0 1 1 1 2 2 10 3 3 11 4 4 100 5 5 101 6 6 110 7 7 111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 • a/Chuyển từ cơ số b sang cơ số thập phân(10) Ví dụ: chuyển từ cơ số 10 sang số 10 123 10 =100+20+3=1X10 2 +2X10+3X10 0 d n-1 d n-2 ….d 1 d 0 .d -1 ….d -m (*) b là cơ số d i là chỉ số 0<=d i < b d n-1 b n-1 +d n-2 b n-2 +…+d 1 b+d 0 +d -1 b -1 +…+d -m b -m (**) 2/Chuyển đổi cơ số * Đổi từ nhị phân sang thập phân 1011.01 2 --> 1X2 3 +1X2 1 +1X2 0 +1X2 -2 * Đổi từ thập lục phân sang thập phân A4B5 16 10X16 3 +4X16 2 +11X16 1 +5X16 0 =40960 + 1024 +176 + 5 =42165 b/ Chuyển từ thập phân sang cơ số b ví dụ: chuyển từ thập phân sang thập phân 123.5 (10) 123:10=12 dư 3; 12:10=1 dư 2; 1:10=0 dư 1; 0.5x10=1 và lẻ 0 Các ví dụ: Chuyển từ thập phân sang cơ số b d n-1 b n-1 +d n-2 b n-2 +…+d 1 b 1 +d 0 (***) d -1 b -1 +d -2 b -2 +….+ d -m b -m (****) Đổi phần nguyên : chia cho cơ số kết quả :thương số và dư số. If thương số bằng 0 thì tổ hợp các dư số chính là số cần tìm ngược lại thì tiếp tục chia nũa Đổi phần lẻ: khi nhân 2 số thì được 1 tích 2 phần: phần nguyên và phần lẻ. If phần lẻ bằng 0 kết quả:tổ hợp các phần nguyên ngược lại tiếp tục nhân nữa CÁC VÍ DỤ Đổi số 26 sang số nhị phân 26/2 =13 dư 0 13/2 =6 dư 1 6 /2 =3 dư 0 3 /2 =1 dư 1 1 /2 = 0 dư 1 26 10 11010 2 Đổi số 0.25 10sang nhị phân 0.25 x 2 =0.5 lẻ 0.5 nguyên 0 0.5 x 2 = 1.0 lẻ 0 nguyên 1 0.25 10 0.01 2 Đổi 27110 sang số thập lục phân 271 / 16 =16 dư 15 16 / 16 = 1 dư 0 1 /16 = 0 dư 1 271 10 10F 16 Đổi nhị nhân sang thập lục phân và ngược lại • Nhị phân thành thập lục phân 11001110.110 2 CD.C • Thập lục phân sang nhị phân 1AF.8 16 000110101111.1000 2 3/Các thanh ghi của CPU 8088(8086) • Trong CPU intel có 14 thanh ghi, chia thành 4 nhóm a/ Nhóm thanh ghi đa năng: 4 thanh ghi, 16bits AX( AH và AL) (Accumulato ) BX(BH và BL) (Base ) CX(CH và CL) (Count ) DX(DH và DL) (Data) Chức năng: tính toán và chuyển số liệu [...]... Chương trình Dạng tổng quát model small code org 100h start: jmp main …………… …… main proc near ………… int 20h; Kết thúc chương trình (mov ax,4c00h int 21h Khai báo dữ liệu • Tên_biến kích_thước_dữ _liệu dữ liệu • kích_thước_dữ _liệu: db là một phần tử 1 byte dw là một phần tử 2 byets(1 word) dd là một phần tử 4bytes... con trỏ để tro trong lòng dữ liệu CX:Chứa số lần lập lai DX: Chứa địa chỉ của một cổng nào đó b/ Nhóm thanh ghi segment(đoan) • Có 4 thanh ghi 16 bits Dùng để quản lý một vùng nhớ có kích thước 64 k bytes Thanh ghi CS (code segment): quản lý một đoạn code của chương trình Thanh ghi DS (date segment ):quản lý dữ liệu chương trình Thanh ghi ES(Extra data segment): quản lý dữ liệu chương trình Thanh ghi... hình Ký tự= (hàng* 80+ cột) *2 Thuộc tính= (hàng* 80+ cột) *2+1 -B800h:0 buffers video chế độ đồ họa(graphics) cho Thủ tục(Procedure) • Cấu trúc của một Procedure Ten_procedure Proc near(far) … … ret ten_procedure endp • Ví dụ: in_chuoi proc near mov ah,09 int 21h Chương trình chính model small code org 100h start: jmp main st1 db ‘xin chao $’ in_chuoi proc near mov in_chuoi endp main... ah,01(08) int 21h output:alchứa ký tự nhận vào • Nhận một chuỗi ký tự input: mov ah,0ah lea dx, chiều của buffer int 21h output: DS:DX=chiều dài của chuỗi Chương trình dạng EXE Model small data < khai báo dữ liệu> stack dw n (h) code start: jmp main < khai báo chương trình con> main proc near(far) mov ax,@data mov ds,ax … mov ax,4c00h int 21h main endp end start Ví dụ: Viết chương trình... quản lý dữ liệu chương trình Thanh ghi SS (stack segment): đoạn ngăn xếp c/Nhóm thanh ghi con trỏ • Gồm có 4 thanh ghi 16 bits * SI (Source index ) ,DI (destination index ): sử dụng làm con trỏ để trỏ dữ liệu trong chương trình (địa chỉ ) * SP (Stack pointer ):Dùng để chứa địa chỉ offset của đỉnh ngăn xếp( SS:SP ) Nếu cấp vào stack thì SP=SP-2 còn lấy ra khỏi stack SP=SP+2 * BP ( Base pointer ) : Dùng . ax,4c00h int 21h main endp end start Khai báo dữ liệu • Tên_biến kích_thước_dữ _liệu dữ liệu • kích_thước_dữ _liệu: db là một phần tử 1 byte dw là một phần. tính toán và chuyển số liệu • Chức năng riêng: AX(AH&AL): Có ý nghĩa phép nhân và chia BX: Dùng làm con trỏ để tro trong lòng dữ liệu CX:Chứa số lần