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

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

?? ifout.asm

?? Microsoft MS-DOS6.0 完整源代碼
?? ASM
字號:
	TITLE	IFOUT - Integer Free-format numeric output
;***
; IFOUT - Integer Free-format numeric output
;
;	Copyright <C> 1986, Microsoft Corporation
;
;Purpose:
;	Integer only versions of the routines in FOUT.ASM.  These routines
;	will call the floating point versions only if the floating point
;	versions have been linked in.  This prevents a print statement from
;	automatically pulling in the math pack.
;
;******************************************************************************
	INCLUDE switch.inc
	INCLUDE rmacros.inc

	USESEG _DATA
	USESEG _BSS
	USESEG MT_TEXT

	INCLUDE seg.inc
	INCLUDE rtps.inc


sBegin	_DATA


	externB B$AC		;Floating accumulator
sEnd	_DATA

sBegin	_BSS
	externB b$VTYP

	;NOTE: The buffer consists of b$SIGN, b$FOBUF, and BUFFER_END
	;NOTE: I.E. the buffer is 36 bytes long

	globalB b$SIGN,,1	;Sign of Value returned from B$CONASC
	globalB b$FOBUF,,34	;Numeric output buffer (integer + floating)
	staticB BUFFER_END,,1	;Last byte of buffer
sEnd	_BSS


sBegin	MT_TEXT
	assumes CS,MT_TEXT

	externNP B$ERR_FC


	externNP B$FloatFOUTBX	

;***
;B$IFOUT - Free-format numeric output (FAR interface)
;
;Purpose:
;	Format number for printing, using BASIC's formatting rules.
;Entry:
;	BX = ptr to Number to be formatted
;	AL = Val type - VT_I2, VT_I4, VT_R4, VT_R8 or VT_CY
;Exit:
;	BX = Address of ASCII string, terminated by 00
;	AX = Length of string (not including terminating 00)
;Uses:
;	Per convention. (DS, ES, SI, DI, BP preserved. PSW.D clear)
;Exceptions:
;	None
;****
cProc	B$IFOUT,<PUBLIC,FAR>,<BP>
cBegin
	MOV	[b$VTYP],AL
	cCall	B$FOUTBX	;call common fouter
cEnd


;***
;B$FOUTBX - Free-format numeric output
;
;Purpose:
;	Format number for printing, using BASIC's formatting rules.
;
;Entry:
;	BX = ptr to Number to be formatted
;	[b$VTYP] = VT_I2, or  VT_I4
;
;Exit:
;	BX = Address of ASCII string, terminated by 00
;	AX = Length of string (not including terminating 00)
;
;Uses:
;	Per convention.
;
;Exceptions:
;	B$ERR_FC if invalid b$VTYP.
;****

cProc	B$FOUTBX,<PUBLIC,NEAR>	;NOTE: Prolog doesn't put anything on stack
cBegin

	MOV	AX,[BX] 	;AX = low word of I4 or I2
	CWD			;Assume I2 (and convert to I4)
	CMP	b$VTYP,VT_I2	; Is it an I2
	JE	Got_Num 	;Yes, check if negative
	CMP	b$VTYP,VT_I4	; Is it an I4
	JNE	FloatingFoutBX	;No, pass it on to the floating point fout.
	MOV	DX,[BX+2]	;DX = High word of I4
Got_Num:
	XOR	BX,BX	;Get a Zero
	XCHG	AX,DX	;AX:DX = I4
	MOV	CL,' '	;Assume that number is positive
	AND	AX,AX	;Check for positive
	JGE	Positive	;It is!
	MOV	CL,'-'	;Flag it as a negative number
	NEG	DX	;And convert it to positive
	ADC	AX,BX	;Add in carry (BX = 0)
	NEG	AX
Positive:
	PUSH	SI	;Preserve original SI
	PUSH	CX	;Save Sign for later
	MOV	SI,OFFSET DGROUP:BUFFER_END
	MOV	BYTE PTR [SI],BL ;Zero Terminate the buffer.
	PUSH	SI	;Save this value for later
	MOV	CX,10	;Dividing by 10

Div_Loop:
	PUSH	DX	;Save Low part of I4
	XOR	DX,DX	;DX:AX = High Word of I4 (extended to 4 bytes)
	DIV	CX	;DX = Remainder, AX = Quotent
	POP	BX	;Restore Low part of I4
	XCHG	AX,BX	;DX:AX = Low Word of I4,  BX = High Quotent
	DIV	CX
	XCHG	AX,DX	;AX = Remainder of I4/10, BX:DX = Quotent of I4/10
	ADD	AL,"0"	;adjust for ASCII
	DEC	SI
	MOV	BYTE PTR [SI],AL
	MOV	AX,BX	;AX:DX = I4 again
	OR	BX,DX	;Are we done yet?
	JNZ	Div_Loop	;Nope, get next digit.
;
;Finish up
;

	POP	AX	;Restore starting point
	SUB	AX,SI	;AX = # digits
	POP	CX	;Restore Sign
	DEC	SI
	MOV	BYTE PTR [SI],CL;Put sign on number
	MOV	BX,SI	;BX = Start of string
	INC	AX	;Include sign in count
	POP	SI	;Restore original SI
cEnd

FloatingFoutBX:
	JMP	B$FloatFOUTBX	; Call the routine directly

;***
; B$ASCRND - Round ASCII digits
;
;Purpose:
;	Round number to the specified number of digits. Eliminate trailing
;	zeros from digit count.
;
;Inputs:
;	AL = Number of digits wanted
;	CX = Number of digits presently in number
;	DX = Base 10 exponent (D.P. to right of digits)
;	SI = Address of first digit
;
;Outputs:
;	CX = Number of digits now in number (always <= request)
;	DX = Base 10 exponent of rounded number
;	SI = Address of first digit of rounded number
;	DI = Address of formatting buffer, b$FOBUF
;
;Registers:
;	Only ES, BX, BP preserved.
;****
cProc	B$ASCRND,<NEAR,PUBLIC>,<ES>
cBegin

	PUSH	DS		;ES=DS
	POP	ES
	MOV	DI,SI
	CBW			;Zero AH (AL <= 18)
	ADD	DI,CX		;Point past last digit
	CMP	AX,CX		;Any extra digits?
	JAE	ZSCAN		;If not, no rounding
	XCHG	AX,CX		;Say we'll return number requested
	SUB	AX,CX		;See how many digits we're trimming
	ADD	DX,AX		;Increase exponent accordingly
	SUB	DI,AX		;Point to first extra digit
	MOV	AL,"0"
	XCHG	AL,[DI] 	;Get rounding digit and replace it with zero
	CMP	AL,"5"		;Do we need to round?
	JB	ZSCAN
	JCXZ	RNDALL
RND:
	DEC	DI		;Point to digit to round
	MOV	AL,[DI] 	;Get a digit that needs incrementing
	INC	AL
	CMP	AL,"9"+1	;Did we overflow this digit position?
	JB	STORND		;If not, store it and we're done
	INC	DX		;Otherwise exponent must be adjusted
	LOOP	RND		;We'll need to round next digit
RNDALL:
	INC	CX		;Must have at least one digit
	MOV	AL,"1"		;If we rounded all digits, must be to 1
STORND:
	STOSB			;Save rounded digit
ZSCAN:
;DI points just past the digits we want. Check for trailing zeros.
	DEC	DI		;Point to last digit
	MOV	AH,CL		;Remember how many digits we started with
	MOV	AL,"0"
	STD			;Scan DOWN
	REPE	SCASB		;Scan for "0"s
	CLD			;Restore direction UP
	INC	CX		;Number of digits left
	SUB	AH,CL		;Number of digits skipped
	ADD	DL,AH		;Increase base 10 exponent accordingly
	ADC	DH,0
	MOV	DI,OFFSET DGROUP:b$FOBUF
cEnd

