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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? arith2.asm

?? 匯編編程藝術(shù)
?? ASM
字號(hào):
; ARITH2.ASM
;
; A simple floating point calculator that demonstrates the use of the
; UCR Standard Library pattern matching routines.  Note that this
; program requires an FPU.

		.xlist
		.386
		.387
		option		segment:use16
		include 	stdlib.a
		includelib	stdlib.lib
		matchfuncs
		.list


dseg		segment	para public 'data'

; The following is a temporary used when converting a floating point
; string to a 64 bit real value.

CurValue	real8	0.0


; Some sample strings containing expressions to try out:


Str1		byte	"5+2*(3-1)",0
Str2		byte	"(5+2)*(7-10)",0
Str3		byte	"5",0
Str4		byte	"(6+2)/(5+1)-7e5*2/1.3e2+1.5",0
Str5		byte	"2.5*(2-(3+1)/4+1)",0
Str6		byte	"6+(-5*2)",0
Str7		byte	"6*-1",0
Str8		byte	"1.2e5/2.1e5",0
Str9		byte	"0.9999999999999999+1e-15",0
str10		byte	"2.1-1.1",0


; Grammar for simple infix -> postfix translation operation:
; Semantic rules appear in braces.
;
; E -> FE' {print result}
; E' -> +F {fadd} E' | -F {fsub} E' | <empty string>
; F -> TF'
; F -> *T {fmul} F' | /T {fdiv} F' | <empty string>
; T -> -T {fchs} | S
; S -> <constant> {fld constant} | (E)
;
;
;
; UCR Standard Library Pattern which handles the grammar above:

; An expression consists of an "E" item followed by the end of the string:

Expression	pattern	{sl_Match2,E,,EndOfString}
EndOfString	pattern	{EOS}


; An "E" item consists of an "F" item optionally followed by "+" or "-"
; and another "E" item:

E		pattern	{sl_Match2, F,,Eprime}
Eprime		pattern	{MatchChar, '+', Eprime2, epf}
epf		pattern	{sl_Match2, F,,epPlus}
epPlus		pattern	{DoFadd,,,Eprime}

Eprime2		pattern	{MatchChar, '-', Succeed, emf}
emf		pattern	{sl_Match2, F,,epMinus}
epMinus		pattern	{DoFsub,,,Eprime}

; An "F" item consists of a "T" item optionally followed  by "*" or "/"
; followed by another "T" item:

F		pattern	{sl_Match2, T,,Fprime}
Fprime		pattern	{MatchChar, '*', Fprime2, fmf}
fmf		pattern	{sl_Match2, T, 0, pMul}
pMul		pattern	{DoFmul,,,Fprime}

Fprime2		pattern	{MatchChar, '/', Succeed, fdf}
fdf		pattern	{sl_Match2, T, 0, pDiv}
pDiv		pattern	{DoFdiv, 0, 0,Fprime}

; T item consists of an "S" item or a "-" followed by another "T" item:

T		pattern	{MatchChar, '-', S, TT}
TT		pattern	{sl_Match2, T, 0,tpn}
tpn		pattern	{DoFchs}

; An "S" item is either a floating point constant or "(" followed by
; and "E" item followed by ")".
;
; The regular expression for a floating point constant is
;
;	[0-9]+ ( "." [0-9]* | ) ( ((e|E) (+|-| ) [0-9]+) | )
;
; Note: the pattern "Const" matches exactly the characters specified
;	by the above regular expression.  It is the pattern the calc-
;	ulator grabs when converting a string to a floating point number.


Const		pattern	{sl_match2, ConstStr, 0, FLDConst}
ConstStr	pattern	{sl_match2, DoDigits, 0, Const2}
Const2		pattern	{matchchar, '.', Const4, Const3}
Const3		pattern	{sl_match2, DoDigits, Const4, Const4}
Const4		pattern	{matchchar, 'e', const5, const6}
Const5		pattern	{matchchar, 'E', Succeed, const6}
Const6		pattern	{matchchar, '+', const7, const8}
Const7		pattern	{matchchar, '-', const8, const8}
Const8		pattern	{sl_match2, DoDigits}

FldConst	pattern	{PushValue}

; DoDigits handles the regular expression [0-9]+

DoDigits	pattern	{Anycset, Digits, 0, SpanDigits}
SpanDigits	pattern	{Spancset, Digits}

; The S production handles constants or an expression in parentheses.

S		pattern	{MatchChar, '(', Const, IntE}
IntE		pattern	{sl_Match2, E, 0, CloseParen}
CloseParen	pattern	{MatchChar, ')'}


; The Succeed pattern always succeeds.

Succeed		pattern	{DoSucceed}


; We use digits from the UCR Standard Library cset standard sets.

		include	stdsets.a

dseg		ends



cseg		segment	para public 'code'
		assume	cs:cseg, ds:dseg

; DoSucceed matches the empty string.  In other words, it matches anything
; and always returns success without eating any characters from the input
; string.

