;Alto->8086 small-c compiler rev 2.0
C←CODE SEGMENT
$INCLUDE(8086LIB.D)
$INCLUDE(test125.DEC)
ASSUME CS:C←CODE, DS:C←DATA
; struct Str1 { int a, b, c, d; };
; struct Str2 { int len; int type; struct Str1 entries[10]; };
; struct Str3 { struct Str1 entries[10]; };
; Test124()
←Test124:
CALL StkChk
PUSH BP
MOV BP,SP
; {
; struct Str3 *str3;
; struct Str2 *str2;
; int *temp;
ADD SP,0FFFAX
; str2 = (struct Str2 *) (((int *) str3)-2);
; BX ← ←str3
MOV BX,[BP-2]
ADD BX,0FFFCX
; ←str2 ← BX
MOV [BP-4],BX
; temp = ((int *) str3)-2;
; BX ← ←str3
MOV BX,[BP-2]
ADD BX,0FFFCX
; ←temp ← BX
POP DX
PUSH BX
; str2 = (struct Str2 *) temp;
; BX ← ←temp
POP BX
PUSH BX
; ←str2 ← BX
MOV [BP-4],BX
; };
MOV SP,BP
POP BP
RET;
; Externals Declared Here
PUBLIC ←Test124
C←CODE ENDS
; Number of Bytes of Code = 020X, (32)