30/09/2018, 18:53

Convert ARM Assembly to C or JAVA

Chào mọi người, hiện tại mình đang tìm hiểu về cách để chuyển đổi các mã assembly về mã nhị phân thông qua ngôn ngữ bậc cao hơn, có thể là C hoặc JAVA. Mình đã tìm rất nhiều tài liệu nhưng vẫn chưa thấy tài liệu nào nói nhiều về vấn đề này…có thể mình đã ko tìm đúng keyword…
Mọi người chỉ cho mình thêm kinh nghiệm cũng như hướng dẫn những bước cơ bản về vấn đề này được không? Cám ơn mọi người nhiều smiley:

Minh Hoàng viết 21:03 ngày 30/09/2018

Bạn xem về các type instructions (tùy theo kiến trúc và ngôn ngữ). Đấy là cách để phần cứng hiểu được các lệnh mà chúng ta yêu cầu chúng thực hiện. Ví dụ như trong MIPS thì có 3 type chính là R,I,J. Mỗi type sẽ cover một bộ các lệnh(số học hoặc nhảy hoặc làm gì đó).

Văn Dương viết 21:02 ngày 30/09/2018

Mình thấy từ ngôn ngữ bậc thấp chuyển lên ngôn ngữ bậc cao là rất khó nên bạn không tìm thấy tài liêu là đúng rồi.
Bởi vì đơn giản thôi, ngôn ngữ bậc thấp không có các quy chuẩn như ngôn ngữ bậc cao nên không thể chuyển được.
Ví dụ bạn nhìn vào đoạn mã ASM hay nhị phân, bạn sẽ không thể biết được dấu hiệu nào của public, private, static, class, namespace, interfac …vv

Minh Hoàng viết 21:05 ngày 30/09/2018

cách để chuyển đổi các mã assembly về mã nhị phân thông qua ngôn ngữ bậc cao hơn

hình như ý bạn này là dùng ngôn ngữ bậc cao để chuyển mã thôi không phải dịch ngược lại

Quang Minh Đoàn viết 21:08 ngày 30/09/2018

Đúng rồi bạn, mình muốn làm thế để biết cách hoạt động của 1 vài tập lệnh cơ bản của assembler (làm thế nào để chuyển hợp ngữ về mã nhị phân bằng cách code trên ngôn ngữ bậc cao)…

Mình cũng chỉ mới học về assember mà thôi, hiện mình đang làm về 16-bit Thumb instruction encoding trên kiểu kiến trúc ARMv7-M.

Minh Hoàng viết 21:05 ngày 30/09/2018

Nghe lạ quá, mình mới học MIPS với một ít Assembly 64bit.
Nếu là chuyển thì chỉ cần xem các type instruction của kiến trúc đó là được rồi, xem thêm kiểu kiến trúc nó tương tác với lệnh như thế nào là có thể làm được rồi chúc may mắn

Bài liên quan
0