DoSucceed	proc	far
		mov	ax, di
		stc
		ret
DoSucceed	endp


; DoFadd - Adds the two items on the top of the FPU stack.

DoFadd		proc	far
		faddp	st(1), st
		mov	ax, di			;Required by sl_Match
		stc				;Always succeed.
		ret
DoFadd		endp


; DoFsub - Subtracts the two values on the top of the FPU stack.

DoFsub		proc	far
		fsubp	st(1), st
		mov	ax, di			;Required by sl_Match
		stc
		ret
DoFsub		endp


; DoFmul- Multiplies the two values on the FPU stack.

DoFmul		proc	far
		fmulp	st(1), st
		mov	ax, di			;Required by sl_Match
		stc
		ret
DoFmul		endp


; DoFdiv- Divides the two values on the FPU stack.

DoFDiv		proc	far
		fdivp	st(1), st
		mov	ax, di			;Required by sl_Match
		stc
		ret
DoFDiv		endp


; DoFchs- Negates the value on the top of the FPU stack.

DoFchs		proc	far
		fchs
		mov	ax, di			;Required by sl_Match
		stc
		ret
DoFchs		endp


; PushValue-	We've just matched a string that corresponds to a
;		floating point constant.  Convert it to a floating
;		point value and push that value onto the FPU stack.

PushValue	proc	far
		push	ds
		push	es
		pusha
		mov	ax, dseg
		mov	ds, ax

		lesi	Const		;FP val matched by this pat.
		patgrab			;Get a copy of the string.
		atof			;Convert to real.
		free			;Return mem used by patgrab.
		lesi	CurValue	;Copy floating point accumulator
		sdfpa			; to a local variable and then
		fld	CurValue	; copy that value to the FPU stk.

		popa
		mov	ax, di
		pop	es
		pop	ds
		stc
		ret
PushValue	endp



; DoExp-	This routine expects a pointer to a string containing
;		an arithmetic expression in ES:DI.  It evaluates the
;		given expression and prints the result.

DoExp		proc	near
		finit			;Be sure to do this!
		fwait

		puts			;Print the expression

		ldxi	Expression
		xor	cx, cx
		match
		jc	GoodVal
		printff
		byte	" is an illegal expression",cr,lf,0
		ret

GoodVal:	fstp	CurValue
		printff
		byte	" = %12.6ge\n",0
		dword	CurValue
		ret
DoExp		endp



; The main program tests the expression evaluator.

Main		proc
		mov	ax, dseg
		mov	ds, ax
		mov	es, ax
		meminit

		lesi	Str1
		call	DoExp
		lesi	Str2
		call	DoExp
		lesi	Str3
		call	DoExp
		lesi	Str4
		call	DoExp
		lesi	Str5
		call	DoExp
		lesi	Str6
		call	DoExp
		lesi	Str7
		call	DoExp
		lesi	Str8
		call	DoExp
		lesi	Str9
		call	DoExp
		lesi	Str10
		call	DoExp

Quit:		ExitPgm
Main		endp

cseg		ends

sseg		segment	para stack 'stack'
stk		db	1024 dup ("stack   ")
sseg		ends

