天天看點

自己動手寫CPU之第七階段(8)——驗證乘累加指令的實作效果

将陸續上傳本人寫的新書《自己動手寫CPU》,今天是第31篇,我盡量每周四篇

亞馬遜的銷售位址如下,歡迎大家圍觀呵!

http://www.amazon.cn/dp/b00mqkrlg8/ref=cm_sw_r_si_dp_5kq8tb1gyhja4

China-pub的銷售位址如下:

http://product.china-pub.com/3804025

北發的銷售位址如下:

http://book.beifabook.com/Product/BookDetail.aspx?Plucode=712123950&extra=0_s25960657

7.9 測試乘累加、乘累減指令實作效果

.org 0x0
   .set noat
   .global _start
_start:
   ori  $1,$0,0xffff
   sll  $1,$1,16
   ori  $1,$1,0xfffb           # $1 = -5  為寄存器$1賦初值
   ori  $2,$0,6                # $2 = 6   為寄存器$2賦初值

   mult $1,$2                  # hi = 0xffffffff
                               # lo = 0xffffffe2

   madd $1,$2                  # hi = 0xffffffff
                               # lo = 0xffffffc4

   maddu $1,$2                 # hi = 0x5
                               # lo = 0xffffffa6

   msub $1,$2                  # hi = 0x5
                               # lo = 0xffffffc4

   msubu $1,$2                 # hi = 0xffffffff
                               # lo = 0xffffffe2
           

      連續的4條乘累加、乘累減指令,程式的注釋給出了預期執行結果。ModelSim仿真如圖7-14所示。從中可知,乘累加、乘累減指令實作正确,同時,可以觀察到乘累加、乘累減指令都需要兩個時鐘周期執行完畢。

自己動手寫CPU之第七階段(8)——驗證乘累加指令的實作效果

代碼下載下傳位址http://download.csdn.net/detail/leishangwen/7858701

下一次将介紹除法指令的實作過程,敬請關注!

繼續閱讀