Ngôn ngữ hội là gì
Ngôn ngữ hội là ngôn ngữ cấp thấp dành riêng cho một kiến trúc máy tính cụ thể. Để so sánh, nhiều ngôn ngữ lập trình cấp cao có thể được sử dụng trên nhiều kiến trúc, nhưng yêu cầu phiên dịch hoặc biên dịch trước khi đến bộ xử lý.
Ngôn ngữ hội thảo
Ngôn ngữ hội đã được thay thế phần lớn bằng ngôn ngữ lập trình cấp cao. Các kỹ sư phần mềm thà viết một ứng dụng duy nhất hoạt động trên tất cả các PC - bất kể họ có bộ xử lý Intel hay AMD - sử dụng ngôn ngữ cấp cao. Để so sánh, họ sẽ được yêu cầu viết các ứng dụng riêng cho từng loại kiến trúc máy tính bằng ngôn ngữ lắp ráp. Các ứng dụng này sẽ trở nên cực kỳ khó bảo trì vì mọi cập nhật sẽ đòi hỏi phải cập nhật một số ứng dụng khác nhau.
Các hướng dẫn cơ bản nhất được thực hiện bởi máy tính là mã nhị phân, bao gồm các số và số 0, vì chúng có thể dịch trực tiếp sang trạng thái bật và tắt để điện di chuyển qua bộ xử lý. Tất nhiên, không thực tế đối với các kỹ sư phần mềm - hoặc bất kỳ con người nào - để dịch thông tin thành số không và số không, vì vậy các ngôn ngữ lắp ráp đã được phát triển để đơn giản hóa quy trình. Các ngôn ngữ lắp ráp này vẫn liên quan đến rất nhiều công việc dịch mã trên các kiến trúc khác nhau, vì vậy các ngôn ngữ lập trình cấp cao hơn đã xuất hiện sau chúng.
Điều đó nói rằng, ngôn ngữ lắp ráp vẫn còn phổ biến ở một số thị trường nhất định đòi hỏi tốc độ và hiệu suất cao. Trình mô phỏng bay có thể sử dụng các kiến trúc chuyên môn cao, nơi các ngôn ngữ cấp cao hơn không hoạt động, điều đó có nghĩa là ngôn ngữ lắp ráp có thể là một điều cần thiết. Hoạt động giao dịch tần số cao cũng có thể sử dụng ngôn ngữ lắp ráp vì chúng có thể thực hiện phân tích và giao dịch nhanh hơn nhiều so với ngôn ngữ cấp cao, điều này có thể mang lại doanh thu giao dịch và lợi nhuận tốt hơn so với đối thủ.
Ví dụ về ngôn ngữ hội
Ngôn ngữ hội đồng gửi hướng đến bộ xử lý, bộ nhớ và các thành phần máy tính khác. Các hướng này là các phiên bản trừu tượng hơn một chút của mã nhị phân, bao gồm hoàn toàn các mã và số không. Ví dụ, mã 10110000 01100001 yêu cầu bộ xử lý chuyển giá trị 8 bit sang thanh ghi. Bằng cách sử dụng định dạng thập lục phân, các hướng dẫn này có thể được rút ngắn thành B0 61. Các ngôn ngữ hội làm cho điều này trở nên dễ hiểu hơn bằng cách giới thiệu các toán tử, như MOV AL, 61h, trong đó MOV là tên viết tắt của "move".
Các ngôn ngữ lập trình cấp cao hơn thường tự động xử lý các tác vụ này và để các kỹ sư phần mềm tập trung vào các tác vụ cấp cao hơn nhiều, chẳng hạn như gán các biến và hoàn thành các thao tác trên chúng. Ví dụ: một kỹ sư phần mềm có thể xác định một biến trong JavaScript bằng cách sử dụng let myVariable = 123 và biến đó sẽ được tự động gán một vị trí trong bộ nhớ dựa trên kích thước của số nguyên 123 và các yếu tố khác. Kỹ sư phần mềm không phải lo lắng về việc quản lý bộ nhớ và thay vào đó có thể tập trung vào những gì biến đang làm.
