标题:混合编程求助
只看楼主
King丶小布
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-11-18
结帖率:0
已结贴  问题点数:20 回复次数:1 
混合编程求助
c语言代码
#include<stdio.h>
typedef struct {
 char name[20];
 char address[50];
 int age;
} Employee;
void Memxchg(void* v1, void* v2, int n);

int main() {
 public Employee emp1 = {"zhang","a",18};
 public Employee emp2 = {"li","b",18};
 Memxchg(&emp1, &emp2,sizeof(Employee));
  printf("%s\t%s\t%d",emp1.name,emp1.address,emp1.age);
  printf("%s\t%s\t%d",emp2.name,emp2.address,emp2.age);
 }
汇编代码
.MODEL FLAT, C
.CODE
Memxchg PROC PUBLIC

    xor si,si
    xor cx,cx   
    xor dx,dx
    xor bl,bl
    xor bh,bh
    xor ax,ax
    mov ax,n
    lea bl,v1
    lea bh,v2
   
   
s:  mov cx,[bl+si]
    mov dx,[bh+si]
    xchg cx,dx
    mov [bl+si],cx
    mov [bh+si],dx
    add si,2
    sub ax,2
    cmp ax,2
    jnl L1
    jl  L2
L1:
   jmp s
   
L2:
    mov cl,[bl+si]
    mov dl,[bh+si]
    xchg cl,dl
    mov [bl+si],cl
    mov [bh+si],dl
   end s  
Memxchg ENDP
报错信息
1>_MASM:
1>  Assembling [Inputs]...
1>asm.asm(38): fatal error A1010: unmatched block nesting : Memxchg
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.targets(49,5): error MSB3721: 命令“ml.exe /c /nologo /Zi /Fo"Debug\asm.obj" /W3 /errorReport:prompt  /Taasm.asm”已退出,返回代码为 1。
1>
1>生成失败。
1>
搜索更多相关主题的帖子: address include public PUBLIC zhang 
2013-11-18 14:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:20 
   end s

这个应该放最后罢
2013-11-19 08:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-423733-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078281 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved