汇编语言学习:精华问题解答-阿里云开发者社区

开发者社区> 开发与运维> 正文

汇编语言学习:精华问题解答

简介: 【问题】 不理解wait指令是干什么用的,还有就是可不可以给栈段社标号,然后用offset获取栈段的偏移地址呢?jmp指令只能在代码段中跳转吗,能不能跳到数据段? 【解答】 wait指令?我给你的手册呢? offset是求偏移地址,并不针对具体哪个段,哪个段中的都可以。 jmp是流程的跳转,应用只在代码段中跳。但从原理上,你可以跳到任意地方,那就要将数据当指令用了,

【问题】
不理解wait指令是干什么用的,还有就是可不可以给栈段社标号,然后用offset获取栈段的偏移地址呢?jmp指令只能在代码段中跳转吗,能不能跳到数据段?
【解答】
wait指令?我给你的手册呢?
offset是求偏移地址,并不针对具体哪个段,哪个段中的都可以。
jmp是流程的跳转,应用只在代码段中跳。但从原理上,你可以跳到任意地方,那就要将数据当指令用了,或许你有特殊意图,但一般不这样干。

【问题】
远转移不是段间转移吗,好像也可以实现段内转移,还是我对段间的理解不对。
【解答】
段内是段间的特例,效果上还在同一段,但CS会改变,只是改一次还是原值。这里,要从对应的机器指令上看出端倪。

【问题】
要知道某条指令的机器码长度,都要用u命令查看吗?
【解答】
还可以查手册。再者,如果长期用汇编,这些指令长度自然是明白的了。U命令是我们的工作方式,也是学习手段。

【问题】
div实现的除法限制的非常多,在c语言中只要用一个简单的/符号,编译器是如何转换的,是我们学的太浅吗?
【解答】
汇编语言还有其他途径实现除法。作为32学时的课程,我们的学习内容有限,可以在课程基础上自行拓展。

【问题】
1、所有的c语言算法都能表示成汇编吗?2、用汇编语言写的排序也会有冒泡,快排,基数排序等多种类区别吗?
【解答】
1、算法与语言无关。理论上,所有算法,可以用任何语言描述。工程中,选择合适的语言做合适的事。2、算法就在那里,用任何语言都可以去实现,当然,包括汇编。

【问题】
如果实践失败了还有没有挽救的地步??
【解答】
学习中,失败的实践,甚至可以是你最大的收获。积累了学习中的无数失败,才不会在事业中,酿成不可挽回的损失。

【问题】
汇编已经可以排序,交换了,那么会有指针吗,还是说指针的功能已经用别的方式实现了?
【解答】
我们不是一直在“寻址”吗?不是汇编没指针,而是我们一直用的就是指针。

【问题】
虽然一串数据可以分为多维数组,但实际结构存储都是一样的。那又分成多维数组理解方式有个好处?
【解答】
“分成多维数组理解”不是要什么好处,而是在解决实际问题时,需要用多维数组建模,进而用语言实现这种模型。

【问题】
我是不是可以理解所有的二维数组都可以把它们当作一维数组来处理?这和把它当作一维数组来比,在执行上有什么区别吗?
【解答】
多维数组,我们强调的是逻辑结构,是面向人为问题建模而言的。如果从存储的角度,都是线性存储的。

【问题】
对于同一个题运用不同的方法,在汇编语言上也会有效率之分吗?还是只有恰不恰当之分呢?
【解答】
一题多解,效率有别,这个根源,用算法复杂度解释,与语言无关。到底选用哪种算法,综合多种因素做决定。

【问题】
有什么可以,主动弄坏u盘的方法吗??????这样实验数据恢复也方便
【解答】
U盘放嘴里,使劲咬一口,然后……

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章