DSC00877. Originally uploaded by JIESIN.
下午兩點去探路,跑到碼頭附近漁塭深處,發現有好幾台休旅車XD 大概跟我一樣是要去拍照。
事後發現在情人碼頭看就好了,人沒有想像的多,而且我也不想再走到漁塭了...
煙火還不錯啦!不過跟我想像的有落差,高度不夠。還好沒跑到偏僻的漁塭拍...因為稍微遠了一點點,可能就看不到了= =
以上都是廢話,點進去看照片吧。
因為很多網頁比我螢幕高...想要抓下來介紹。用我本來用的Hello,就只能抓其中一部分。
所以去找了一下,發現這個HyperSnap可以自動滾動網頁來抓圖。
設定方法是到HyperSnap的Capture選單裡的Capture Settings裡的Capture標籤裡,把Auto-scroll window during Window Capture這個核取方塊打勾。
抓圖只要把HyperSnap開起來,按下Ctrl+Shift+w,滑鼠移到要抓圖的視窗,到空白的地方會出現一個向下的箭頭,點擊滑鼠左鍵就會開始自動滾動抓圖。
不過HyperSnap好像不是免費軟體...等試用期過了再看看。再去找一下有沒有免費的好了...
總算放完影片;想不到還有笑點...而且笑點都是我!?...orz 明明就是溫馨感人小短劇阿~_~
由此可見要讓人發笑不一定要嘻皮笑臉講笑話,認真的演戲也是可以,嗯嗯。
之後老師說我有憂鬱的氣息~~我就知道我果然是憂鬱的人阿~~呵呵
旁邊的人一直說屁啦是怎樣= =
明明就是事實XD
我是憂鬱氣息電機男 ;)
-- 影片...流出去的話我大概會被...還是先放在硬碟裡吧= =a
MIPS assembly code: (copied from textbook) | |||
( n corresponds to the argument register $a0 ) | |||
fact: | addi | $sp,$sp,-8 | # adjust stack for 2 items |
sw | $ra,4($sp) | # save the return address | |
sw | $a0,0($sp) | # save the argument n | |
slti | $t0,$a0,1 | # test for n < 1 | |
beq | $t0,$zero,L1 | # if n >= 1, go to L1. | |
addi | $v0,$zero,1 | # return 1 | |
addi | $sp,$sp,8 | # delete 0 and address | |
jr | $ra | # return to after jal of L1 | |
L1: | addi | $a0,$a0,-1 | # n >= 1: argument gets (n - 1) |
jal | fact | # call fact with (n - 1) | |
lw | $a0,0($sp) | # return from jal:restore argument n | |
lw | $ra,4($sp) | # restore the return address | |
addi | $sp,$sp,8 | # adjust stack pointer to pop 2 items | |
mul | $v0,$a0,$v0 | # return n * fact(n-1) | |
jr | $ra | # return to the caller | |
trace: n = 3 | |||
fact: | addi | $sp,$sp,-8 | # adjust stack for 2 items |
sw | $ra,4($sp) | # save the return address in stack | |
sw | $a0,0($sp) | # save the argument n = 3 in stack | |
slti | $t0,$a0,1 | # test if n < 1 | |
beq | $t0,$zero,L1 | # if n >= 1, go to L1. Now n = 3, so go to L1 | |
L1: | addi | $a0,$a0,-1 | # n = 3 - 1 = 2 |
jal | fact | # call fact with n = 2 | |
fact: | addi | $sp,$sp,-8 | # adjust stack for 2 items |
sw | $ra,4($sp) | # save the return address in stack | |
sw | $a0,0($sp) | # save the argument n = 2 in stack | |
slti | $t0,$a0,1 | # test if n < 1 | |
beq | $t0,$zero,L1 | # if n >= 1, go to L1. Now n = 2, so go to L1 | |
L1: | addi | $a0,$a0,-1 | # n = 2 - 1 = 1 |
jal | fact | # call fact with n = 1 | |
fact: | addi | $sp,$sp,-8 | # adjust stack for 2 items |
sw | $ra,4($sp) | # save the return address in stack | |
sw | $a0,0($sp) | # save the argument n = 1 in stack | |
slti | $t0,$a0,1 | # test if n < 1 | |
beq | $t0,$zero,L1 | # if n >= 1, go to L1. Now n = 1, so go to L1 | |
L1: | addi | $a0,$a0,-1 | # n = 1 - 1 = 0 |
jal | fact | # call fact with n = 0 | |
fact: | addi | $sp,$sp,-8 | # adjust stack for 2 items |
sw | $ra,4($sp) | # save the return address in stack | |
sw | $a0,0($sp) | # save the argument n = 0 in stack | |
slti | $t0,$a0,1 | # test if n < 1 | |
beq | $t0,$zero,L1 | # if n >= 1, goto L1. n = 0,so goto next line | |
addi | $v0,$zero,1 | # return 1 | |
addi | $sp,$sp,8 | # pop 2 items(0 and return address) of stack | |
jr | $ra | # return to the instruction after jal | |
lw | $a0,0($sp) | # returned from jal. restore argument 1 | |
lw | $ra,4($sp) | # restore the return address | |
addi | $sp,$sp,8 | # pop 2 items(1 and return address) of stack | |
mul | $v0,$a0,$v0 | # return n*fact(n-1) = 1*fact(0) = 1 * 1 = 1 | |
jr | $ra | # return to the instruction after jal | |
lw | $a0,0($sp) | # returned from jal. restore argument 2 | |
lw | $ra,4($sp) | # restore the return address | |
addi | $sp,$sp,8 | # pop 2 items(2 and return address) of stack | |
mul | $v0,$a0,$v0 | # return n*fact(n-1) = 2*fact(1) = 2 * 1 = 2 | |
jr | $ra | # return to the instruction after jal | |
lw | $a0,0($sp) | # returned from jal. restore argument 3 | |
lw | $ra,4($sp) | # restore the return address | |
addi | $sp,$sp,8 | # pop 2 items(3 and return address) of stack | |
mul | $v0,$a0,$v0 | # return n*fact(n-1) = 3*fact(2) = 3 * 2 = 6 | |
jr | $ra | # return to the caller |