将陸續上傳本人寫的新書《自己動手寫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所示。從中可知,乘累加、乘累減指令實作正确,同時,可以觀察到乘累加、乘累減指令都需要兩個時鐘周期執行完畢。
代碼下載下傳位址http://download.csdn.net/detail/leishangwen/7858701
下一次将介紹除法指令的實作過程,敬請關注!