Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Từ chương trình C chuyển sang hợp ngữ MIPS

  1. #1
    Ngày gia nhập
    09 2021
    Bài viết
    2

    Mặc định Từ chương trình C chuyển sang hợp ngữ MIPS

    Cho đoạn mã lệnh chương trình C sau:
    x = 5
    y = x - 2
    a = x * 4
    b = y * 2
    z = (x + a) - (y + b)
    Hãy tìm mã hợp ngữ MIPS, với a,b,x,y là các số nguyên 32 bit?


    addi $t0, $zero, 5
    addi $t1, $s0, -2
    li $s1, 4
    Em dùng chỉ thị lệnh "li" để khởi tạo thanh ghi với giá trị, được giá trị thanh ghi t1 = 4.
    Vậy với đoạn code a = x * 4 thì mình phải sử dụng chỉ thị lệnh nào ạ. Em thử dùng chỉ thị lệnh mult nhưng chỉ thị này chỉ áp dụng cho 2 thanh ghi trong khi a = x * 4 cần 3 thanh ghi?
    Mong nhận được sự giúp đỡ từ các bác ạ!

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    735

    Trích dẫn Nguyên bản được gửi bởi minhquang0912 Xem bài viết
    Cho đoạn mã lệnh chương trình C sau:
    x = 5
    y = x - 2
    a = x * 4
    b = y * 2
    z = (x + a) - (y + b)
    Hãy tìm mã hợp ngữ MIPS, với a,b,x,y là các số nguyên 32 bit?


    addi $t0, $zero, 5
    addi $t1, $s0, -2
    li $s1, 4
    Em dùng chỉ thị lệnh "li" để khởi tạo thanh ghi với giá trị, được giá trị thanh ghi t1 = 4.
    Vậy với đoạn code a = x * 4 thì mình phải sử dụng chỉ thị lệnh nào ạ. Em thử dùng chỉ thị lệnh mult nhưng chỉ thị này chỉ áp dụng cho 2 thanh ghi trong khi a = x * 4 cần 3 thanh ghi?
    Mong nhận được sự giúp đỡ từ các bác ạ!
    Tham khảo http://diendan.congdongcviet.com/threads/t478596::tu-lenh-c-chuyen-thanh-lenh-mips.cpp
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn