⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memmove286.asm

📁 一个通讯程序源码
💻 ASM
字号:
;+------------------------------------------------------------------; memmove386.asm;; Name;      memmove - Copies characters between objects.;; Syntax;;      void *memmove(dest, src, count);      void *dest;;      const void *src;;      size_t count;;; Description;      The memmove function copies count characters from src to;      dest.  If some regions of src and dest overlap, memmove;      ensures that the original src bytes in the overlapping;      region are copied before being overwritten.;; Return Value;      The value of dest, the destination object.;;-------------------------------------------------------------------;+:EDITS:;:09-10-1992-13:59-wht@n4hgf-ECU release 3.20;:08-22-1992-15:39-wht@n4hgf-ECU release 3.20 BETA;:09-01-1991-23:15-wht@n4hgf-convert Chip's memmove.s	TITLE   memmove286.asm	.286p	.287MEMMOVE_TEXT	SEGMENT  WORD PUBLIC 'CODE'MEMMOVE_TEXT	ENDS_DATA	SEGMENT  WORD PUBLIC 'DATA'_DATA	ENDSCONST	SEGMENT  WORD PUBLIC 'CONST'CONST	ENDS_BSS	SEGMENT  WORD PUBLIC 'BSS'_BSS	ENDSDGROUP	GROUP	CONST, _BSS, _DATA	ASSUME  CS: MEMMOVE_TEXT, DS: DGROUP, SS: DGROUPEXTRN	__chkstk:FARMEMMOVE_TEXT      SEGMENT	ASSUME	CS: MEMMOVE_TEXTdest	equ	6src	equ	10len	equ	14	PUBLIC	_memmove_memmove	PROC FAR	push	bp	mov	bp,sp	mov	ax,0	call	FAR PTR __chkstk	push	di	push	si	push	ds	mov	ax,WORD PTR [bp+src]	mov	dx,WORD PTR [bp+src+2]	mov	cx,WORD PTR [bp+len]	mov	si,ax	mov	ds,dx	les	di,DWORD PTR [bp+dest]	mov	dx,es; which way should the copy go?	mov	ax,di	sub	ax,si	jb	short mm_ascend	cmp	cx,ax	jb	short mm_ascend; descending	add	si,cx	dec	si	add	di,cx	dec	di	std	rep	movsb	cld	jmp	short mm_exit; ascendingmm_ascend:	cld	shr	cx,1	rep	movsw	adc	cx,cx	rep	movsbmm_exit:	pop	ds	pop	si	pop	di	leave		ret	_memmove  ENDP_TEXT	ENDS	end

⌨️ 快捷键说明

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