Tôi còn tương đối new cùng với vấn đề đó. Tôi sẽ nỗ lực nhằm phát âm sự khác biệt giữa những điều khoản được đề cập một biện pháp cụ thể, tuy nhiên, tôi vẫn còn hoảng loạn. Đây là các thứ tôi sẽ kiếm tìm thấy:

Trong ngữ điệu trình biên dịch lịch trình biên dịch (hoặc hội), mnemonic là tên viết tắt của một thao tác. Nó được nhtràn vào ngôi trường mã hoạt động vui chơi của mỗi lệnh chương trình biên dịch công tác. ví dụ AND AC,37 Tức là AND đăng ký AC với 37. vày vậy AND, SUB cùng MUL là ghi lưu giữ. Chúng được dịch vì trình biên dịch công tác.

Bạn đang xem: Opcode là gì

Các trả lời (câu lệnh) trong ngôn từ hội nói bình thường vô cùng dễ dàng, ko giống như các khuyên bảo trong ngữ điệu xây dựng cao cấp. Nói phổ biến, mnemonic là 1 tên thay mặt cho một lệnh ngôn từ đồ vật xúc tiến độc nhất vô nhị (opcode) cùng có tối thiểu một mnemonic opcode được xác minh cho từng lệnh ngôn ngữ sản phẩm công nghệ. Mỗi lệnh thường xuyên bao gồm 1 thao tác làm việc hoặc opcode, cùng với 0 hoặc những toán hạng.


assembly
31
14 thg 7, 2013Ahmed Taher
OPCODE : Đó là một vài được lý giải vị lắp thêm của người sử dụng (ảo hoặc silicon) thay mặt cho chuyển động nhằm thực hiện

BYTECODE : Giống như mã sản phẩm, không tính, phần nhiều được thực hiện do trình thông ngôn dựa trên ứng dụng (nhỏng Java hoặc CLR)

MNEMONIC : Từ giờ Anh MNEMONIC Tức là "Một trang bị nlỗi một mẫu mã chữ, phát minh hoặc liên kết giúp ghi nhớ một chiếc gì đó.". Vì vậy, nó thường được những xây dựng viên ngôn từ hội áp dụng nhằm ghi lưu giữ "HOẠT ĐỘNG" nhưng mà trang bị rất có thể làm cho, nlỗi "THÊM" cùng "MUL" và "MOV", v.v ... Đây là trình biên dịch cụ thể.

MÃ MÁY: Đây là chuỗi các số bật và tắt những công tắc nguồn trong máy vi tính nhằm tiến hành một công việc một mực - ví dụ như thêm số, phân nhánh, nhân, v.v ... Đây trọn vẹn là sản phẩm công nghệ rõ ràng và tư liệu tốt vị những người dân thực hiện bộ xử lý.

Hội: Có nhị "hội đồng" - một lịch trình hội là một trong những chuỗi những phép màu và toán thù hạng được đưa đến một "trình biên dịch", "gắn thêm ráp" những ký kết hiệu cùng toán hạng thành mã vật dụng tiến hành. Tùy lựa chọn 1 "trình liên kết" liên kết các hội đồng và tạo nên một tập tin thực thi.

"Hội" máy nhì trong các ngữ điệu dựa vào "CLR" (ngữ điệu .NET) là 1 trong những chuỗi mã CLR được truyền thông tin siêu dữ liệu, một một số loại thư viện mã tiến hành, nhưng lại không thể tiến hành thẳng.


41
Aniket vẫn làm cho tốt nhất có thể, cơ mà tôi cũng sẽ đi.

Trước hết, hãy hiểu đúng bản chất sinh sống cấp độ phải chăng tốt nhất, những công tác laptop với tất cả tài liệu chỉ với hầu hết số lượng (nhiều khi được gọi là words), trong một vài loại bộ nhớ. Thông thường duy nhất đều trường đoản cú này là bội số của 8 bit (1 với 0) (ví dụ như 32 với 64) mà lại không tuyệt nhất thiết với trong một vài Chip xử lý, từng tự to hơn đáng chú ý. Mặc mặc dù vậy, kia chỉ là phần đông số lượng được biểu lộ bên dưới dạng một chuỗi 1 cùng 0, hoặc trên cùng ngoại trừ ví như bạn muốn. Các số lượng có ý nghĩa gì tùy nằm trong vào phần nhiều gì/ai đã từng phát âm chúng với trong trường vừa lòng của bộ xử lý, nó hiểu bộ lưu trữ một Word một lượt cùng dựa trên số (phía dẫn) nhưng mà nó nhìn thấy, triển khai một số hành vi. Những hành động những điều đó hoàn toàn có thể bao hàm hiểu một giá trị trường đoản cú bộ lưu trữ, ghi quý giá vào bộ lưu trữ, sửa thay đổi quý giá mà lại nó sẽ phát âm, nhảy đầm cho một chỗ không giống vào bộ nhớ để phát âm lí giải trường đoản cú đó.

Trong hầu hết ngày đầu, một xây dựng viên vẫn tắt bật các công tắc theo nghĩa đen để biến đổi bộ lưu trữ, nhảy hoặc tắt đèn để đọc tiên phong hàng đầu và 0, vì không có keyboard, screen, v.v. Lúc thời hạn trôi qua, bộ nhớ ngày dần lớn hơn, CPU trsinh sống buộc phải tinh vi hơn, những máy hiển thị cùng keyboard đến đầu vào được có mặt, và cùng với đó, cách tiện lợi rộng nhằm lập trình sẵn.

Anaphet diễn giải:

OPCODE là một trong những phần của Word khuyên bảo được bộ xử lý diễn giải là thay mặt cho hoạt động bắt buộc thực hiện, ví dụ như phát âm, viết, dancing, thêm. phần lớn khuyên bảo cũng sẽ tất cả OPERANDS tác động mang lại bí quyết tiến hành của lệnh, chẳng hạn như nói từ bỏ đâu trong bộ nhớ lưu trữ để phát âm hoặc viết hoặc nhảy đầm đến đâu. Vì vậy, nếu như các lệnh tất cả kích cỡ 32 bit ví dụ điển hình, bộ xử lý hoàn toàn có thể áp dụng 8 bit cho opcode với 12 bit cho từng nhì toán thù hạng.

Một bước phát triển trường đoản cú những công tắc nguồn bật và tắt, mã rất có thể được nhtràn lên thiết bị bằng chương trình gọi là "màn hình". Lập trình viên đã thực hiện những lệnh đơn giản dễ dàng nhằm nói bộ lưu trữ nào người ta có nhu cầu sửa đổi với nhập MÃ SỐ MÃ, ví dụ: vào cơ sở 16 (hex) thực hiện 0 mang lại 9 cùng A mang lại F cho những chữ số.

Mặc cho dù giỏi rộng đối với biến đổi công tắc, nhập mã sản phẩm vẫn lờ lững với dễ dẫn đến lỗi. Một bước tiến tới tự sẽ là CODE hội, sử dụng MNEMONICS dễ nhớ hơn nuốm mang lại số thực tế đại diện thay mặt cho 1 lệnh. Công câu hỏi của ASSEMBLER chủ yếu là đổi khác hình thức ghi ghi nhớ của chương trình thành mã sản phẩm công nghệ tương xứng. Vấn đề này tạo cho vấn đề lập trình sẵn dễ dàng rộng, quan trọng đặc biệt đối với những lệnh khiêu vũ, trong các số đó một trong những phần của lệnh là một trong liên quan bộ nhớ lưu trữ nhằm đưa mang lại hoặc một vài từ để bỏ lỡ. Lập trình trong mã trang bị đòi hỏi các tính toán cần thiết nhằm chế tạo chỉ dẫn chính xác và ví như một số mã nhận thêm hoặc xóa, các lệnh nhảy hoàn toàn có thể rất cần được được xem toán lại. Trình biên dịch cách xử trí bài toán này mang đến lập trình sẵn viên.

Điều này vướng lại BYTECODE, về cơ bản giống hệt như mã lắp thêm, tại phần nó miêu tả các vận động cấp thấp như đọc với ghi bộ lưu trữ và những tính toán cơ bản. Mã byte thường xuyên được sinh ra nhằm tạo thành khi TẠO ngôn ngữ cung cấp cao hơn nữa, ví dụ PHP. hoặc Java cùng không giống như mã sản phẩm công nghệ đến nhiều bộ xử lý dựa trên phần cứng, có thể có các hoạt động để cung ứng những kỹ năng ví dụ sinh hoạt cung cấp cao hơn Một điểm khác hoàn toàn chính là bộ xử lý của mã byte thường xuyên là một trong những công tác, tuy vậy CPU đã được chế tác để phân tích và lý giải một vài thông số kỹ thuật của mã byte, ví dụ: Chip xử lý mang tên SOAR (Smalltalk On A RISC) cho Smalltalk bytecode. Mã vật dụng mã hóa, đối với một vài một số loại bộ xử lý nhỏng CISC với EISC (ví dụ Linn Rekursiv, từ những người đã tạo trình phân phát bản ghi), phiên bản thân CPU đựng một chương trình diễn giải các khuyên bảo của sản phẩm, do đó gồm sự tương đồng.

Xem thêm: Tên Thật Của Chí Phèo - Chí Phèo Tên Thật Là Gì


Dòng sau đấy là mã x86 được phân bóc tách.

68 73 9D 00 01 Push 0x01009D73 68 opcode. Với các byte tiếp sau đây, nó thay mặt đại diện mang lại Đẩy hướng dẫn của x86 hội = ngôn từ. Lệnh đẩy đẩy tài liệu có độ dài 4 byte (32 bit) nhằm xếp chồng. Word Push chỉ là 1 mnemonic đại diện thay mặt mang đến opcode 68. Mỗi byte 68 , - 73 , 9D , 00 , 01 mã máy.

mã máy dành riêng cho lắp thêm thiệt (CPU) dẫu vậy mã byte là mã trang bị mang cho đồ vật ảo.

Khi bạn viết a Java code. Java biên dịch mã của công ty cùng sản xuất mã byte. (Một tệp. Class) và bạn có thể thực hiện và một mã tại bất kỳ nền tảng cơ mà ko biến hóa.

Java CODE | | BYTE CODE ________________|_______________ | | | x86 JVM SPARC JVM ARM JVM | | | | | | x86 SPARC ARM MACHINE CODE MACHINE CODE MACHINE CODE
"Hội" khởi nguồn từ mã "trình biên dịch" cực kỳ mau chóng sẽ "gắn ráp" những công tác từ nhiều tệp (loại cơ mà bây giờ bọn họ sẽ Hotline là các tệp "bao gồm"). . trình biên dịch "không cung ứng bao hàm các tệp với vì thế không" lắp ráp ".

Thật thú vui lúc xem xét rằng "trình biên dịch" được phát minh sáng tạo để cung cấp "chương trình con". Ban đầu bao gồm các lịch trình con "mặt trong" với "bên ngoài". Các lịch trình nhỏ "nội bộ" là các thứ họ vẫn Gọi là "nội tuyến", trong khi những công tác nhỏ "mặt ngoài" được tiếp cận trải qua chế độ "gọi" nguyên ổn thủy. Có các tranh cãi vào thời điểm này về việc liệu những công tác bé "bên ngoài" bao gồm cần là 1 trong phát minh giỏi hay là không.

"Mnemonic" bắt đầu từ tên của vị thần Hy Lạp Mnemosyne, nữ giới thần của ký kết ức. Bất cứ đọng điều gì khiến cho bạn ghi nhớ hình thức là 1 trong "trang bị ghi nhớ".


Gần đây tôi vẫn đọc một nội dung bài viết hay về điều đó, Sự khác biệt giữa Opcode cùng Bytecode , cho nên mong muốn chia sẻ với bất cứ ai sau một lời giải thích tốt về chủ đề này. Tất cả tín dụng ở trong về tác giả cội .

*

Opcode :

Opcode là viết tắt của mã chuyển động. Nhỏng tên thường gọi của chính nó, opcode là 1 một số loại mã mang đến thiết bị biết đề nghị làm cái gi, Có nghĩa là đề xuất triển khai thao tác làm sao. Opcode là một loại khuyên bảo ngữ điệu lắp thêm.

Mã byte :

Bytecode giống như nhỏng opcode về bản chất, bởi nó cũng cho sản phẩm biết yêu cầu làm gì. Tuy nhiên, bytecode không có thiết kế để Chip xử lý thực thi trực tiếp, cơ mà là một chương trình khác.<.__.> Nó được thực hiện thịnh hành độc nhất vô nhị bởi một trình thông dịch dựa trên phần mềm như Java hoặc <~ # ~> clr <~ # ~> . Họ đổi khác từng tổng quát gợi ý đồ vật thành a cụ thể gợi ý hoặc khuyên bảo đồ vật nhằm CPU của sản phẩm tính phát âm.<.__.> Trong thực tiễn, thương hiệu bytecode bắt nguồn từ những tập lệnh gồm những opcode một byte theo sau là các tham số tùy lựa chọn .


Mã C ++ nhằm kiểm tra phỏng đoán thù Collatz nkhô giòn hơn hội viết tay - tại sao?

Ttuyệt nắm bộ đếm vòng lặp 32 bit bằng 64 bit reviews độ lệch công suất điên rồ

Tại sao GCC ko buổi tối ưu hóa a * a * a * a * a * a thành (a * a * a) * (a * a * a)?

Mục đích của giải đáp LEA là gì?

Có thể "dịch ngược" Windows .exe không? Hoặc ít nhất là coi hội?

Làm cách nào nhằm đạt được buổi tối nhiều triết lý là 4 FLOP mỗi chu kỳ?

Làm vắt làm sao để các bạn có được đầu ra output của trình biên dịch tự nguồn C/C++ trong gcc?

Tại sao các chương trình không được viết vào hội liên tiếp hơn?

Làm nạm làm sao để chạy một chương trình nhưng không tồn tại hệ điều hành?

Khi làm sao hội nhanh khô hơn C?

Điểm kiểm tra% eax% eax

Tại sao GCC sử dụng phxay nhân với một số trong những lạ trong bài toán triển khai phép phân tách số nguyên?

Chức năng của các hướng dẫn Push / pop được sử dụng trên các tkhô giòn ghi trong nhiều x86 là gì?

Mục đích của tkhô hanh ghi RBP vào trình biên dịch x86_64 là gì?

Num ++ có thể là nguyên tử đến "int num" không?

Mục đích của ESI và EDI đăng ký?

Là "đưa đổi" nhanh hơn "nếu"?

Bảo vệ thực thi từ bỏ kỹ thuật đảo ngược?

Làm cầm cố như thế nào tín đồ ta hoàn toàn có thể thấy nội dung của ngăn uống xếp cùng với gdb


Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *