Tài liệu Hợp ngữ doc

45 201 0
Tài liệu Hợp ngữ doc

Đ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

Hợp ngữ 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:alchứ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

Ngày đăng: 23/12/2013, 03:15

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

Tài liệu liên quan