em_fef8.s

来自「操作系统源代码」· S 代码 · 共 57 行

S
57
字号
.sect .text; .sect .rom; .sect .data; .sect .bss.define .fef8	.sect .text.fef8:				! this could be simpler, if only the				! fxtract instruction was emulated properly	mov	bx,sp	mov	ax,12(bx)	and	ax,0x7ff00000	je	1f		! zero exponent	shr	ax,20	sub	ax,1022	mov	cx,ax		! exponent in cx	mov	ax,12(bx)	and	ax,0x800fffff	or	ax,0x3fe00000	! load -1 exponent	mov	dx,8(bx)	mov	bx,4(bx)	mov	4(bx),dx	mov	8(bx),ax	mov	(bx),cx	ret1:				! we get here on zero exp	mov	ax,12(bx)	and	ax,0xfffff	or	ax,8(bx)	jne	1f		! zero result	mov	bx,4(bx)	mov	(bx),ax	mov	4(bx),ax	mov	8(bx),ax	ret1:				! otherwise unnormalized number	mov	cx,12(bx)	and	cx,0x800fffff	mov	dx,cx	and	cx,0x80000000	mov	ax,-10212:	test	dx,0x100000	jne	1f	dec	ax	shl	8(bx),1	rcl	dx,1	or	dx,cx	jmp	2b1:	and	dx,0x800fffff	or	dx,0x3fe00000	! load -1 exponent	mov	cx,8(bx)	mov	bx,4(bx)	mov	(bx),ax	mov	8(bx),dx	mov	4(bx),cx	ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?