找回密码
 立即注册
Sorry,Sorry 该用户已被删除
发表于 2013-11-18 14:27:41
12322

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>



使用道具 举报 回复
发表于 2013-11-18 14:30:09
楼主您好,

您的问题(16-bit x86汇编代码编写问题)已经超过出CUDA的技术支持范围。

您的帖子将被移动到灌水专区。
感谢您的来访。
使用道具 举报 回复 支持 反对
发表于 2013-11-18 14:30:59
玫瑰幻想 发表于 2013-11-18 14:30
楼主您好,

您的问题(16-bit x86汇编代码编写问题)已经超过出CUDA的技术支持范围。

呃。。。好吧
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册

zzczczxczxczx