Hướng dẫn thực hành Kiến trúc máy tính - Bài thực hành số 4

Bài 1. Lệnh load/store (đọc/ghi) dữ liệu.

Bài 2.

Sắp xếp mảng.

Bài 3. Xử lý chuỗi....

Bài 4. Xuất giá trị ra LED 7 đoạn.

pdf 7 trang xuanthi 28/12/2022 1140
Bạn đang xem tài liệu "Hướng dẫn thực hành Kiến trúc máy tính - Bài thực hành số 4", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfhuong_dan_thuc_hanh_kien_truc_may_tinh_bai_thuc_hanh_so_4.pdf

Nội dung text: Hướng dẫn thực hành Kiến trúc máy tính - Bài thực hành số 4

  1. Nội dung 1. . 5 2. ế 5 3. 6 4. Xuất giá trị ED 7 ạn 6
  2. Thực hành kiến trúc máy tính ự 4 bgez $s1, label branch if ($s1 >= 0) op = 1 rs = $s1 1 Imm16 slt $t0,$s1,$s2 $t0=($s1<$s2?1:0) op = 0 rs = $s1 rt = $s2 rd = $t0 0 f = 0x2a sltu $t0,$s1,$s2 $t0=($s1<$s2?1:0) op = 0 rs = $s1 rt = $s2 rd = $t0 0 f = 0x2b slti $t0,$s1,10 $t0=($s1<10?1:0) op = 0xa rs = $s1 rt = $t0 Imm16 = 10 sltiu $t0,$s1,10 $t0=($s1<10?1:0) op = 0xb rs = $s1 rt = $t0 Imm16 = 10 Các lệnh truy xuất bộ nhớ load và store lb $s1, imm16($s0) s1 = MEM[s0+imm16] op = 0x20 rs = $s0 rt = $s1 Imm16 lh $s1, imm16($s0) s1 = MEM[s0+imm16] op = 0x21 rs = $s0 rt = $s1 Imm16 lw $s1, imm16($s0) s1 = MEM[s0+imm16] op = 0x23 rs = $s0 rt = $s1 Imm16 lbu $s1, imm16($s0) s1 = MEM[s0+imm16] op = 0x24 rs = $s0 rt = $s1 Imm16 lhu $s1, imm16($s0) s1 = MEM[s0+imm16] op = 0x25 rs = $s0 rt = $s1 Imm16 sb $s1, imm16($s0) MEM[s0+imm16] = s1 op = 0x28 rs = $s0 rt = $s1 Imm16 sh $s1, imm16($s0) MEM[s0+imm16] = s1 op = 0x29 rs = $s0 rt = $s1 Imm16 sw $s1, imm16($s0) MEM[s0+imm16] = s1 op = 0x2b rs = $s0 rt = $s1 Imm16 4
  3. Thực hành kiến trúc máy tính ự 4 B 3. ự : “K M 13” ế ạ ư ớ ự ự ế ế ư ư ạ ự . B 4. Xuất giá trị ra LED 7 oạn S d ng công c “Digital Lab Sim” (trong menu “Tool”), viết chư ng trình hi n thị số có hai ch số bất kỳ ư c nhập t ngư i dùng. Đoạn chư ng trình mẫu dưới ây hi n thị số “10” . Tham kh o ph n “Help” c a công c này hi u rõ chư ng trình. # Display LED's Value using Digital Lab Sim, # please read "help" .data LEDL: .byte 1 # Left Digit value LEDR: .byte 0 # Right Digit value LEDFONT1: .byte 0x3f, 0x06, 0x5b, 0x4f .text la $t0, LEDL #load address of Left Digit value byte la $t1, LEDR # load address of Right Digit value byte la $t5, LEDFONT1 li $t2, 0xFFFF0011 # load address of Left Digit li $t3, 0xFFFF0010 # load address of Right Digit lbu $t0, 0($t0) # load value of Left Digit 6