社区
C语言
帖子详情
IA32中有一个指令movl,我的问题是:“movl"中的"l"是何意?(不耻上问)
nail63547188
2004-07-14 01:52:19
mov 指令的作用是在寄存器,内存,I/O端口间移动数据,“movl"中的"l"是何意呢?“l"是什么单词的首字母呢?恭候您的答复,谢谢
...全文
1727
9
打赏
收藏
IA32中有一个指令movl,我的问题是:“movl"中的"l"是何意?(不耻上问)
mov 指令的作用是在寄存器,内存,I/O端口间移动数据,“movl"中的"l"是何意呢?“l"是什么单词的首字母呢?恭候您的答复,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nail63547188
2004-07-14
打赏
举报
回复
to 中指兄:
不好意思,刚才有冒犯的地方,还请多多原谅,谢谢你对我的帮助
lbaby
2004-07-14
打赏
举报
回复
AT&T汇编是UNIX下惯用的汇编格式
l ,w,b是AT&T汇编中用来表示操作属性的限定符
l是长字(4字节),
w是双字
b是一个字节
加在指令的后边
相当于intel中的
dword ptr
word ptr
byte ptr
比如:
subl $8, %esp
leal -792(%ebp), %eax
pushl %eax
movl -796(%ebp), %eax
sall $8, %eax
addl 12(%ebp), %eax
pushl %eax
call _strcpy
addl $16, %esp
在intel 汇编中就相当于:
sub esp,8
lea eax,dword ptr [ebp-792]
push eax
mov eax,dword ptr [ebp- 796]
...
AT&T格式的汇编和intel编的差别可以参看有关AT&T汇编的书
lbaby
2004-07-14
打赏
举报
回复
我晕
就是AT&T格式的汇编,跟intel格式不一样
比如:
.file "t1.c"
.globl _label_str
.text
LC0:
.ascii "id\0"
LC1:
.ascii "u_sub\0"
LC2:
.ascii "dlvrd\0"
LC3:
.ascii "submit_date\0"
LC4:
.ascii "done_date\0"
LC5:
.ascii "stat\0"
LC6:
.ascii "err\0"
LC7:
.ascii "txt\0"
.data
.align 32
_label_str:
.long LC0
.long LC1
.long LC2
.long LC3
.long LC4
.long LC5
.long LC6
.long LC7
.globl _fmt
.text
LC8:
.ascii "%255[^:]:%255[^ ^:]\0"
.data
.align 4
_fmt:
.long LC8
.text
LC9:
.ascii "%[^ ]\0"
.align 2
.globl _no_sp
.def _no_sp; .scl 2; .type 32; .endef
_no_sp:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
movl 12(%ebp), %eax
movl %eax, -4(%ebp)
L7:
movl -4(%ebp), %eax
cmpb $32, (%eax)
je L9
jmp L8
L9:
leal -4(%ebp), %eax
incl (%eax)
jmp L7
L8:
subl $4, %esp
pushl 8(%ebp)
pushl $LC9
pushl -4(%ebp)
call _sscanf
addl $16, %esp
movl 8(%ebp), %eax
leave
ret
.align 2
.globl _get_content
.def _get_content; .scl 2; .type 32; .endef
_get_content:
pushl %ebp
movl %esp, %ebp
pushl %ebx
subl $804, %esp
movl $0, -796(%ebp)
movl 8(%ebp), %eax
movl %eax, -12(%ebp)
L11:
movl -12(%ebp), %eax
cmpb $0, (%eax)
jne L14
jmp L10
L14:
leal -792(%ebp), %eax
pushl %eax
leal -280(%ebp), %eax
pushl %eax
pushl _fmt
pushl -12(%ebp)
call _sscanf
addl $16, %esp
subl $8, %esp
leal -280(%ebp), %eax
pushl %eax
leal -536(%ebp), %eax
pushl %eax
call _no_sp
addl $16, %esp
movl $0, -804(%ebp)
L15:
cmpl $7, -804(%ebp)
jle L18
jmp L16
L18:
subl $8, %esp
movl -804(%ebp), %eax
pushl _label_str(,%eax,4)
leal -536(%ebp), %eax
pushl %eax
call _strcmp
addl $16, %esp
testl %eax, %eax
jne L17
movl -804(%ebp), %eax
movl %eax, -796(%ebp)
jmp L16
L17:
leal -804(%ebp), %eax
incl (%eax)
jmp L15
L16:
cmpl $8, -804(%ebp)
jne L20
jmp L13
L20:
subl $8, %esp
leal -792(%ebp), %eax
pushl %eax
movl -796(%ebp), %eax
sall $8, %eax
addl 12(%ebp), %eax
pushl %eax
call _strcpy
addl $16, %esp
L13:
subl $12, %esp
leal -280(%ebp), %eax
pushl %eax
call _strlen
addl $16, %esp
movl %eax, %ebx
subl $12, %esp
leal -792(%ebp), %eax
pushl %eax
call _strlen
addl $16, %esp
leal (%eax,%ebx), %eax
addl -12(%ebp), %eax
incl %eax
movl %eax, -12(%ebp)
jmp L11
L10:
movl -4(%ebp), %ebx
leave
ret
.def ___main; .scl 2; .type 32; .endef
.align 32
LC10:
.ascii "id:1 u_sub:2 dlvrd:3 submit_date:4 done_date:5 stat:6 err:7 txt:8 ok:88\0"
.align 32
LC11:
.ascii " done_date:0407081236 stat:DELIVRD err:000 txt:062\320\351\310\331\243\254\266\324\261\310\260\256\307\351\265\304 id:7% u_sub:001 dlvrd:001 submit_date:0407081236\0"
LC12:
.ascii "%20s %20s\12\0"
.align 32
LC13:
.ascii "-----------------------------------------------------------\0"
.align 2
.globl _main
.def _main; .scl 2; .type 32; .endef
_main:
pushl %ebp
movl %esp, %ebp
movl $4152, %eax
call __alloca
andl $-16, %esp
movl $0, %eax
movl %eax, -4144(%ebp)
movl -4144(%ebp), %eax
call __alloca
call ___main
movl $LC10, -12(%ebp)
movl $LC11, -2076(%ebp)
subl $8, %esp
leal -2072(%ebp), %eax
pushl %eax
pushl -12(%ebp)
call _get_content
addl $16, %esp
subl $8, %esp
leal -4136(%ebp), %eax
pushl %eax
pushl -2076(%ebp)
call _get_content
addl $16, %esp
movl $0, -4140(%ebp)
L22:
cmpl $7, -4140(%ebp)
jle L25
jmp L23
L25:
subl $4, %esp
leal -2072(%ebp), %edx
movl -4140(%ebp), %eax
sall $8, %eax
leal (%eax,%edx), %eax
pushl %eax
movl -4140(%ebp), %eax
pushl _label_str(,%eax,4)
pushl $LC12
call _printf
addl $16, %esp
leal -4140(%ebp), %eax
incl (%eax)
jmp L22
L23:
subl $12, %esp
pushl $LC13
call _puts
addl $16, %esp
movl $0, -4140(%ebp)
L26:
cmpl $7, -4140(%ebp)
jle L29
jmp L27
L29:
subl $4, %esp
leal -4136(%ebp), %edx
movl -4140(%ebp), %eax
sall $8, %eax
leal (%eax,%edx), %eax
pushl %eax
movl -4140(%ebp), %eax
pushl _label_str(,%eax,4)
pushl $LC12
call _printf
addl $16, %esp
leal -4140(%ebp), %eax
incl (%eax)
jmp L26
L27:
movl $0, %eax
leave
ret
.def _puts; .scl 2; .type 32; .endef
.def _printf; .scl 2; .type 32; .endef
.def _strcpy; .scl 2; .type 32; .endef
.def _strcmp; .scl 2; .type 32; .endef
.def _strlen; .scl 2; .type 32; .endef
.def _sscanf; .scl 2; .type 32; .endef
riitso
2004-07-14
打赏
举报
回复
根据操作数是字节 (byte)、字 (word) 还是长型 (long),指令的后缀可以是 b、w 或 l,movb,movw,movl
longword就是32位数据类型
nail63547188
2004-07-14
打赏
举报
回复
to 中指兄:
麻烦您说的详细一些,好吗?您的等级都是红五星了,你这种回答问题的方式,不太严谨吧,话说的有点重,还请原谅
xzygod
2004-07-14
打赏
举报
回复
ia32里面有吗
lbaby
2004-07-14
打赏
举报
回复
呵呵,AT&T格式的汇编
nail63547188
2004-07-14
打赏
举报
回复
to riitso兄:
麻烦您解释一下可以吗?什么是长字(longword)?
riitso
2004-07-14
打赏
举报
回复
Longword move
【CPO三维路径规划】豪猪算法CPO多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)研究(Matlab代码实现)
内容概要:本文系统研究了基于豪猪优化算法(CPO)的多无人机协同集群在三维空间
中
的避障路径规划
问
题
,聚焦于实现以最低成本为目标的航迹优化,综合考虑路径长度、飞行高度、威胁规避及转弯角度等多个关键因素。通过构建精细化的三维环境模型与多无人机协同机制,采用Matlab平台实现CPO算法的仿真与验证,充分展示了该算法在复杂动态障碍环境下的高效搜索能力与全局优化性能。研究不仅涵盖了路径规划的数学建模与目标函数设计,还深入探讨了算法的收敛特性与鲁棒性,为智能群体系统在实际场景
中
的应用提供了理论依据与技术支撑。; 适合人群:具备一定编程基础和优化算法背景,从事无人机系统控制、智能路径规划、群体协同、人工智能与自动化等相关领域的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①应用于多无人机协同执行侦察、灾害监测、应急救援、区域巡检等复杂任务
中
的自主路径规划;②为智能优化算法在三维动态环境下的路径决策
问
题
提供可复现的技术范例;③支持研究人员对CPO算法与其他主流群智能算法(如PSO、GWO、WOA等)进行性能对比与改进研究,推动路径规划技术的发展。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解目标函数的多维度建模方式与CPO算法的迭代优化流程,可通过调整环境参数与约束条件进行仿真实验,对比不同算法在相同场景下的路径质量与收敛速度,从而深入掌握其优势与适用边界。
电动汽车参与运行备用的能力评估及其仿真分析(Matlab代码实现)
内容概要:本文围绕电动汽车参与电力系统运行备用的能力评估展开深入研究,利用Matlab代码实现对电动汽车集群提供运行备用服务的建模与仿真分析。研究重点在于量化电动汽车作为分布式灵活资源参与电网辅助服务的潜力,通过构建精细化的数学模型,分析其可调功率容量、响应速度、时空分布特性及聚合能力,并采用多面体聚合、内近似模型与闵可夫斯基和等先进方法精确刻画其可调度能力边界。研究进一步结合大规模电动汽车接入场景,探讨其在多时间尺度调度框架下参与调峰、调频等辅助服务的优化策略,评估其对提升高比例可再生能源电网灵活性与稳定性的贡献,最终通过仿真验证所提模型与方法的有效性与实用性。; 适合人群:具备电力系统分析、智能电网、新能源汽车或优化调度等相关专业背景,熟悉Matlab/Simulink仿真工具,从事科研、工程应用的高校研究生、科研人员及电力行业工程师。; 使用场景及目标:①精确评估大规模电动汽车集群在不同约束条件下可提供的运行备用容量;②研究电动汽车在日前、日内及实时调度
中
的动态响应能力与优化调度策略;③为高渗透率新能源电力系统提供基于移动储能的灵活性资源解决方案,支撑电网安全经济运行。; 阅读建议:建议结合Matlab代码与技术文档同步学习,重点关注多面体聚合建模、能力边界计算及优化调度算法的设计与实现,可进一步拓展至V2G(车辆到电网)、需求响应等互动场景进行二次开发与应用验证。
中
国城市房地产政策汇总数据(1957-2024.7)
房地产政策是政府为了引导和调控房地产市场,确保其健康稳定发展而制定的一系列法律法规和行政措施。包括政策类型、政策内容、限价、限购、土地供应、人才政策等,旨在平衡供需、稳定房价、保护消费者权益、促进资源合理配置及维护市场秩序 本次分享的房地产政策汇总数据,包括1957年以来各个城市出台的房地产政策,希望对房地产相关的研究有所帮助 一、数据介绍 数据名称:
中
国城市房地产政策汇总数据 数据范围:全国及各城市 数据年份:1957-2024.7 数据说明:不同年份的资料有所差别 二、主要指标 政策类型 政策标题 发文机构 政策所属地区 颁布时间 发文字号 实施日期 效力级别 成文日期 网址 城市名称 时间 标题 政策内容 分类 文件 主要内容 限购 限价 限售 限贷 土地供应 人才政策
OpenCV dnn module
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 OpenCV(开源计算机视觉库)
中
的DNN(Deep Neural Network)模块是一种功能强大的工具,其目的是用于深度学习模型的操作。该模块使得开发人员能够在OpenCV环境
中
直接运用已经训练好的深度学习网络,以执行图像识别、目标检测、图像分割等多种功能。DNN模块能够兼容多种深度学习框架的模型,包括TensorFlow、Caffe、ONNX等。 一、DNN模块概述 OpenCV的DNN模块是为了简化深度学习模型的集成过程而专门设计的,它允许开发人员加载预先训练好的神经网络模型,并在图像数据上执行前向传播操作。借助这个模块,用户可以选用GPU或者CPU来提升计算效率,从而构建出高效的应用程序。 二、目标检测案例 在OpenCV的DNN模块
中
,目标检测是
一个
常见的应用情形。例如,可以选用SSD(Single Shot Multibox Detector)、YOLO(You Only Look Once)或者 Faster R-CNN 等模型进行实时的目标检测。这些模型能够识别并定位图像
中
的多个对象,并返回每个对象的类别和边界框坐标。 三、模型转换:PB到PBTXT 在OpenCV
中
运用TensorFlow模型时,通常需要处理的是`.pb`格式的模型文件,这是TensorFlow的二进制模型文件格式。然而,为了能够读取模型的结构信息,我们需要`.pbtxt`格式的文本文件。转换过程涉及解析`.pb`文件并将其结构信息导出为`.pbtxt`格式,这样做可以让人清晰地了解网络层和参数的配置。在OpenCV
中
,可以使用`tf.train.write_graph()`函数将.pb...
实用代码脚本易语言源码取歌词
实用代码脚本易语言源码取歌词
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章