PDA

View Full Version : Ngôn ngữ assembly



Candy
12-03-2009, 06:41 AM
Ngôn ngữ assembly (còn gọi là hợp ngữ) là một ngôn ngữ bậc thấp (http://vi.wikipedia.org/wiki/Ng%C3%B4n_ng%E1%BB%AF_b%E1%BA%ADc_th%E1%BA%A5p) được dùng trong việc viết các chương trình máy tính (http://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_m%C3%A1y_t%C3%ADnh). Ngôn ngữ assembly sử dụng các từ có tính gợi nhớ, các từ viết tắt để giúp ta dễ ghi nhớ các chỉ thị phức tạp và làm cho việc lập trình bằng assembly dễ dàng hơn. Mục đích của việc dùng các từ gợi nhớ là nhằm thay thế việc lập trình trực tiếp bằng ngôn ngữ máy được sử dụng trong các máy tính đầu tiên thường gặp nhiều lỗi và tốn thời gian. Một chương trình viết bằng ngôn ngữ assembly được dịch thành mã máy (http://vi.wikipedia.org/wiki/M%C3%A3_m%C3%A1y) bằng một chương trình tiện ích được gọi là assembler (Một chương trình assembler khác với một trình biên dịch (http://vi.wikipedia.org/wiki/Tr%C3%ACnh_bi%C3%AAn_d%E1%BB%8Bch) ở chỗ nó chuyển đổi mỗi lệnh của chương trình assembly thành một lệnh của máy).
Các chương trình viết bằng ngôn ngữ assembly liên quan rất chặt chẽ đến kiến trúc của máy tính. Điều này khác với ngôn ngữ lập trình bậc cao (http://vi.wikipedia.org/w/index.php?title=Ng%C3%B4n_ng%E1%BB%AF_l%E1%BA%ADp_ tr%C3%ACnh_b%E1%BA%ADc_cao&action=edit&redlink=1), ít phụ thuộc vào phần cứng (http://vi.wikipedia.org/wiki/Ph%E1%BA%A7n_c%E1%BB%A9ng).
Trước đây ngôn ngữ assembly được sử dụng khá nhiều nhưng ngày nay phạm vi sử dụng khá hẹp, chủ yếu trong việc thao tác trực tiếp với phần cứng hoặc hoặc làm các công việc không thường xuyên. Ngôn ngữ này thường được dùng cho trình điều khiển (http://vi.wikipedia.org/wiki/Tr%C3%ACnh_%C4%91i%E1%BB%81u_khi%E1%BB%83n) (tiếng Anh: driver), hệ nhúng bậc thấp (tiếng Anh: low-level embedded systems) và các hệ thời gian thực (http://vi.wikipedia.org/w/index.php?title=Th%E1%BB%9Di_gian_th%E1%BB%B1c&action=edit&redlink=1). Những ứng dụng này có ưu điểm là tốc độ xử lí các lệnh assembly nhanh.
Định nghĩa Assembly trong môi trường .Net Trong phát triển phần mềm trên nền .Net, mỗi một module là một file có thể thực thi. Mỗi module có thể là một thư viện động (.dll) hoặc là một file thực thi (.exe). Một gói kết hợp Assembly là sự kết hợp của một hoặc nhiều module, hoặc file (dll, exe,html) cần để ứng dụng hoạt động, Assembly là đơn vị nhỏ nhất của đoạn mã có khả năng thực thi, đó là đoạn mã có thể nâng cấp và sửa đổi được. Các gói Assembly có thể chứa chỉ số phiên bản ứng dụng.
(Theo Cuốn Kỹ thuật lập trình ứng dụng chuyên nghiệp VB.Net)


CHÍNH VÌ NHỮNG ƯU VIỆT CỦA NÓ MÀ NÓ VẪN ĐƯỢC NHIỀU NGƯỜI SỬ DỤNG, VẬY MÌNH LẬP TOPIC NÀY ĐỂ MỘI NGƯỜI CÓ THỂ VÀO ĐỂ TRAO ĐỔI NHỮNG VẤN ĐỀ LIÊN QUAN TỚI NGÔN NGƯC LẬP TRÌNH NÀY.

SevenLove
17-03-2009, 09:06 PM
2 lời khuyên chân thành của dân lập trình :

1- Assembly là ngôn ngữ lập trình đơn giản nhất ngày nay .
Trọn bộ development software của nó còn chưa chiếm hết
chỗ trong một floppy disk.

2- Một ví dụ lập trình để chia một số cho một số khác, bạn phải
viết mấy chục giòng code.

Vì vậy, người lập trình Assembly phải biết lối suy nghĩ đơn giản
nhật rất khác xa với lối suy nghĩ của người lập trình C, hay C+,
hay C++, hay VC.

Nếu bạn muốn "đứng trên vai những người khổng lồ" như
Newton vì đại, thì đừng nên đâm đầu vào Assembly .

Trái lại, nếu bạn có chí lớn muốn đánh bại Microsoft và các
công ty software nổi tiếng khác như Unix, Sun, bạn nên bắt
đầu từ số Không, chẳng cần một "nguồn mở" nào, thì Assembly
là cái đồ đá đầu tiên để bạn dựng nghiệp . Chắc đến đời cháu
chắt của bạn, thì công ty của bạn sẽ thành công .

Riêng tôi cho rằng các bạn nên bắt đầu = ngôn ngữ C hoặc C++ vì nó rất gần với Java Script và Java , bên cạnh đó các bạn ở cấp 3 cũng đc biết qua về Pascan , nhưng Pascan thì tôi hok ham , chỉ thích C thui ^^

haidh
18-03-2009, 12:02 PM
Viết hay thế nhưng có hiểu chi không?
(Ghét nhất lão Hảo cứ bắt nhập 45 kí tự mới cho reply)