孤獨的美國霸權
曾慶潭 Ching-Tang Tseng
ilikeforth@gmail.com
Hamilton, New Zealand
18 December 2017
美國惡霸長期在全世界各地顛覆別的國家、濫殺各國平民,網路訊息讓全世界能夠透澈地見到無數美國暴行的事實。
2017年12月18日,埃及在聯合國安理會提議:『全世界拒絕承認美國惡霸總統穿婆為了製造世界動亂而強言耶路撒泠(Jerusalem)為以色列首都。』
耶路撒泠為回教與基督教信徒的共同聖城,美國惡霸總統這樣的惡毒宣告,當然造成了新的世界動亂,要死很多人,行為真是惡毒。
以色列算是一個憑著一本叫做聖經的小說,由西方國家安排,在二戰之後,強佔阿拉伯世界領土所建立的國家,從那時起,阿拉伯世界就永無寧日直到今天。
這次安理會投票的結果,是全世界14個現任理事國都反對美國,只有美國惡霸自己動用否決權,霸道地向全世界展示其丟臉的舉止,真夠孤獨。
這裡留下兩張現任美國駐聯合國大使舉著醜陋的手否決討論議案的歷史照片。
64 bits Forth era
Ching-Tang Tseng
Hamilton, New Zealand
19 Dec 2017
ilikeforth@gmail.com
http://forthfortnight.blogspot.com
----- To be continued
Another 64 bits Forth system is coming from Russia. I have
to say thanks to the author as well. For the purpose of encouraging more 64
bits Forth system could be released out into public domain, I did another
modified code demonstration for FasmForth64 system exclusively, file named is
MORSE.F. I run FasmForth64 sometimes on
64 bits W7.
Original “MORSE.F” code is coming from one discussion thread
“Morse code demonstration for Rosetta code” posted in comp.lang.forth on
Wednesday, February 10 2016. Earlier demo code maybe could be found by somebody
from APPLE II Forth era.
There are some special features in FasmForth64.
FasmForth64 own the feature of calling ABI from OS W7. To do
such a calling, all parameters transfer style is different from 32 bits
environment. 64 bits uses CPU registers to transfer data, 32 bits uses stack to
do the same thing. This feature is perfect enough even though this demo code is
calling back to 32 bits .dll only.
After testing, I found FasmForth64 system is the same as
Wina64, save system word “SAVE” does not working yet. Reason is the same as in Wina64.
Both Wina64 and FasmForth64 are supplied all assembly source
code to us. In other words, transparency of these systems is 100%.
Attention! For the moment, FasmForth64 accept capital input
only. In this demonstration, there are 2 values on the stack when I start FasmForth64, and system
shows me error there.
You have to use command console to run FasmForth64.
S” MORSE.F” INCLUDED can load this demo file.
The main purpose of this code to be posted here is let you could
hear the real sound output in Morse code.
*********************************************
\ PLAY MORSE CODE IN FASMFORTH64
: DLL_CREATE CREATE
PARSE-NAME FILE-BUFF ASCII-Z DLL_S
DUP 0= ABORT"
API UNAVAILABLE" , ;
: API_0: DLL_CREATE DOES> @ API_0 ;
: API_1: DLL_CREATE DOES> @ API_1 NIP ;
: API_2: DLL_CREATE DOES> @ API_2 NIP NIP ;
: API_3: DLL_CREATE DOES> @ API_3 NIP NIP NIP ;
: API_4: DLL_CREATE DOES> @ API_4 NIP NIP NIP NIP ;
: API_5: DLL_CREATE DOES> @ API_5 NIP NIP NIP NIP NIP ;
S" KERNEL32.DLL" DROP DLL_L CONSTANT KERNEL32DLL
KERNEL32DLL API_2: Beep Beep
: TONE ( DURATION FREQENCY -- )
Beep DROP ;
\ MORSE DEMONSTATION BEGINS HERE
880 CONSTANT FREQ
45 CONSTANT ADIT
: NS 4 * ; \
CONVERT ADIT TO DURATION VALUE, WITHOUT NANO SECOND MEANING
: DIT_DUR ADIT NS
;
: DAH_DUR ADIT 3 *
NS ;
: WORDGAP ADIT 5 *
NS ;
: OFF_DUR ADIT 2/
NS ;
: LETTERGAP DAH_DUR
;
: SOUND ( DURATION
-- ) FREQ TONE ;
: SILENCE ( DURATION -- ) 0 TONE ;
: MORSE-EMIT ( CHAR
-- ) \ SEND MORSE AND ECHO TO CONSOLE
DUP BL = \ BL = BLANK = 32
IF
WORDGAP SILENCE DROP
ELSE
PAD
C! \ WRITE CHAR TO BUFFER
PAD 1
EVALUATE \ EVALUATE 1 CHARACTER
LETTERGAP
SILENCE \ PAUSE FOR CORRECT
SOUNDING MORSE CODE
THEN ;
: BOUNDS ( ADDR LEN -- LAST INIT )
OVER + SWAP ;
: TRANSMIT ( ADDR LEN -- )
CR \
NEWLINE,
BOUNDS \ CONVERT LOOP INDICES TO ADDRESS RANGES
DO
I C@ DUP
EMIT \ DUP AND SEND CHAR TO CONSOLE
MORSE-EMIT \ SEND THE MORSE CODE
LOOP ;
: . ( -- ) DIT_DUR
SOUND OFF_DUR SILENCE ;
: - ( -- ) DAH_DUR
SOUND OFF_DUR SILENCE ;
\ DEFINE MORSE LETTERS AS FORTH WORDS. THEY TRANSMIT WHEN
EXECUTED
: A . - ; : B -
. . . ; : C - . - . ;
: D - . . ;
: E . ; : F
. . - . ; : G - - . ;
: H . . . . ;
: I . . ; : J
. - - - ; : K . - . ;
: L . - . . ;
: M - - ; :
N - . ; : O
- - - ; : P . - - . ;
: Q - - . - ; : R .
- . ; : S . . . ;
: T - ;
: U . . - ; : V
. . . - ; : W . - - ;
: X - . . - ;
: Y - . - - ; : Z -
- . . ;
: 0 - - - - - ; : 1
. - - - - ;
: 2 . . - - - ; : 3
. . . - - ;
: 4 . . . . - ; : 5
. . . . . ;
: 6 - . . . . ; : 7
- - . . . ;
: 8 - - - . . ; : 9
- - - - . ;
: ' - . . - . ; : \
. - - - . ; : ! . - . - . ;
: ? . . - - . . ;
: , - - . . - - ;
: / . . . - . -
; ( SK MEANS END OF TRANSMISSION IN
INT'L MORSE CODE)
: . . - . - . - ;
: MAIN
S" CQ CQ CQ DE VE3CFW VE3CFW. \ " TRANSMIT ;
MAIN
************execution outcome********************
C:\Users\Master\spforth64>FASMFORTH64
:0
^ERROR #-1
D.
5311272 Ok
S" MORSE.F" INCLUDED
<'> INCLUDE-FILE CATCH. isn't unique
- isn't unique
I isn't unique
J isn't unique
' isn't unique
\ isn't unique
! isn't unique
, isn't unique
/ isn't unique
. isn't unique
CQ CQ CQ DE VE3CFW VE3CFW. \
Ok
**************************************
附註 : 20241031 重新整理後貼出。
附註 : 20241031 重新整理後貼出。
沒有留言:
張貼留言