2009-07-24 28 views
42

Tôi đã được dạy rằng "lắp ráp" là những gì bạn viết trong các tập tin của bạn, để có "assembler" của bạn chuyển đổi nó thành mã nhị phân."Assembly" và "Assembler"

Nhưng tôi thấy hai cụm từ này được trộn lẫn và kết hợp trong nhiều tác phẩm khác nhau. Tôi thậm chí còn nghe nói rằng bạn viết "assembler", sau đó một "assemblator" làm cho nó thực thi được.

Hãy cho tôi biết, các từ thích hợp để sử dụng là gì?

+8

lắp ráp vào bộ lắp ráp, giống như c đến gcc. –

+0

Có thể trùng lặp: http://stackoverflow.com/questions/991009/why-do-programmers-confuse-the-term-assembler-with-assembly –

+0

Đừng quên hội đồng .net, chúng tạo thêm một lỗi "thuật ngữ" " – zxcat

Trả lời

12

Mục đích của ngôn ngữ là giao tiếp.

Nếu mọi người nói mọi thứ và những người khác hiểu họ, họ đang sử dụng các cụm từ chính xác.

Chúng tôi có các quy tắc để dễ hiểu hơn, nhưng theo ý kiến ​​của tôi, nếu bạn nói những gì tốt nhất cho bạn, và để người khác nói điều gì nghe hay nhất, và tất cả các bạn đều hiểu ý bạn, thì mọi thứ sẽ được đào.

Đối với những gì nó có giá trị, tôi thích viết "lắp ráp" và lắp ráp nó với một "bộ lắp ráp". Tôi nghĩ rằng "hội đồng" nên là lời của một ngày nào đó, và mọi người nên cố gắng sử dụng nó càng thường xuyên càng tốt.

+3

Điều này đúng trong hầu hết các trường hợp, nhưng đôi khi một tình huống được tạo ra khi 2 người đang nói về cùng một điều và họ không có ý kiến. – smack0007

+5

+1 Bạn vừa tập hợp ngày của tôi ;-) – balpha

+1

@smack - Điều này là có thể, nhưng tôi chưa bao giờ thấy bất kỳ ai thực sự bối rối về sự khác biệt giữa "ngôn ngữ lắp ráp" và "ngôn ngữ lắp ráp" - hầu hết những người đủ thông minh để biết ngôn ngữ lắp ráp nào là đủ thông minh để tìm ra khi ai đó gọi nó bằng một cái tên hơi khác. –

6

Việc lắp ráp là một đoạn mã/tệp thực thi có trong mã thực thi máy. Đây có thể là một obj, exe, dll, ... Đó là kết quả của một biên dịch.

Bộ kết hợp là "trình biên dịch" biên dịch mã thành mã thực thi máy. Mã này đã được viết bằng ngôn ngữ "Ngôn ngữ lắp ráp". Ngôn ngữ lắp ráp bằng tiếng Anh thông dụng thường được gọi là Assembler.

Bộ chỉnh sửa có vẻ là một từ sáng tạo, được sinh ra từ sự cần thiết để giảm sự nhầm lẫn gây ra bởi việc bỏ lỡ các cụm từ khác hoặc thuật ngữ bằng tiếng nước ngoài (xem câu trả lời khác).

+2

Trong microsoft đất, điều đó có thể đúng, nhưng lâu trước khi .NET ra đời, mọi người sử dụng cụm từ như ngắn gọn cho "mã lắp ráp" - tức là mã nguồn bạn cung cấp làm đầu vào cho một bộ lắp ráp để tạo ra tệp chứa mã máy. – George

+0

@George Tôi là một bộ đếm thời gian cũ, bắt đầu lập trình trên máy tính gần như đầy phòng, và đây là việc sử dụng và định nghĩa các từ. Mọi người bắt đầu sử dụng chúng một cách cẩu thả khá sớm. –

+0

@Ralph Rickenbach Xin lỗi, tôi không có ý nói lên âm trong bình luận trước của tôi. Đó là cách tôi luôn luôn nghe các điều khoản được sử dụng cho đến khi NET đến và quyết định sử dụng từ "lắp ráp" để có nghĩa là một cái gì đó khác nhau. – George

1

Tôi đoán nguồn gốc của các cụm từ này quay trở lại từ điển cổ điển về lắp ráp: "lắp ráp hướng dẫn máy để đạt được mục đích" có thể là cách những người tiên phong máy tính nghĩ đến một nhóm máy nhỏ hướng dẫn. Sau đó, một "assembler" là một thiết bị có các lệnh máy riêng lẻ, đặt chúng lại với nhau thành một "assembly".

3

Tôi thành thật không biết liệu có thuật ngữ 'chuẩn' có phân biệt rõ ràng tất cả các khái niệm này hay không. (Ví dụ: Nếu tôi nói "ASM" tôi đang nói về điều gì?)

Tôi có thể cung cấp cho bạn các định nghĩa của tôi, nếu điều đó có ích.

Máy Mã

Đây là sản phẩm biên soạn của người lắp ráp hoặc biên dịch.

hội

Đây là dạng có thể đọc được con người của mã máy. (Hoặc, mã máy như chúng ta biết.)

Đôi khi tôi sử dụng cụm từ thay cho mã máy vì nó ngụ ý rằng tôi sẽ không thực sự đọc mã máy, mà là lắp ráp.

hội Ngôn ngữ

này đề cập đến một ngôn ngữ mã máy cụ thể như lắp ráp x86.

Assembler

Đây là một công cụ như MASM \ FASM sử dụng để biên dịch mã nguồn thành mã máy.

Assembler Ngôn ngữ

Đây là ngôn ngữ được sử dụng bởi bất kỳ lắp ráp nhất định.

Tôi xem điều này là khác với ngôn ngữ lắp ráp vì các trình lắp ráp có thể thêm đường cú pháp riêng của chúng mà không tồn tại trong ngôn ngữ lắp ráp cơ bản. (Các hàm mức cao, macro, v.v.)

Các vấn đề liên quan