組合語言的加減乘除,因為一般語言不需深究,而組合語言卻大有文章,
尤其是小數,負數,減法,除法。在16位元的世界裏,
一切都變了樣。
這部分,真是另人難以取捨,電腦早期就是以科學計算為主,從矩陣,電腦圖學,快速富利葉轉換,
數學分析,統計,為了數學計算而發展的語言,大概就是FORTRAIN ,GNU也有支援,INTEL也支持著FORTRAIN的開發,雖然任何語言,最後還是要編譯成機器語言來執行,就是JAVASCRIPT也不例外,
但是用組合語言來算數,實在太艱苦了。
所以就淺淺的帶過。
參考 Khoraski's Tutorials
裏的Assembly Tutorial 7 - Adding And Subtracting Registries
暫存器的加法和減法。
-a 100
08FA:0100 mov ah,02
08FA:0102 mov dl,2
08FA:0104 add dl,3
08FA:0107 add dl,30
08FA:010A int 21
08FA:010C int 20
08FA:010E
-rcx
CX 0000 :0e
-n add.com
-w
Writing 000E bytes
-q
C:\>add.com
5
mov ah,02
mov dl,2
int 21
3行是把字元印出來。
add dl,30不是加30,由結果可知,30是ASCII CODE的0。
--------------------------
覺得原創者的影片說明及範例設計不是很好,
進行練習可以設計成
08FA:0100 mov dl,a
08FA:0102 add dl,f
08FA:0105 add dl,1
用t來一步一步執行,
就此例,可看出,dx暫存器,由A, ->19->1A
-a
08FA:0100 mov dl,2
08FA:0102 add dl,30
08FA:0105 add dl,aa
此例,可看出,dx暫存器,由2->32->DC
進行著16位的加法。
-------------------
接著試減法,
-a
08FA:0100 mov dl,40
08FA:0102 sub dl,5
08FA:0105 sub dl,15
08FA:0108
一步一步執行,
dx暫存器由 40->3B->26是16進位的減法。
再來試一下不夠減的情況,
a 108
08FA:0108 mov dl,5
08FA:010A sub dl,6
08FA:010D sub dl,1
08FA:0110 add dl,2
一步一步執行,
奇怪的事發生了,
16進位的負數表示法,
dx 暫存器變化,DX=0005->00FF ->00FE->0000
結果是正確的,用FF表示-1, FE表示-2,
而此時旗標變化了,
NV UP EI PL NZ NA PO NC
NV UP EI NG NZ AC PE CY
NV UP EI NG NZ NA PO NC
NV UP EI PL ZR AC PE CY
一個負數的運算,牽動了4個旗標的變化。
請聽下回分解
今晚又出了一些狀況,
大女兒的教練,今天和我用力聊了一陣子,
害大女兒吃晚飯的時間,拖到9點後,被老婆訓了一頓。
我想用大女兒肚子餓當理由先走 結果她說還好。
只好又說了近1個鐘頭。
----------------------
大女兒在走一條台灣小朋友較少的路,水上芭蕾,
相較於籃球,高爾夫球,網球,這簡直是冷到不行的運動,
但是,大女兒似乎樂在其中,
尤其是一些練了4/5年的姐姐,顯得有氣無力,她並不受影響。
------------------------
也許是出自內心。
她是幸福的,
不必看是否冷門熱門,有她自己的快樂。
---------------------------
之前讓她在北新國中練韻律體操,半年後,死活不練了,
她並不是會受我的期望因受影響,還好換到第二個運動,她就喜歡了,
本來想,可能還要再多換幾個運動。
----------------
平常10點是寫完的時間,今天是還沒動筆。
會有狀況的比賽階段,那一線的戰友,更是難能可貴了。
Tim大給主文還附送副刊一篇,真是太有料,俺就算沒吃到烤蛤蠣也是要用力推啊!!
不知您小朋友多大了??應該蠻能體會栽培的過程。
生小孩,不栽培,那當初就不要衝動,
而栽培小孩,只花錢,就想有效果,那太不切實際,
舉凡台灣男網一哥,女網一姐,女高爾夫世界冠軍,這些比較不像棒球系統的培育,
幾乎都是傾家傾族的投入。女兒碰到對的教練,而女兒有興趣,身體不會受傷。
直要天時地利人和相配合。
所在狀況頻頻的條件下,
能抽出時間,
JavaScript 教學 43:高峰原妙《推枕大徹》,
這是你的春秋大業,
古人立德立功立言,今人立影,
除了復古還有創新之意。
我以45篇為目標,當然是向您看齊之意。