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
185 KB
Nội dung
Hợp ngữ Khoa Điện tử - Viễn thông Trương Văn Thắng 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 bn-1+d n-2 bn-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 bn-1+d n-2 bn-2+…+d 1 b1+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 [...]... offset là 13h Địa vật lý là 40h*16+13h=0413h Địa chỉ tương đối: - segment là 0 - offset là 413h -segment là 41h - offset là 3h Dạng chương trình tổng quát • • Có 2 dang chương trình: COM và EXE Dạng COM - Tất cả các thanh ghi segment trỏ cùng một chỗ: CS, DS, ES, SS -Chương trình bắt đầu: 100h( ORG 100H) - Tất cả lệnh nhảy là nhảy gần(NEAR) -Kích thước chương trình sử dụng là FFFFH – 100H Chương trình... Độ phân giải(vi dụ:800x600) * một pixell= bao nhiêu bit(ví dụ: 8bits biểu diễn 1 pixel) - B000h:0 buffers video của chế độ text(mono) toa độ trên màn 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 card CGA -BC00h:0F400h:FFFFh: Dùng cho ROM mở rộng - FE00h:0: Dùng cho ROM BIOS F000h:FA6Eh: bảng ma trận ký tự, Một ký tự là ma trận 8x8... COMMAND1 và COMMAND2 -COMMAND1 chứa các thành phần: thành phần kiểm tra command2 còn hay mất, các ngắt: INT 24H hiện 3 cái lỗi Abort, Retry, Ignore; INT 23H là CTRL_C; INT 22H là kết thúc bình thường - COMMAND2 chức tất cả lệnh nội trú • Nằm ở giữa là tập tin if có là AUTOEXEC.BAT Vùng nhớ mở rộng • • • Vùng này có địa chỉ từ A0000hđến FFFFFh Có kích thước là 384KB Có các vùng như sau: - A000h:0 buffers... 40h:08h 40h:0eh : địa chỉ của ngõ Printer(LPT) 40h:1Ah : con trỏ đầu của bàn phím(keyboard)(int 16h) 40h:1Ch :con trỏ cuối của bàn phím(keyboard)(int 9) 40h:1Eh 40h:3Dh : Buffer bàn phím(16 words- 16 ký t - ịa chỉ thấp chứa mã ASCII và địa chỉ cao mã SCAN CODE) 40h:63h : Địa chỉ xác định loại card màn hình (Mono là 3B4h, Màn hình Màu là 3D4h) Vùng tham số của DOS • • Bắt đầu từ địa chỉ 50h:0xxxx:xxxx... -BC00h:0F400h:FFFFh: Dùng cho ROM mở rộng - FE00h:0: Dùng cho ROM BIOS F000h:FA6Eh: bảng ma trận ký tự, Một ký tự là ma trận 8x8 Thủ tục(Procedure) • Cấu trúc của một Procedure Ten_procedure Proc near(far) … … ret ten_procedure • Ví dụ: endp in_chuoi proc near mov ah,09 int 21h ret in_chuoi endp Chương trình chính model small code org 100h start: jmp main st1 db ‘xin chao $’ in_chuoi proc near mov... 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 để chỉ trong lòng stack d/Nhóm thanh ghi khác • Có 2 thanh ghi 16 bits I P ( Intruction Pointer ) : Con trỏ lệnh ,dùng để chứa offser của lệnh . Hợp ngữ Khoa Điện tử - Viễn thông Trương Văn Thắng 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. =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 bn-1+d n-2 bn-2+…+d 1 b+d 0 +d -1 b-1+…+d -m b-m (**) 2/Chuyển đổi cơ số *. cơ số b d n-1 bn-1+d n-2 bn-2+…+d 1 b1+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ư