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


Đâ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.

LỜI NÓI ĐẦU

Cuốn sách này không được viết ra để mô tả tất cả các vấn đề trong lập trình hợp ngữ. Tác giả đã cố gắng trình bày về các chủ đề quan trọng nhất mà tất cả các lập trình viên phải thành thạo.

LỜI CẢM TẠ

Tác giả xin gửi lời cảm ơn đến các lập trình viên trên khắp thế giới đã phân phối các phần mềm tự do/mã mở. Tất cả các chương tronhf và thậm chí ngay cả quyển sách này cũng được tạo ra nhờ phần mềm miễn phí. Đặc biệt, tác giả xin gửi lời cảm ơn đến John S. Fine, Simon Tatham, Julian Hall và những người khác đã phát triển trình hợp ngữ NASM mà tất cả các ví dụ trong sách này đều sử dụng; DJ Delorie vì đã phát triển DJGPP C/C++; những người đã phân phối trình dịch GNU gcc – cơ sở của DJGPP. Donald Knuth và những người khác đã phát triển TEX and L ATEX2ε được dùng để tạo ra cuốn sách này; Richard Stallman (sáng lập Free Software Foundation), Linus Torvalds (người tạo ra nhân Linux) và nhiều người khác đã tạo ra những phần mềm mà tác giả dùng để tạo nên cuốn sách này.

Cảm ơn những người đã giúp chỉnh sửa nội dung:

• John S. Fine
• Marcelo Henrique Pinto de Almeida
• Sam Hopkins
• Nick D’Imperio
• Jeremiah Lawrence
• Ed Beroset
• Jerry Gembarowski
• Ziqiang Peng
• Eno Compton
• Josh I Cates
• Mik Mifflin
• Luke Wallis
• Gaku Ueda
• Brian Hewardvii
• Chad Gorshing
• F. Gotti
• Bob Wilkinson
• Markus Koegel
• Louis Taber
• Dave Kiddell
• Eduardo Horowitz
• S´ebastien Le Ray
• Nehal Mistry
• Jianyue Wang
• Jeremias Kleer
• Marc Janicki

Các tài nguyên trên Internet:

Tác giả: http://www.drpaulcarter.com/
NASM SourceForge: http://sourceforge.net/projects/nasm/
DJGPP: http://www.delorie.com/djgpp
Linux Assembly: http://www.linuxassembly.org/
The Art of Assembly: http://webster.cs.ucr.edu/
USENET comp.lang.asm.x86
Intel documentation: http://developer.intel.com/design/Pentium4/documentation.htm

Phản hồi

Tác giả luôn mong muốn nhận được nhiều ý kiến đóng góp
E-mail: pacman128@gmail.com
WWW: http://www.drpaulcarter.com/pcasm

2 thoughts on “PC Assembly Tutorial – Lời nói đầu

  1. Chào bạn. cho mình xin email của bạn mình muốn trao đổi với bạn 1 số việc

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s