Category : C++ Source Code
Archive   : VCCRT1.ZIP
Filename : VC1HNF.ASM

 
Output of file : VC1HNF.ASM contained in archive : VCCRT1.ZIP
; /***
; *vecctor1.cxx - C++ class-with-virtual-base-constructor helpers
; *
; * Copyright (c) 1991-1992, Microsoft Corporation. All rights reserved.
; *
; *Purpose:
; *
; * NOTE: The helper routines produced by this source must have
; * special names (i.e., not the "normal" C++ naming scheme). Thus,
; * the build process involves producing .asm files, sed scripts, etc.
; *
; *******************************************************************************/
;
; #include
;
; // tm this model ::= __near | __far | __huge
; // cm ctor call model ::= __near | __far
; // ctm ctor this model ::= __near | __far
; // vcm __vec_ctor call model ::= __near | __far
; // nelems_t #elements type ::= ptrdiff_t | long
;
; typedef void (pascal cm* ctorClassWithVBs)(short one, void ctm* this_);
;
; void pascal vcm vec_ctor1(void tm* this_, size_t size, nelems_t eltCount,
; void (pascal cm* ctor)(void ctm* this_))
; {
; while (--eltCount >= 0) {
; (*(ctorClassWithVBs)ctor)(1, this_);
; this_ = (char tm*)this_ + size;
; }
; }

TITLE vecctor1.cxx
.8087
_TEXT SEGMENT WORD PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT WORD PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT WORD PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT WORD PUBLIC 'BSS'
_BSS ENDS
DGROUP GROUP CONST, _BSS, _DATA
ASSUME DS: DGROUP, SS: DGROUP
EXTRN __AHSHIFT:FAR
_TEXT SEGMENT
ASSUME CS: _TEXT
PUBLIC ??_J@ZCXPIXIJP6CXPEX@Z@Z
??_J@ZCXPIXIJP6CXPEX@Z@Z PROC FAR
push bp
mov bp,sp
push di
push si
mov si,WORD PTR [bp+12]
mov di,WORD PTR [bp+6]
$FC339:
sub WORD PTR [bp+8],1
sbb WORD PTR [bp+10],0
cmp WORD PTR [bp+10],0
jl $EX337
mov ax,1
push ax
push WORD PTR [bp+16]
push WORD PTR [bp+14]
call di
sub ax,ax
sub dx,dx
mov cx,si
add WORD PTR [bp+14],cx
adc dx,ax
mov cx,OFFSET __AHSHIFT
shl dx,cl
add WORD PTR [bp+16],dx
jmp SHORT $FC339
$EX337:
pop si
pop di
mov sp,bp
pop bp
ret 12

??_J@ZCXPIXIJP6CXPEX@Z@Z ENDP
_TEXT ENDS
END



  3 Responses to “Category : C++ Source Code
Archive   : VCCRT1.ZIP
Filename : VC1HNF.ASM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/