[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

LM

5/11/2005 9:59:00 AM

îÁÒÏÄ, ÐÙÔÁÀÓØ ÎÁÐÉÓÁÔØ ×ÎÅÛÎÀÀ ÐÒÏÃÅÄÕÒÕ Assembler, ×ÙÚÙ×ÁÅÍÕÀÀ ÉÚ óÉ.
åÓÔØ ÔÁËÏÊ ÕÐÒÏÛÅÎÎÙÊ ËÏÄ ÐÒÏÃÅÄÕÒÙ:
==================================
MASM
..386
..MODEL SMALL
..CODE
PUBLIC _diving
_diving PROC WINDOWS C
ARG a:BYTE, b:BYTE, c:BYTE, d:BYTE RETURNS sum
USES BX, CX, DX, SP, DS, SS, BP
LOCAL sum:WORD
MOV AX, 10h
MOV sum, AX
RET
_diving endp
END
==================================

É ×ÙÚÙ×ÁÀÝÅÊ ÜÔÕ ÐÒÏÃÅÄÕÒÕ óÉ-ÐÒÏÇÒÁÍÍÙ:

==================================
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <bios.h>

void proverka(short int *b, float min, float max);
extern int diving(short int a, short int b, short int c, short int d);

main()
{
short int a,b,c,d;
do
{
a=b=c=d=0;
textcolor(10);
textbackground(1);
clrscr();
printf("Vvedite a,b,c,d ot -128 do 127:\n");
proverka(&a, -128, 127);
proverka(&b, -128, 127);
proverka(&c, -128, 127);
proverka(&d, -128, 127);

printf("Result: %d",diving(a, b, c, d));

printf("\nVihod - ESC...");
} while (bioskey(0)!=283);
return 0;
}

void proverka(short int *b, float min, float max)
{
char s[10];
signed int a=0;

while (a==0)
{
scanf("%s",&s);
a=atoi(s);
if ((a < min) || (a > max))
a=0;
if ( a == 0 )
printf("Oshibka vvoda! Povtorite...\n");
else
*b=a;
}
}
===========================

ïÔÔÒÁÎÓÌÉÒÏ×ÁÌ ÜÔÏ ×ÓÅ × 2 *.obj ÆÁÊÌÁ, ÐÙÔÁÀÓØ ÓÌÉÎËÏ×ÁÔØ Ó ÐÏÍÏÛØÀ ËÏÍÁÎÄÙ
tcc.exe asm-lab.obj l8.obj
É ÎÉÞÅÇÏ ÎÅ ×ÙÈÏÄÉÔ. ðÉÛÅÔ:
Turbo C Version 2.0 Copyright (c) 1987, 1988 Borland International
Turbo Link Version 2.0 Copyright (c) 1987, 1988 Borland International
Undefined symbol '_diving' in module ASM-LAB.C

Available memory 413320

÷ÎÉÍÁÎÉÅ ×ÏÐÒÏÓ: ÷ ÞÅÍ Ñ ÔÏÒÍÏÖÕ?

ðÏÄÓËÁÖÉÔÅ ÐÌÚ...

1 Answer

Chapaev

5/11/2005 10:00:00 AM

0

C, extern, RTFM.