|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 JMP 于 2011-10-8 22:13 编辑
首先申明我是超级大菜鸟,自从毕业后有很长一段时间没接触过程序设计了,代码可能会有些细节上的错误,高手不要拍砖,不要喷我,若有人发现错误希望能指正出来,共同学习共同进步!
用C语言描述下面的这段汇编代码
功能是将一个字符数组拷贝到留一个字符数组
汇编代码:
assume cs:codesg,ds:data
data segment
yuantou db 'welcome to masm!' (源字符数组)
mubiao db 16 dup('0') (目标字符数组)
data ends
codesg segment
start:
mov ax,data
mov ds,ax (初始化)
lea bx,yuantou (将字符数组hy的指针赋值给寄存器BX)
lea dx,mubiao (类似于上一句)
push dx (保护dx)
mov cx,10h (初始化循环次数,16进制)
s:
mov al,[bx] (取字符数组hy中的数据给寄存器AL)
mov [dx],al
inc bx
inc dx
loop s
pop dx (恢复dx)
mov ax,4c00h
int 21h
codesg ends
end start
C语言代码:
include <stdio.h>
int main ()
{
char * yuantou[16]={"welcome to masm!"};
char *mubiao[16];
int i;
for (i=0;i<16:i++)
{
mubiao=yuantou;
}
printf ("%s\n",mubiao);
return 1;
}
|
|