Đào Hải Nam

Luôn hạnh phúc vì vẫn còn nhiều ước mơ chưa đạt được

Posts Tagged ‘Assembly Language

PC Assembly Tutorial – Lời nói đầu

with 2 comments

Đây là bài viết đầu tiên trong loại bài dịch quyển sách PCASM (http://www.drpaulcarter.com/pcasm/), cho tới khi toàn bộ quyển sách được dịch, tất cả các bài viết đều ở trạng thái DRAFT, và đều có thể được biên tập lại.

Mục tiêu

Mục tiêu của quyển sách này là mang lại cho người đọc một cách hiểu tốt hơn về cách máy tính làm việc ở cấp độ sâu hơn những gì các ngôn ngữ bậc cao như Pascal mang lại. Bằng cách tiếp cận sâu hơn với cách máy tính làm việc, người đọc có thể phát triển phần mềm hiệu quả hơn khi làm việc với các ngôn ngữ bậc cao như C hay C++. Học viết chương trình với hợp ngữ (assembly language) là một cách tuyệt vời để đạt được điều này. Các sách về hợp ngữ cho PC vẫn dạy cách viết chương trình cho vi xử lý 8086 được dùng trong các máy tính từ năm 1981! Bộ xử lý 8086 chỉ hỗ trợ chế độ thực (real mode). Trong chế độ này, một chương trình bất kỳ có thể định địa chỉ bất kỳ ô nhớ hay thiết bị nào trong hệ thống. Chế độ này không phù hợp với các hệ điều hành bảo mật, đa nhiệm. Quyển sách này thay vì vậy sẽ thảo luận về việc viết chương trình cho 80386 và các bộ xử lý sau đó trong chế độ bảo vệ (protected mode) (là chế độ hoạt động được dùng bởi Windows và Linux). Chế độ này hỗ trợ các tính năng cần thiết cho các hệ điều hành hiện đại, như bộ nhớ ảo hay bảo vệ bộ nhớ. Có một số lý do để dùng chế độ bảo vệ:

1. Dễ lập trình trong chế độ bảo vệ hơn trong chế độ thực của 8086 mà các sách khác dùng.

2. Các hệ điều hành hiện đại đều chạy trong chế độ bảo vệ.

3. Có một số phần mềm miễn phí chạy trong chế độ này.

Sự thiếu vắng các sách nói về lập trình hợp ngữ trong chế độ bảo vệ là lý do chính để tác giả viết nên cuốn sách này.

Như đã nói ở trên, quyển sách này dùng các phần mềm miễn phí hoặc nguồn mở bao gồm trình hợp ngữ NASM và trình dịch C/C++ DJGPP. Cả hai đều có thể tải về từ Internet. Tài liệu này cũng thảo luận về các dùng mã hợp ngữ NASM trong hệ điều hành Linux và với các trình dịch C/C++ của Borland và Microsoft  trong Windows. Các ví dụ trên các nền tảng đó có thể tìm thấy trên trang web của tôi: http://www.drpaulcarter.com/pcasm. Bạn phải tải về mã chương trình nếu muốn dịch và chạy nhiều ví dụ trong loạt bài này.
Đọc tiếp »

Written by namdh

03/04/2010 lúc 18:05

Posted in Assembly Language

Tagged with ,

Follow

Get every new post delivered to your Inbox.

Join 37 other followers