| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 1488 人关注过本帖
标题:c语言转化为汇编语言
只看楼主 加入收藏
xianlaideren
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2018-3-15
  问题点数:0  回复次数:2   
c语言转化为汇编语言
把下面的 C 代码转换成汇编代码。数组 a 和 b 分别 存放在以 0x4000 和 0x5000 为起始 地址的存储区内,类 型为 long(即 32 位 ) 。 把编写的汇编语言进行编译连接, 并进 行调试。
for (i=0; i<8; i++)
{ a[i] = b[7-i];
}
新手上路,求大佬帮助
2018-03-15 14:27
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:10
帖 子:204
专家分:1362
注 册:2016-5-15
  得分:0 


没有规定哪种汇编?那就用x86汇编,最简单代码,意思一下好了...

假设ds已指向资料段

push ds
pop es ;对齐ds和es
mov edi,4000h  ;a数组地址起点
mov esi,5000h+7*4 ;b数组地址结束
mov ecx,8 ;次数
next:
std  ;反向
lodsd  ;读入ds:esi入eax, esi自动减4(32bit双字,即4字节)
cld  ;正向
stosd  ;eax值写入es:edi, edi自动加4(32bit双字,即4字节)
loop next



[此贴子已经被作者于2018-3-16 21:25编辑过]

2018-03-16 20:03
艾瑞克
Rank: 2
来 自:贵州
等 级:论坛游民
帖 子:96
专家分:69
注 册:2016-11-8
  得分:0 
用 GCC(Linx 自带没有的话 输入sudo apt-get install gcc)  WinGw (windows  下载网站https://sourceforge.net/projects/mingw/files/latest/download?source=navbar)   安装之后

进入cmd   或者 终端  cd 进入 所要转成汇编语言的C语言源文件目录

最后使用 编译命令   gcc   *.c -S (大写)
  
*.c :为C语言源文件
2018-05-20 14:18







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

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