Code Example Passes String From C to Assembly LanguageLast reviewed: July 17, 1997Article ID: Q29113 |
5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a | 1.00 1.50
MS-DOS | OS/2 | WINDOWSkbprg
The information in this article applies to:
SUMMARYThe following code example demonstrates passing a string to an assembly language program that accesses the string, changes one character, and returns.
MORE INFORMATION
Sample Code 1
/* * Compile options needed: none */ #include <string.h> #include <stdio.h> void main(void); /* Prototype for main */ void extern changit(char *); /* Assembly routine declaration */ char s[10]; /* String to be changed */ void main(){ strcpy(s, "xxxxxxxxx"); /* Initialize string to x's */ printf("s = %s\n", s); changit(s); /* Call assembly routine */ printf("s = %s\n", s); /* See if string changed */}
Sample Code 2; Assembly language routine -- assemble with /Mx ; Assembler options needed: none .MODEL SMALL .CODE PUBLIC _changit_changit PROC push bp ; Entry sequence mov bp, sp mov bx, [bp+4] ; Put array address in bx mov [bx+8], byte ptr 'Y' ; Change the 9th character ; 0 is the first, 1 is second... pop bp ; Exit sequence ret_changit ENDP END |
Additional reference words: kbinf 1.00 1.50 6.00 6.00a 6.00ax 7.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |