1. Trang chủ
  2. » Giáo án - Bài giảng

kiến trúc máy tính nang cao tran ngoc thinh isa exercise updated 2015 sinhvienzone com

4 170 1

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 253,65 KB

Nội dung

Bài tập Bài Cho biết sử dụng CPU có ISA kiểu Memory-Memory để tính biểu thức sau cần lần truy cập nhớ? Nếu sử dụng CPU có ISA kiểu General Purpose Register cần lần truy cập nhớ? A = B + C + B*C; Bài Trong tập lệnh MIPS khơng có lệnh nhảy so sánh khác Zero (mạc dù lệnh dùng phổ biến) Làm để thực lệnh hiệu ne Si nh Vi en ### EndCodeHere: # print your results la $a0, numResult li $v0, syscall move $a0, $s0 li $v0, syscall la $a0, idxResult li $v0, syscall move $a0, $s1 li $v0, syscall C 10 12, 32, 13, 43, 17, 1, -2, -45, 0, 11 "Minimum number: " "\nIndex: " Zo data iArraySize: word iArray: word numResult: asciiz idxResult: asciiz text main: ### StartCodeHere: om Bài Tìm số nhỏ mảng số nguyên, xuất giá trị index vị trí số nhỏ #stop program li $v0, 10 syscall #your function start from here Bài Sắp xếp chuỗi số nguyên theo giá trị tăng dần .data cSpace: asciiz " " cEndLine: asciiz "\n" iArraySize: word 10 SinhVienZone.com https://fb.com/sinhvienzonevn iArray: word 12, 32, 13, 43, 17, 1, -2, -45, 0, 11 text main: # print integer array lw $t0, iArraySize la $t1, iArray jal print ### StartCodeHere: # load size of iArray # Load base address of iArray # load size of iArray # Load base address of iArray C # print integer array lw $t0, iArraySize la $t1, iArray jal print om ### EndCodeHere: ne #stop program li $v0, 10 syscall # print fuction Vi exitPrint $t1, $t2 ($t3) li $v0, la $a0, cSpace syscall Si # index of iArray en $0, $0 nh add $t2, loopPrint: beqz $t0, li $v0, add $t3, lw $a0, syscall Zo print: # Check condition # service is print integer # load desired value into $a0 # print space just like separator addi $t0, $t0, -1 # decrease loop count addi $t2, $t2, # increase index b loopPrint exitPrint: li $v0, la $a0, cEndLine # print end line syscall jr $ra # end of print #your function start from here Bài Dùng MIPS assembly viết hàm tính Fibonacci phương pháp đệ quy, $a0 N, $v0 kết SinhVienZone.com https://fb.com/sinhvienzonevn Bài Dùng MIPS assembly viết hàm tính Fibonacci phương pháp dùng mảng (quy hoạch động), phần tử X[i] mảng lưu giữ giá trị F(i) $a0 N, $v0 kết Bài Hiện thực hàm cộng hai số đoạn chương trình gọi hàm chế truyền thông số qua stack (thông số kết trả qua stack) HƯỚNG DẪN MÔ PHỎNG MIPS DÙNG QTSPIM om QtSpim chương trình mơ tập lệnh MIPS, phiên thay cho PCSpim Phần mềm đọc mô file mã nguồn Assembly MIPS Các file mã nguồn viết dạng file *.S có format sau: Zo en # code segment text globl main main: addi $a0, $0, 10 add $t0, $0, $v0 ne C # data segment data word word Si nh Vi data khai báo đoạn liệu, nơi ta khai báo khởi tạo biến .tex khai báo đoạn code, nơi viết đoạn mã thực thi Sau cài đặt QtSpim chạy chương trình QtSpim, vào menu File/Reinitialize and Load File SinhVienZone.com https://fb.com/sinhvienzonevn .C om Chọn file assembly cần mô phỏng, đoạn chương trình mơ load vào hai cửa sổ gồm: Text, hiển thị nhớ chứa lệnh; Data, hiển thị nhớ chứa liệu Ngồi cửa sổ bên phải hiển thị nội dung ghi Si nh Vi en Zo ne Khi mô phỏng, giá trị ghi ô nhớ thay đổi thấy thực thi lệnh Khi load file mã nguồn assembly, QtSpim tự động nạp vào đoạn Kernel code đoạn code để nhảy đến chương trình người dùng Đoạn chương trình người dùng đặt địa 0x00400024 (khoanh màu đỏ) Sau nạp file mã nguồn, sử dụng nút Run, Pause, Stop, Single Step công cụ để mô SinhVienZone.com https://fb.com/sinhvienzonevn ... Bài Dùng MIPS assembly viết hàm tính Fibonacci phương pháp đệ quy, $a0 N, $v0 kết SinhVienZone.com https://fb.com/sinhvienzonevn Bài Dùng MIPS assembly viết hàm tính Fibonacci phương pháp dùng

Ngày đăng: 30/01/2020, 23:34

TỪ KHÓA LIÊN QUAN