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:
Bài liên quan
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ì đó).
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
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
Đú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.
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