zzzzzzseg	segment	para public 'zzzzzz'
LastBytes	db	16 dup (?)
zzzzzzseg	ends
		end	Main

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级视频精品观看| 日韩精品91亚洲二区在线观看| 精品一区二区三区日韩| 欧美一区二区网站| 久久精品99久久久| 久久婷婷综合激情| 成人免费av在线| 有码一区二区三区| 欧美自拍偷拍一区| 视频一区中文字幕| 日韩三级在线免费观看| 国产毛片一区二区| 亚洲欧美日韩中文播放| 欧美精品v日韩精品v韩国精品v| 日本不卡一二三区黄网| 欧美激情一区三区| 色噜噜狠狠色综合欧洲selulu| 亚洲福利国产精品| 久久久www免费人成精品| 91色综合久久久久婷婷| 久久99国产精品成人| 国产精品白丝在线| 日韩视频在线观看一区二区| 成人激情午夜影院| 亚洲成av人综合在线观看| 中文字幕在线不卡一区二区三区| 欧美一级专区免费大片| av网站免费线看精品| 蜜臂av日日欢夜夜爽一区| 玉足女爽爽91| 亚洲欧美综合另类在线卡通| 亚洲男同性恋视频| 日韩在线播放一区二区| 国产精品嫩草99a| 久久久久久久综合色一本| 欧美日本在线观看| 91久久一区二区| 国产高清一区日本| 国产乱子伦一区二区三区国色天香| 一区二区三区日韩欧美| 国产精品电影一区二区| 精品久久国产字幕高潮| 91精品国产高清一区二区三区蜜臀 | 日本高清免费不卡视频| 成人免费视频视频| 国产v综合v亚洲欧| 国产一区二区不卡在线| 极品尤物av久久免费看| 麻豆freexxxx性91精品| 黑人精品欧美一区二区蜜桃 | caoporn国产一区二区| 国产精品99久久久久久宅男| 国产一区二区三区在线观看免费 | 欧美三级蜜桃2在线观看| 欧美视频在线一区二区三区| 欧洲人成人精品| 日韩视频在线观看一区二区| 26uuu亚洲综合色| 国产欧美精品一区二区三区四区| 国产精品午夜在线| 亚洲自拍偷拍av| 国产一区在线不卡| 日本精品裸体写真集在线观看| 欧美三级中文字幕| 久久亚洲综合色| 亚洲一区二区综合| 国产中文字幕精品| 色悠久久久久综合欧美99| 欧美日韩在线观看一区二区| 欧美电影免费观看完整版| 国产精品久久毛片av大全日韩| 亚洲mv在线观看| 国产v综合v亚洲欧| 国产婷婷一区二区| 亚洲一区二区三区四区五区中文 | 亚洲视频电影在线| 国产一区二区三区免费| 欧美性受xxxx| 日韩理论片一区二区| 久久99精品国产.久久久久| 欧美三区免费完整视频在线观看| 国产欧美在线观看一区| 青青青伊人色综合久久| 色婷婷综合在线| 中文字幕不卡三区| 国产a视频精品免费观看| 欧美一区2区视频在线观看| 一区二区高清视频在线观看| 国产精品一区二区男女羞羞无遮挡 | 中文字幕一区av| 国产精品中文字幕日韩精品| 日韩欧美一区二区在线视频| 一区二区不卡在线播放| 91尤物视频在线观看| 国产精品电影一区二区| 成人久久久精品乱码一区二区三区| 欧美精品一区二区三区很污很色的| 天堂av在线一区| 91精品国产一区二区| 日韩精品一区第一页| 欧美一区永久视频免费观看| 日韩高清欧美激情| 欧美xxx久久| 97精品久久久午夜一区二区三区| 中文字幕一区在线观看视频| 不卡视频在线看| 一区二区三区四区不卡在线 | 一区二区三区欧美久久| 欧美久久久久久蜜桃| 免费观看在线综合色| 欧美精品一区二区精品网| 成人午夜在线播放| 性做久久久久久免费观看欧美| 日韩一级精品视频在线观看| 国产精品一二三四五| 日本中文在线一区| 国产日韩欧美在线一区| 欧美日韩一区高清| 成人高清免费观看| 蜜桃传媒麻豆第一区在线观看| 中文字幕欧美激情一区| 欧美日韩国产一二三| 成人午夜av电影| 久久99热99| 免费成人在线网站| 亚洲一区二区成人在线观看| 久久综合网色—综合色88| 欧美午夜寂寞影院| 91浏览器入口在线观看| 高清不卡在线观看| 国产一区999| 六月丁香婷婷久久| 青青草精品视频| 日韩中文欧美在线| 亚洲国产一区二区a毛片| 国产精品免费久久| 国产欧美精品日韩区二区麻豆天美| 91精品国产综合久久久久| 91在线观看免费视频| 成人国产电影网| 成人动漫av在线| 99久久99精品久久久久久| 粉嫩av亚洲一区二区图片| 久久99精品一区二区三区| 日韩不卡一区二区| 激情综合网最新| 国产精品一区2区| 9l国产精品久久久久麻豆| 成人精品高清在线| voyeur盗摄精品| 欧美日韩一级视频| 日韩亚洲电影在线| 精品捆绑美女sm三区| 精品三级av在线| 中文成人av在线| 亚洲综合视频网| 日韩 欧美一区二区三区| 久久电影国产免费久久电影| 精品在线观看免费| 波多野洁衣一区| 欧美电影影音先锋| 国产欧美一区二区精品性色超碰| 中文字幕av一区二区三区免费看| 亚洲美女屁股眼交3| 亚洲成人先锋电影| 国产a区久久久| 久久久久久久网| 日韩电影免费一区| 国产91在线观看| 日韩午夜中文字幕| 综合激情网...| 精品一区二区三区在线观看| 91在线播放网址| 国产日韩欧美精品一区| 亚洲一区二区av在线| 成人毛片视频在线观看| 久久这里只有精品6| 日本视频免费一区| 欧美午夜片在线观看| 国产欧美精品一区二区色综合| 奇米影视在线99精品| 欧美性猛交xxxx黑人交| 免费久久99精品国产| 欧美综合亚洲图片综合区| 国产精品二三区| 成人性生交大片免费看中文| 久久午夜羞羞影院免费观看| 五月婷婷欧美视频| 欧美丰满一区二区免费视频| 亚洲男同性恋视频| 91国产免费看| 亚洲国产综合91精品麻豆 | 丝袜a∨在线一区二区三区不卡| 色综合色综合色综合| 亚洲日本青草视频在线怡红院| 成年人国产精品| 一区二区三区丝袜| 777亚洲妇女| 日韩高清在线电影| 久久众筹精品私拍模特|