b95902HW 板


LINE

※ 引述《yungyu (cyy)》之铭言: : We can't release the test data for grading. However, TA has sent some : test data we used in the submission system. That should be enough for : you to test your own program. If you still have problems, I will suggest : that you test your program in the same way that the submission system : tests your code : toyasm -o < 1.asm > 1.obj : toyasm -o < part1.asm > part1.obj : toylink 1.obj part1.obj > part1.toy : toyvm part1.toy < input > output : diff output correct-answer : ※ 引述《aliby (小青)》之铭言: : : 想请问老师可不可以公布part1 BCD的测资呢? : : 因为我在toy上跑没有问题 跟一些人讨论了一些常能测出错的测资也都ok : : 可是上传总是wrong answer...T.T : : 比较奇怪的是 我上传後他出现的clock都十分的小 : : 大概只有176 .184左右 : : 这是否代表他几乎没有执行我的BCD..? : : 但我的code基本上也是符合规格 : : (一开始标签是BCD; 最後要jr RF; BCD中也未动用RF) : : 嗯 主要还是希望有测资 重拾一些debug的方向 : : 麻烦老师了:) 我在写BCD的时候发现的一些错误可供参考 差不多是一样得情况,上传的前几次都是wrong answer 所以我采用自己debug的方式 1.把toyasm.zip下载下来并解压缩 2.将toyasm.exe跟toylink.exe复制一份到你的homework的asm档的目录下 3.使用命令提示字元(开始\执行\cmd)用linux的语法切换目录到homework所在地 Ex C:\Documents and Settings\User> 输入 cd hw2 C:\Documents and Settings\User\hw2> 4.开始类似linux的compile方法 C:\Documents and Settings\User\hw2 > toyasm -o < 1.asm > 1.obj C:\Documents and Settings\User\hw2 > toyasm -o < 档名.asm > 随便.obj C:\Documents and Settings\User\hw2 > toylink 1.obj 随便.obj > 随随便便.toy 当中若有问题会出现一些讯息,没有则皆大欢喜 5.打开X-toy 开启 随便取名.toy 转到debug模式(就是电脑图示) 6.在stdin标签中 先输入你即将要输入的data个数(因为老师的1.asm是先把所有变数归零 再读取资料个数,然後开个回圈跑几次RA = stdin->BCD->stdout = RB) 7.输入测资 Ex 0014 //20个资料 (0014)hex = (0020)dec 0000 0001 000A //别小看ABCDEF,若转换出来有ABCDEF你就得修改 0010 0016 001A 00A0 00AA 00FF 0100 010A 01A0 0A00 0A0A 0AA0 0FFF 1000 10A0 1FFF 270F //终极测资 (270F)hex = (9999)dec -> (9999)hex = (-327...忘了)dec 8.跑跑玩具机,要Run要step来trace code皆可 其中通常会发生的错误是 1.资料溢位 Ex 8-bit的变数你存16-bit的甚麽东西给他 被迫中止 Ex 超过变数容纳范围 32767~-32767吧? 中指 2.变数没定义 add R3, R4, R5 但是R5甚麽都没有 3.变数滥用 前後变数Ex R1多重用导致资料复写来复写去 甚至用加的累积成不是原来的 预期目标数值 4.最难找的就是 当老师的1.asm在跑回圈时 前後执行BCD中的变数因为滥用 所以第一个 答案正确,但是後面的狂炸,牛头不对马嘴。 所以正确的习惯 1.使用function前要先把local variable给归零或lda,ld,add成你要的数 2.若不想因此影响效能,就设立专用变数,举例规定code中R1就是个位数,R2就是百位数 等等,像无线通讯频道专一一样的general variable 3.测资在reset时会被删掉,最好利用save成一个档案 4.不断炸掉时就要不断修改答案,所以cmd,文字编辑器,TOY视窗通通别关,缩小就好 5.修改完答案後存档, assemble, link(在cmd中只要上下键就可以挑以前的指令) 然後在TOY中Open一次继续测试。 ps使用好的编辑器如虎添翼像是Vim,UltraEdit等等分割视窗、并排视窗就可以把asm 及自己写的c code摆在一起相互对照 省时又省力。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.124.88.156
1F:推 aliby:哇博伦你超有经验的 我会再用你的测资去de看看 11/05 07:19
2F:→ aliby:辛苦了打了这麽多字 11/05 07:21
3F:推 yungyu:万分感谢这位同学的经验分享 11/05 09:13
4F:推 waterwinds:辛苦了 推一个XD 11/06 00:08
※ 编辑: hypermind 来自: 122.124.78.95 (11/14 23:27)







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灯, 水草

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

TOP