亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readme

?? graspForth is my humble attempt at a Forth-in-C that has the following goals: GCC ......... to su
??
字號:
---------------------------------------------------------------------------------------
graspForth .. a 32-bit Forth by Bernard Mentink (c)2004
	( graspForth stands for: a Gcc/Relocatable/fAst/Small/Portable Forth ).
---------------------------------------------------------------------------------------
	
graspForth is my humble attempt at a Forth-in-C that has the following goals:

GCC .........  to support all 32-bit micros that GCC cross-compiles to.
Relocatable .  to be able to run in-place in either Flash or Ram.
Fast ........  to be "not much" slower than an assembly based native Forth. 
Small .......  to fit-in approx 300 words in less than 25Kbytes on a 32-bit machine.
Portable ....  to achieve a 5 minute port to a new 32bit micro-processor, or micro-controller.
 
In order to achieve these goals graspForth is written in the following way:

GCC:
	Since GCC cross-compiles to many common 32-bit micro's, I have standardized on GCC as my
	tool of choice. ( I currently use version 3.4.x, it produces fast, stable code ).
	
Relocatable:
	As at version 0.8, this goal has not been achieved yet. Addresses are currently absolute 
	so "application code" stored in Flash must be copied-to and run in ram at the addresses it was 
	compiled at. (The kernel words of course, are run from flash directly). For me it is not a big 
	issue yet, as the chips I use have lots of ram, but I am working on a version
	that uses relative address's, so applications can be run in-situ in flash. Any idea's on the best
	approach to this are most welcome. There is a speed penalty, since "next" has to calculate
	the address offset .. shoudn't be too big a penalty though :)	

Fast:
	I have used GCC's "calculated labels" approach to threading. This is much faster and neater
	than using large case statements or jump-tables and fits well with the Forth threading model.
	By necessity I have used ITC (Indirect Threaded Code), as there is no way to lay down a machine
	"call or jump" instruction from within C to implement DTC (Direct Threaded Code) ... and ITC is 
	inherently more portable and readable anyway, .. all high-level words are addresses only. 
	The resulting code is close to DTC speed, depending on the target processor and optimizations
	done by the compiler (i.e what -O flag you provide etc ), and is "fast enough" (IMHO).
	Benchmarking against pForth and gForth (other Forth-in-C's) show a factor of 3x improvement 
	on pForth (pure C) and slightly slower than gForth (I suspect gForth does some optimizations .. ?)
	(On my 1.4G Centrino Laptop running Linux, graspForth can achieve 400 million Forth instructions
	per second! ... probably running out of cache? ) The ARM LPC21xx uP running at 60Mhz 
	achieves > 3 million Forth instructions-per-second (running in flash). I think that an average 
	20 machine cycles per Forth word is acceptable for a simple Forth-in-C (IMHO). 
	
Small:
	I have endevoured to write graspForth in "Pseudo-Forth" so that there is no need
	to use C libraries, and since it is Forth, it is inherently small. 
	The only lib used is gcc.a to allow C multiply and divide words (these are small).
	To achieve what I think is a good balance between speed/size, I have elected to code 75 kernel 
	words in C, the rest are in Pseudo-Forth. Also by using Pseudo-Forth, reading the code 
	produces a better understanding of Forth. After all, it's Forth we are interested in, not C. 
	Resulting Size of the target image is approx 22Kbytes for a Linux (x86) machine and 16Kbytes
	for an ARM7 uP.
	
Portable:
	By standardizing on GCC, and the processor targets that GCC supports, there are many advantages.
	To port to a different target processor, all that is required is the modification of one
	simple header file supplying the memory map, putchar(),getchar() and initIO()
	functions, and specifying the ENDIAN'ess of the machine, also whether \n or \r is used for
	the carriage return. Then using the GCC cross-compiler tools for the target processor,
	simply re-compile, download and run ... 5 minutes work.
	
I have developed graspForth on a Linux platform, and so far, have tested it on a Philips LPC2124
uP (ARM7 based), the port to the ARM chip took less than 5-mins. I will be testing on a mips 
platform once the ENDIAN issues are finalized, .. to test a big-endian device. ( The ARM chip was 
tested with current little-endian code). 

Included in the package are two header files, one for Linux (linux.h) and one for the LPC2124 (lpc.h)
as examples for two targets. You just modify/copy one of these headers, and specify it at the 
top of graspForth.c. I have supplied a makefile for linux so you can compile and run graspForth 
out-of-the-box, but I'll leave it upto the reader to supply the makefile, loader and startup file, 
for the micro they are intending to port. (see www.gnuarm.com for ARM tools).

graspForth is not ANS-Forth, and was not intended to be, it is close though. Some notable 
differences are:
1. The "<# # #S #>" construct takes a single stack element as an argument, I did not see the 
	point of needing a 64 bit value .. since this is a 32 bit forth ;)
2. I have only included maths words that I though most useful. IE signed/unsigned versions of
	* / + - mod u/mod etc, only */ and u*/ use a 64 bit intermediate value. 
3. Lower-case words

As mention in the header of graspforth.c, if you have made any improvements/bug fixes to graspForth
please send then to me (address below) for inclusion in the next release.

Happy FORTH'ing,

Bernard Mentink
ebike-at-paradise-dot-net-dot-nz

	
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线小视频| av亚洲精华国产精华精华| 亚洲丝袜美腿综合| 国产拍欧美日韩视频二区| 久久久久国产精品麻豆ai换脸 | 欧美在线观看视频一区二区 | 日韩午夜在线播放| 日韩欧美中文字幕一区| 日韩久久久精品| 精品久久国产老人久久综合| 久久久久久麻豆| 国产精品久久久久久久久图文区| 中文字幕一区二区三中文字幕| 中文字幕在线观看不卡视频| 亚洲精品视频在线看| 亚洲韩国精品一区| 老司机精品视频导航| 国产一区二区在线影院| 国产福利精品导航| 色综合天天在线| 欧美日韩国产不卡| 久久视频一区二区| 中文字幕一区二区三区av| 一区二区在线观看免费视频播放| 午夜av一区二区| 国产乱子伦视频一区二区三区 | 69堂国产成人免费视频| 日韩欧美在线123| 国产日韩影视精品| 亚洲一区二区三区视频在线播放| 老司机精品视频在线| 国产成人精品一区二区三区四区| 91蝌蚪国产九色| 欧美大片日本大片免费观看| 欧美高清在线精品一区| 亚洲第四色夜色| 国产精品资源站在线| 欧洲一区二区三区免费视频| 精品乱人伦小说| 18涩涩午夜精品.www| 久久国产福利国产秒拍| 91美女在线观看| 国产亚洲欧美中文| 日韩国产高清在线| 在线中文字幕不卡| 欧美激情一区二区三区在线| 婷婷丁香久久五月婷婷| 99国产精品久| 久久精品夜夜夜夜久久| 日本亚洲免费观看| 欧美亚洲国产一区二区三区va| 国产欧美一区视频| 久久9热精品视频| 欧美日韩国产综合视频在线观看| 国产精品全国免费观看高清 | 国产日产欧产精品推荐色 | 欧美电影免费提供在线观看| 亚洲免费av网站| 成人精品电影在线观看| 久久久精品黄色| 久久电影网站中文字幕| 精品视频123区在线观看| 亚洲精品国产第一综合99久久| 国产成人在线视频网址| 精品国产91洋老外米糕| 蜜桃视频第一区免费观看| 欧美日韩一区在线| 亚洲午夜影视影院在线观看| 91豆麻精品91久久久久久| 日韩一区欧美小说| 色综合天天狠狠| 一区二区三区日韩在线观看| 99re这里只有精品6| 亚洲日本电影在线| 色综合色综合色综合| 亚洲免费资源在线播放| 色婷婷激情综合| 一区二区在线观看视频| 欧美三级日韩在线| 日韩中文字幕1| 91精品久久久久久久91蜜桃| 蜜臀精品久久久久久蜜臀 | 精品久久久久久综合日本欧美 | 亚洲精品在线电影| 国内精品国产成人国产三级粉色| 欧美日韩国产成人在线91| 五月天激情小说综合| 欧美福利视频导航| 免费看日韩精品| 久久综合av免费| 丁香一区二区三区| 亚洲自拍偷拍欧美| 制服丝袜亚洲色图| 激情成人午夜视频| 久久综合九色综合欧美就去吻| 国产精品18久久久久久久久 | 欧美日韩dvd在线观看| 日韩黄色免费网站| 久久久91精品国产一区二区精品| 国产凹凸在线观看一区二区| 最新久久zyz资源站| 欧美综合亚洲图片综合区| 麻豆国产精品一区二区三区 | 欧美日韩国产成人在线91| 久久精品99国产国产精| 国产欧美日韩另类一区| 欧美视频第二页| 国产一区91精品张津瑜| 亚洲精品一二三四区| 日韩精品一区二区三区在线 | 色94色欧美sute亚洲线路一久 | 色又黄又爽网站www久久| 日本欧美在线观看| 亚洲视频精选在线| 精品va天堂亚洲国产| 91丨porny丨国产| 国产中文一区二区三区| 亚洲猫色日本管| 久久久欧美精品sm网站| 色猫猫国产区一区二在线视频| 韩国女主播成人在线观看| 一区二区三区精密机械公司| 久久精品欧美一区二区三区不卡| 在线免费观看视频一区| 高清国产一区二区| 老司机精品视频在线| 一区二区在线看| 久久综合久久综合久久| 91精品国产综合久久精品性色| 91丨porny丨首页| 国产精品91xxx| 蜜桃视频免费观看一区| 精品亚洲成a人| 日韩毛片高清在线播放| 久久精品人人做人人爽人人| 欧美一级久久久久久久大片| 色哟哟在线观看一区二区三区| 国模套图日韩精品一区二区| 午夜久久久久久| 亚洲精品videosex极品| 国产精品毛片大码女人| 国产亚洲短视频| 精品成人一区二区| 26uuu久久天堂性欧美| 欧美一区二区三区啪啪| 欧美日韩免费一区二区三区 | 激情文学综合插| 天天亚洲美女在线视频| 一级精品视频在线观看宜春院| 国产日本亚洲高清| 久久久久久影视| 精品国精品自拍自在线| 精品国精品国产尤物美女| 欧美一级免费观看| 欧美一区永久视频免费观看| 欧美日韩一区二区三区在线看 | 日本三级亚洲精品| 日韩综合小视频| 日韩精品电影在线| 免费在线观看视频一区| 麻豆专区一区二区三区四区五区| 青青草国产精品97视觉盛宴| 免费在线观看成人| 狠狠色综合日日| 成人亚洲一区二区一| 成人av电影免费在线播放| 东方欧美亚洲色图在线| 一本色道综合亚洲| 欧美日韩免费一区二区三区| 欧美一激情一区二区三区| 精品国产sm最大网站免费看| 久久久国产综合精品女国产盗摄| 亚洲国产岛国毛片在线| 亚洲精品国产无套在线观| 青青草伊人久久| 国产91丝袜在线播放0| 色哟哟欧美精品| 欧美肥妇bbw| 国产欧美精品日韩区二区麻豆天美| 日本一区二区电影| 一区二区三区免费观看| 麻豆一区二区在线| 97久久超碰国产精品| 777奇米四色成人影色区| 久久婷婷成人综合色| 亚洲男人的天堂av| 麻豆国产欧美一区二区三区| 北岛玲一区二区三区四区| 欧美日韩精品一区二区三区| 久久老女人爱爱| 亚洲一区二区三区三| 国产老妇另类xxxxx| 色成年激情久久综合| 26uuuu精品一区二区| 一区二区三区日韩在线观看| 国产成人aaa| 91精品在线一区二区| 亚洲视频免费在线| 国产一区二三区好的| 欧美精品丝袜中出|