Grad-ProbAsk 板


LINE

※ 引述《tzutengweng (神奇的汤姆)》之铭言: : 1.ABCD (不会乱猜) : 2.CE (不会乱猜) : 3.D : 4.DE : 5. : 假设A, B 的base adress为$s1, $s2 : add $t0, $0, $0 // i=0 : Loop: lw $t1, 0($s1) //$t1= A[i] : lw $t2, 0($s2) //$t2= B[i] : add $t3, $t1, $t2 // $t3=A[i]+B[i] : sw $t3, 0($s1) //A[i]= $t3 : srl $t1, $t1, 1 //$t1=A[i]/2 (感谢j大 本来写sll) : sw $t1, 0($s2) //B[i]=$t1 : addi $s1, $s1, 4 : addi $s2, $s2, 4 : addi $t0, $t0, 1 //i=i+1 : slti $t1, $t0, n // if i<n, $t1=1 else $t1=0; : bne $t1, $0, Loop : Exit: : 请大家帮忙debug 感恩! : 6. BD : 7. DE : 8. CDE : 9. ABCDE : 10. : https://en.wikipedia.org/wiki/Readers%E2%80%93writers_problem : third readers-writers problem 针对第五题 https://i.imgur.com/Eji5RF7.png 我的写法 假设 A[] : $S1 B[] : $S2 n : $S3 add $t0 , $zero , $zero // $t0 代表 i Loop: sll $t1 , $t0 , 2 // i 乘以四 计算Array位址 add $t2 , $t1 , $s1 // A[i] 位址 add $t3 , $t1 , $s2 // B[i] 位址 lw $t4 , 0($t2) // 取出 A[i] 值 lw $t5 , 0($t3) // 取出 B[i] 值 add $t4 , $t4 , $t5 // A[i] = A[i] + B[i] sw $t4 , 0($t2) // 存入 A[i] 值 slti $t6 , $t4 , 0 // 判断 A[i] < 0 beq $t6 , $zero , Pos addi $t4 , $t4 , 1 // 有号数除法修正 Pos: sra $t4 , $t4 , 1 // 除以2 sw $t4 , 0($t2) // 存入 B[i] 值 addi $t0 , $t0 , 1 // i = i + 1 bne $t0 , $s3 , Loop // i ≠ n 跳loop Exit: 共 16 行 (含 Exit ) 与原Po不一样的是 多一行有号数除法修正 (题目应该没讲是无号数吧@@ ?) 再请计组高手大大们 过目一下 感恩~~ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.243.96.98
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Grad-ProbAsk/M.1513601963.A.AC5.html ※ 编辑: jerry900287 (111.243.96.98), 12/18/2017 21:08:27
1F:推 sarsman: 若t4小於0才需要做修正吧? 12/19 00:54
对耶! 感谢提醒! 我修一下 ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 09:33:35
2F:推 winiel559: 想请问加一为什麽能修正? 12/19 10:05
3F:推 winiel559: -4=1100, 1100+1=1101, 1100逻辑右移=0110=6,请问为 12/19 21:03
4F:→ winiel559: 什麽这样能修正有号数除法@@? 12/19 21:03
先看 -5 的 (二进制 : 1011 ) 他二进制转十进制的算式为 -2^3 + 2^1 + 2^0 -5 除以 4 为 -2^1 + 2^-1 + 2^-2 = -2 + 0.5 + 0.25 如果你直接往右移两个 bit 会变成 (二进制 : 1110)(十进制为 -2 ) (实际上十进制为应该为 -1) 而被移调这两个 bit (0.75)可以跟一个 1 抵销 但是他被cut掉了 为了能跟1抵销 所以往右边移掉几个bit 就加上 几个1 做修正 (在这是 11 上去) 为了就是让移完後能再有 十进制上+1 (二进制上的+1是最低位元+1) 的动作 如 1011 + 11 ________ 1110 再往右移两个 bit 变成 11 (十进制为 -1) ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 22:06:05 ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 22:09:31 ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 22:09:51
5F:推 winiel559: 这是算术左移不是逻辑左移吧@@ 12/19 23:17
对欸 再修一下XD 所以是改 sra ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 23:21:36 ※ 编辑: jerry900287 (111.243.96.98), 12/19/2017 23:24:28
6F:推 ms718293: 台大 12/20 17:25
7F:→ DLHZ: 第二个sw应该是 sw $t4 , 0($t3) 12/15 00:26







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP