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

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

?? ifout.asm

?? [隨書類]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一区二区三区免费野_久草精品视频
日本黄色一区二区| 久久爱另类一区二区小说| av一区二区三区| 自拍偷拍欧美精品| 色婷婷久久久综合中文字幕| 亚洲婷婷在线视频| 欧美在线视频全部完| 亚洲成人午夜电影| 欧美岛国在线观看| 国产91精品欧美| 亚洲男同1069视频| 欧美精品高清视频| 国产美女娇喘av呻吟久久| 国产精品免费aⅴ片在线观看| 97精品国产露脸对白| 亚洲不卡一区二区三区| 久久午夜免费电影| 色综合色综合色综合色综合色综合| 亚洲福利一二三区| 久久午夜老司机| 色一情一乱一乱一91av| 捆绑变态av一区二区三区| 国产婷婷色一区二区三区 | 日韩精品亚洲专区| 久久久久成人黄色影片| 色欧美日韩亚洲| 麻豆传媒一区二区三区| 国产精品私人影院| 69久久夜色精品国产69蝌蚪网| 国产一区二三区| 一区二区在线观看视频在线观看| 欧美变态口味重另类| 91女人视频在线观看| 男女男精品网站| 亚洲精品五月天| 欧美精品日日鲁夜夜添| 成人伦理片在线| 日韩1区2区3区| 亚洲欧美一区二区三区国产精品| 日韩一区二区免费电影| 91在线国产福利| 国产在线一区二区| 亚洲国产精品一区二区久久恐怖片| 久久久久久久久久看片| 97aⅴ精品视频一二三区| 九九精品一区二区| 亚洲午夜免费福利视频| 亚洲国产精品高清| 欧美mv日韩mv国产网站app| 91国产免费观看| 成人精品亚洲人成在线| 久久成人免费日本黄色| 一区二区三区四区不卡视频| 亚洲国产精品黑人久久久| 精品欧美黑人一区二区三区| 欧美日韩免费电影| 91福利在线看| 97久久超碰精品国产| 成人毛片老司机大片| 国产成人精品免费| 精品中文字幕一区二区小辣椒| 日韩不卡一二三区| 亚洲成av人片在线观看无码| 亚洲女性喷水在线观看一区| 中文字幕在线一区| 欧美激情在线观看视频免费| 久久中文字幕电影| 欧美精品一区二区在线观看| 欧美一区2区视频在线观看| 欧美日韩激情一区二区三区| 在线日韩av片| 色综合久久天天| 欧美高清hd18日本| 欧美私模裸体表演在线观看| 在线观看日韩电影| 一本色道久久综合狠狠躁的推荐 | 一本久久精品一区二区| 99精品在线免费| 色悠久久久久综合欧美99| 日本韩国精品一区二区在线观看| 成人app下载| 91看片淫黄大片一级在线观看| 91在线免费看| 在线日韩一区二区| 欧美久久一二三四区| 欧美一区二区视频在线观看2022| 欧美一卡二卡在线观看| 久久婷婷国产综合国色天香| 国产人伦精品一区二区| 国产嫩草影院久久久久| 亚洲女爱视频在线| 午夜伦欧美伦电影理论片| 日韩精品色哟哟| 精品一区二区三区免费播放| 国产在线精品一区二区三区不卡 | 国产成人午夜电影网| 丁香桃色午夜亚洲一区二区三区| 成人免费观看男女羞羞视频| 91黄视频在线观看| 欧美一卡二卡在线| 国产日韩欧美亚洲| 亚洲精品福利视频网站| 日韩精品视频网| 国产v日产∨综合v精品视频| 91猫先生在线| 日韩一区二区三区av| 国产精品久久久久aaaa| 亚洲一本大道在线| 久久99最新地址| 91香蕉国产在线观看软件| 欧美日韩极品在线观看一区| 久久免费精品国产久精品久久久久| 中文字幕高清不卡| 亚洲3atv精品一区二区三区| 国产一区二区免费看| 色综合天天狠狠| 精品美女一区二区| 亚洲美女免费视频| 美国三级日本三级久久99| 成人app下载| 日韩精品自拍偷拍| 日韩美女视频一区二区| 麻豆成人久久精品二区三区小说| 成人av动漫网站| 日韩精品中文字幕一区| 亚洲免费在线视频一区 二区| 蜜桃一区二区三区在线观看| 91在线看国产| 国产欧美一区二区精品久导航 | 337p亚洲精品色噜噜狠狠| 欧美韩国日本不卡| 美女视频黄 久久| 91在线视频免费91| 久久久影视传媒| 日日摸夜夜添夜夜添亚洲女人| 成人开心网精品视频| 26uuu色噜噜精品一区二区| 亚洲一区二区在线观看视频| 国产精品18久久久久久久网站| 欧美日韩aaaaa| 亚洲免费资源在线播放| 国产激情一区二区三区桃花岛亚洲| 欧美日韩国产影片| 一区二区三区四区在线免费观看| 国产成人在线网站| 欧美电影免费观看高清完整版在线观看| 亚洲黄网站在线观看| av在线不卡免费看| 国产农村妇女精品| 国产在线观看一区二区| 欧美一区二区三区在| 日日摸夜夜添夜夜添亚洲女人| 一本大道久久精品懂色aⅴ| 国产精品每日更新| 国产激情一区二区三区四区| 久久综合色天天久久综合图片| 秋霞av亚洲一区二区三| 欧美日本高清视频在线观看| 亚洲国产视频a| 91成人在线免费观看| 夜夜嗨av一区二区三区中文字幕| 97国产精品videossex| 亚洲欧洲国产日韩| av午夜一区麻豆| 中文字幕av不卡| 春色校园综合激情亚洲| 中文字幕 久热精品 视频在线| 国产精品综合一区二区| 久久久www成人免费无遮挡大片| 九色综合国产一区二区三区| 久久一日本道色综合| 国产自产视频一区二区三区| 精品国产乱码久久久久久图片| 精品一区二区在线视频| 久久蜜桃av一区二区天堂| 国产精品亚洲一区二区三区在线| 久久久久国产精品免费免费搜索| 国产a视频精品免费观看| 中文字幕av一区二区三区免费看 | 欧美中文字幕一二三区视频| 一区二区在线观看不卡| 精品视频1区2区| 日韩国产欧美在线播放| 精品久久久三级丝袜| 国产精一区二区三区| 日韩伦理电影网| 欧美性生交片4| 蜜臀av一区二区在线观看 | 国产精品初高中害羞小美女文| 成年人网站91| 亚洲一区二区在线免费观看视频| 欧美一区二区三区在线观看视频 | 中文字幕一区二区在线播放 | 国产a级毛片一区| 成人免费在线观看入口| 欧美视频日韩视频在线观看| 免费美女久久99| 国产欧美一区二区三区鸳鸯浴| 色综合天天综合给合国产| 婷婷亚洲久悠悠色悠在线播放 |