X XD使者 高級會員 已加入 5/4/05 訊息 866 互動分數 0 點數 16 10/27/07 #11 其實....10進制可以用16進制減法... 但是...給個提示... 他還是用ADD...不是用DEC 忘了補充XD 有個指令可以把16進制轉10進制@@"
S sauce3794 一般般會員 已加入 10/26/07 訊息 94 互動分數 0 點數 6 10/29/07 #12 cheug21891 說: mov R1 064H? 是要把R1放到64H的記憶體上面嗎? 但是老師要我們做的是要放在30~32H裡面說 直接對累加器跑迴圈比較快吧 但是不知道怎嚜做阿 我試過的 但是重點是要把它改成10進位 就是遞減9次以後進位! 但是他還是跳16次= = 16進位倒數我還可以用偷吃步的方式(好像比較快) 但是現在就是不行改資料庫裡的東西(access學到走火?) 而且程式中的 mo... 按一下展開…… 老師要你們把計數值放再記憶體(30H~31H) 裡面存取 是比較慢而不是比較快 (老師錯了) 因為經常存取的資料應放在cache或暫存器速度才會快 另外我舉 64H 的例子是計數值 (10進位的100), 可以放在你們老師規定的 (30H ~ 31H中) 你要將計數器改成10進位計數 那只要再迴圈中加一些邏輯判斷 也就是倒數到NumTab 的 0 時 前一位數減一然後再將前一位數重新Display就行了 例: 199 198 197 196 ... 191 190 189 190 跳 189 的做法(虛擬碼) : 代碼: index 初值為指向個位數的指標 if (判斷出index位數為零) { loop: if ( [index+1] 位數為0) 註 : 若目前index指標指向個位數則 index+1後 index就指向十位數) { index++ Jump loop } [index+1] 位數減一 重新顯示[index+1] 位數並將 [index] 位數改成顯示9(十進制) } 此種做法不必作16進制與10進制 若是要使用進制轉換那每減一次需作一次進制轉換,速度將慢很多,隨然肉眼看不出來... 最後編輯: 10/29/07
cheug21891 說: mov R1 064H? 是要把R1放到64H的記憶體上面嗎? 但是老師要我們做的是要放在30~32H裡面說 直接對累加器跑迴圈比較快吧 但是不知道怎嚜做阿 我試過的 但是重點是要把它改成10進位 就是遞減9次以後進位! 但是他還是跳16次= = 16進位倒數我還可以用偷吃步的方式(好像比較快) 但是現在就是不行改資料庫裡的東西(access學到走火?) 而且程式中的 mo... 按一下展開…… 老師要你們把計數值放再記憶體(30H~31H) 裡面存取 是比較慢而不是比較快 (老師錯了) 因為經常存取的資料應放在cache或暫存器速度才會快 另外我舉 64H 的例子是計數值 (10進位的100), 可以放在你們老師規定的 (30H ~ 31H中) 你要將計數器改成10進位計數 那只要再迴圈中加一些邏輯判斷 也就是倒數到NumTab 的 0 時 前一位數減一然後再將前一位數重新Display就行了 例: 199 198 197 196 ... 191 190 189 190 跳 189 的做法(虛擬碼) : 代碼: index 初值為指向個位數的指標 if (判斷出index位數為零) { loop: if ( [index+1] 位數為0) 註 : 若目前index指標指向個位數則 index+1後 index就指向十位數) { index++ Jump loop } [index+1] 位數減一 重新顯示[index+1] 位數並將 [index] 位數改成顯示9(十進制) } 此種做法不必作16進制與10進制 若是要使用進制轉換那每減一次需作一次進制轉換,速度將慢很多,隨然肉眼看不出來...