sEnd	MT_TEXT
	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人精品午夜| 五月天一区二区| 亚洲免费在线视频| 亚洲一区二区中文在线| 日本午夜精品一区二区三区电影| 狠狠色狠狠色综合日日91app| caoporen国产精品视频| 欧美日韩国产大片| 国产日韩精品一区二区浪潮av| 国产精品久久久久久久裸模| 亚欧色一区w666天堂| 久久精品国产亚洲aⅴ| 97超碰欧美中文字幕| 日韩一区二区精品| 亚洲精品中文在线| 亚洲综合视频在线观看| 国产在线看一区| 欧美熟乱第一页| 欧美激情一区二区三区不卡| 一区二区不卡在线播放| 粉嫩绯色av一区二区在线观看| 91影院在线免费观看| 欧美大黄免费观看| 亚洲高清中文字幕| 99精品欧美一区二区三区小说| 精品国产乱码久久久久久1区2区| 亚洲激情校园春色| 成人夜色视频网站在线观看| 欧美一区三区四区| 亚洲一二三四在线| 成人毛片在线观看| 久久影院午夜片一区| 日韩精品一卡二卡三卡四卡无卡| 色综合一个色综合亚洲| 国产精品麻豆久久久| 精品亚洲欧美一区| 日韩一区二区三区在线观看| 亚洲成人777| 在线亚洲人成电影网站色www| 久久综合色婷婷| 日本在线不卡视频| 日韩一区二区麻豆国产| 午夜久久久影院| 911精品国产一区二区在线| 亚洲精品免费播放| 色一情一乱一乱一91av| 亚洲视频综合在线| 91在线精品秘密一区二区| 日韩欧美国产午夜精品| 久久精品国产亚洲5555| 日韩一区二区三区视频在线观看| 亚洲另类在线一区| 精品视频一区三区九区| 午夜久久电影网| 51精品国自产在线| 久久99国产精品尤物| 欧美电影免费观看高清完整版| 日韩va亚洲va欧美va久久| 91精品国产一区二区人妖| 免费成人小视频| 欧美成人性战久久| 国产美女精品在线| 国产精品九色蝌蚪自拍| 色综合夜色一区| 亚洲成a人片在线观看中文| 91精品中文字幕一区二区三区| 一区二区三区中文字幕| 欧美日韩午夜在线视频| 日韩 欧美一区二区三区| 欧美sm美女调教| 国产成人精品亚洲日本在线桃色 | 日本午夜一本久久久综合| 色女孩综合影院| 日韩精彩视频在线观看| 久久久影视传媒| 97超碰欧美中文字幕| 天堂av在线一区| 日韩欧美亚洲另类制服综合在线| 粉嫩aⅴ一区二区三区四区五区 | 亚洲电影一级黄| 欧美老肥妇做.爰bbww视频| 免费成人性网站| 中文一区一区三区高中清不卡| 成人h动漫精品一区二| 午夜精品久久久久影视| 国产亚洲精久久久久久| 欧美婷婷六月丁香综合色| 蜜乳av一区二区| 国产精品久线在线观看| 91精品国产欧美日韩| 成人黄色在线视频| 视频精品一区二区| 中文字幕欧美三区| 91精品国产入口| 91社区在线播放| 久久激五月天综合精品| 一区二区久久久久| 久久亚洲综合av| 欧美另类变人与禽xxxxx| 国产91在线观看丝袜| 免费在线观看一区二区三区| 中文字幕在线观看不卡| 欧美一级专区免费大片| 在线观看国产日韩| www.欧美日韩国产在线| 激情文学综合插| 国产精品国产三级国产| 久久综合色8888| 正在播放一区二区| 91精品福利在线| 国产白丝网站精品污在线入口| 日本vs亚洲vs韩国一区三区二区| 亚洲激情五月婷婷| 国产精品国产精品国产专区不片| 精品国产髙清在线看国产毛片| 欧美性欧美巨大黑白大战| 丁香五精品蜜臀久久久久99网站| 免费av成人在线| 性久久久久久久久| 亚洲综合色视频| 亚洲美女视频一区| 久久久久高清精品| 欧美成人a∨高清免费观看| 欧美日韩精品三区| 欧美色网一区二区| 在线观看网站黄不卡| 91社区在线播放| 91视视频在线直接观看在线看网页在线看 | 欧美一区二区三区电影| 欧美亚洲国产怡红院影院| 91官网在线观看| 一本大道av一区二区在线播放| www.亚洲免费av| 欧美三级三级三级| 欧美zozo另类异族| 中文字幕在线一区免费| 亚洲最新视频在线观看| 免费黄网站欧美| 风间由美一区二区av101| 在线视频一区二区三| 7878成人国产在线观看| 久久免费精品国产久精品久久久久| 中文一区二区在线观看| 亚洲午夜成aⅴ人片| 国内外精品视频| 欧美中文字幕一区二区三区| 欧美一级片在线看| 国产精品福利影院| 亚洲图片欧美综合| 国产成人久久精品77777最新版本| 91日韩在线专区| 欧美va亚洲va在线观看蝴蝶网| 国产精品麻豆视频| 欧美96一区二区免费视频| av成人老司机| 日韩精品一区二区三区三区免费| 中文字幕一区在线观看视频| 日韩电影一区二区三区| jlzzjlzz亚洲日本少妇| 欧美一区二区三区免费视频| 中文字幕一区二区三区蜜月| 蜜臀久久99精品久久久久宅男| 色综合久久久久| 国产性色一区二区| 美女视频第一区二区三区免费观看网站| 成人av电影免费观看| 久久午夜免费电影| 日日夜夜免费精品视频| 色香蕉成人二区免费| 国产蜜臀av在线一区二区三区| 日本欧美一区二区三区乱码| 色哟哟在线观看一区二区三区| 久久久久久久久久久久电影| 欧美aaa在线| 欧美日韩亚洲丝袜制服| 亚洲精品欧美在线| 播五月开心婷婷综合| 久久久亚洲欧洲日产国码αv| 三级影片在线观看欧美日韩一区二区| 99国产精品国产精品毛片| 国产清纯白嫩初高生在线观看91| 免费成人在线观看视频| 88在线观看91蜜桃国自产| 一区二区三区欧美亚洲| 91在线视频观看| 1区2区3区国产精品| 成人av动漫在线| 国产精品视频线看| 国产精品一色哟哟哟| 精品国产一区二区三区久久影院| 日韩精品高清不卡| 欧美日韩高清影院| 亚洲不卡一区二区三区| 欧美三级视频在线| 午夜亚洲国产au精品一区二区| 欧美日韩精品欧美日韩精品一| 亚洲尤物在线视频观看| 91福利精品第一导航| 亚洲自拍另类综合| 欧美日韩色综合|