終於把32位元乘以32位元寫出來嚕~ (2010.01.04PM04:30將程式碼變得容易看懂)
之前都用加法慢慢做
程式碼有夠長的
這次改用2進位旋轉的方式來做
程式碼短很多
1/04/2010
1/02/2010
微處理機(8051)第一次上機題目第二題 memory-move
2.Write a program to process data stored in the external code memory from 1000H to 104FH. The rule of the processing is as follows :
甲、 If the data is even, copy it to external data memory started from 2000H.
乙、 If the data is odd, copy it to on-chip memory started from 40H.
丙、 Find out how many odd numbers and how many even numbers during the processing. Stored the number of odd numbers in A and the number of even numbers in B.
這題是老師第一次上機測驗時,發給我們的題目第二題。
老師在上次上課中有把答案寫出來放在BB
不過我用Keil uVision3 跑過一次之後發現出了點問題
下面程式碼是經過我修改之後
內容跟原本差異不大
主要也是指令用錯的問題
大家可以看看
甲、 If the data is even, copy it to external data memory started from 2000H.
乙、 If the data is odd, copy it to on-chip memory started from 40H.
丙、 Find out how many odd numbers and how many even numbers during the processing. Stored the number of odd numbers in A and the number of even numbers in B.
這題是老師第一次上機測驗時,發給我們的題目第二題。
老師在上次上課中有把答案寫出來放在BB
不過我用Keil uVision3 跑過一次之後發現出了點問題
下面程式碼是經過我修改之後
內容跟原本差異不大
主要也是指令用錯的問題
大家可以看看
1/01/2010
微處理機(8051)上機考古題文章整理Arithmetic & data move
本文只整理出1到14題的連結
以下題目解答為我打的
程式寫法有很多種的,我的程式碼通常寫得比較長
有些比較複雜的地方我有寫註解
如有看不懂的歡迎留言詢問
另外
如果你從期中考到現在Keil uVision3都不會使用
那麼建議您請先會使用它跑程式之後,再來問
不然會造成許多人困擾
都還不會的,建議你先去Data Movement Practices先把裡面的東西搞懂之後
再來做下面的考古題
不然相信你看了我的程式碼,你也看不懂我在寫什麼
以下題目解答為我打的
程式寫法有很多種的,我的程式碼通常寫得比較長
有些比較複雜的地方我有寫註解
如有看不懂的歡迎留言詢問
另外
如果你從期中考到現在Keil uVision3都不會使用
那麼建議您請先會使用它跑程式之後,再來問
不然會造成許多人困擾
都還不會的,建議你先去Data Movement Practices先把裡面的東西搞懂之後
再來做下面的考古題
不然相信你看了我的程式碼,你也看不懂我在寫什麼
本文章題目版權歸屬於朱老師,另外本文所提供答案並不保證其正確性
微處理機(8051)上機考古題 Arithmetic 2-13
13.Let F(x)=x3-2x+1. Let x be a 16-bit unsigned number stored in (20-21H), use program to calculate this function and store the result in (30-35H).(2010.01.01.PM06:22)
這應該是1~14題裡面程式碼最長的一題
這應該是1~14題裡面程式碼最長的一題
本文章題目版權歸屬於朱老師,另外本文所提供答案並不保證其正確性
微處理機(8051)上機考古題 Arithmetic 2-12
12.Write a program to perform the multiplication of a 32-bit unsigned number stored at (20-23H) and a 16-bit unsigned number stored at (24-25H) and put the result as a 48-bit unsigned number at (30-35H).
For example, if (20-23H)=98765432H and (24-25H)=1234H, then (30-35H)=0x0AD749F49E28H.(2010.01.01.PM03:32將程式碼補上)
For example, if (20-23H)=98765432H and (24-25H)=1234H, then (30-35H)=0x0AD749F49E28H.(2010.01.01.PM03:32將程式碼補上)
本文章題目版權歸屬於朱老師,另外本文所提供答案並不保證其正確性
微處理機(8051)上機考古題 Arithmetic 2-14
14.Define a sequence that f(n+2)=f(n+1)+f(n). Let f(0)=0 and f(1)=1 and n is a BCD number stored in 20H.
Please use program to calculate n from 0 to 30 and stored the result in BCD form at .(30-32H).(2010.01.01.PM09:44經做准呈提醒,更新小錯誤)
呼~新年的第一天寫出這題
Please use program to calculate n from 0 to
呼~新年的第一天寫出這題
注意:
此題 n的範圍應做修改
請改成 0 to 28
否則30H~32H放不下
本文章題目版權歸屬於朱老師,另外本文所提供答案並不保證其正確性
訂閱:
文章 (Atom)