![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编语言学习
文章平均质量分 79
Asiram_
很懒,而且不务正业。
展开
-
XMU汇编实验06:高级汇编程序设计
本次实验不难,但是重复汇编和条件汇编的格式比较特殊可以注意一下。原创 2023-12-17 23:38:39 · 301 阅读 · 0 评论 -
XMU汇编语言实验05:子程序设计
本次实验涉及的子程序都相对简单,完全可以先用高级语言(例如C)写一遍,再对照高级语言程序,结合汇编语言的高级语言特性,翻译成对应的汇编语言形式。反过来看,汇编语言的高级语言特性也极大地方便了我们书写较为复杂的汇编程序。原创 2023-12-13 13:14:35 · 104 阅读 · 0 评论 -
汇编语言学习13:32位CPU指令运行环境
随着内存的拓张,寄存器结构和32位的机器代码指令都在原有的基础上新增或者改变了不少功能,使得32位CPU相比16位可以完成相比更多复杂的任务和更高的效率。原创 2023-12-13 11:57:15 · 276 阅读 · 0 评论 -
汇编语言学习12:模块化程序设计
汇编语言的INCLUDE语句允许将多份源文件一起进行联合汇编与连接,而库文件管理程序减少了部分的汇编开销,可以使得其在需要时方便调用,提高了效率。原创 2023-12-12 18:20:33 · 232 阅读 · 0 评论 -
汇编语言学习11:高级语言特性与宏结构
宏定义和控制伪指令都是高级语言中十分常见的特性,而MASM6.0使得汇编语言也可以通过伪指令使用其中的一部分。原创 2023-12-06 11:52:24 · 339 阅读 · 0 评论 -
汇编语言学习10:循环程序设计和子程序设计
processfunc endp其中,func是子程序名,near和far属性决定该子程序只能被相同代码段其他程序调用还是可以被其他代码段的程序调用。子程序的调用和返回由CALL指令和RET指令完成。当发生调用时,会将返回地址压入堆栈;而RET则将堆栈内的数据弹出传给IP。因此,当子程序中涉及堆栈调用时, 一定要注意维护堆栈以确保返回时能够正确将地址返回IP。同时,还要注意恢复所有寄存器的状态。一种解决方法是,在调用子程序时先将所有寄存器按照一定的顺序压入栈中,在返回后再以相反的顺序弹出返回寄存器。原创 2023-11-29 23:10:21 · 1865 阅读 · 0 评论 -
汇编语言学习09:顺序结构和分支结构设计
汇编语言所有的分支结构和高级语言类似,可以很好的通过高级语言的分支结构理解。但是在实际编写程序时需要注意一些汇编语言和高级语言特性的些微差别,尤其是在 多分支结构中。原创 2023-11-29 11:17:46 · 451 阅读 · 0 评论 -
XMU汇编语言实验04:程序流程控制
上面代码不是最简洁的形式,你可以使用一些高级的伪指令写出更简洁的代码惊艳你的老师(但是并没有什么用),本文除了变量定义伪指令和简化段定义,其他几乎都使用硬指令来完成。虽然并不高效,但胜在好懂。欢迎各位有更好的想法指正。原创 2023-11-29 10:28:17 · 158 阅读 · 0 评论 -
XMU汇编语言实验03:汇编语言的算术运算指令
汇编语言的算术运算相比数据传送会更难一些,因此实验03相比实验02也会更难一些。下面先给出本次实验的内容。原创 2023-11-20 17:47:15 · 86 阅读 · 0 评论 -
汇编语言学习08:复杂数据结构
汇编语言中一样拥有和高级语言类似的ADT,MASM允许将若干个相关的变量作为一个数据元素来进行整体的数据定义,然后通过相应的结构预置语句为变量分配空间。MASM有结构、联合和记录等复杂数据结构的定义伪指令。原创 2023-11-08 11:23:54 · 110 阅读 · 1 评论 -
汇编语言学习07:参数,变量和符号
变量定于伪指令为便改良申请固定长度的存储空间,并且可以同时进行初始化。该类伪指令是最常使用的伪指令之一。变量名 伪指令 初值表。原创 2023-11-02 23:34:06 · 788 阅读 · 1 评论 -
汇编语言学习06:汇编程序语句格式和框架
基础的汇编程序除了包含之前提到的全部指令之外,还存在很多其他的伪指令和标记符,指示了寻址方式,数据结构存储格式或者I/O格式等等。原创 2023-10-27 17:26:26 · 707 阅读 · 1 评论 -
汇编语言学习04:位操作类指令
位操作类指令包含部分位的操作AND、OR、XOR以及全体位的操作指令NOT、SHL(R)、SAL(R)、ROL(R)、RCL(R)。这些指令对于标志的影响可能有时候会影响下方指令的操作,而且需要注意SAR和IDIV的区别,RO和RC指令的不同之处。在位操作中出现的独特CL寄存器也值得我们去关注其工作原理。原创 2023-10-11 10:46:01 · 415 阅读 · 0 评论 -
汇编语言03:8086算术运算指令
算术运算指令是汇编语言的核心指令之一,根据不同的使用情况设置了多种四则运算指令,并且设置了辅助的符号扩展指令和十进制调整指令。使用时需要不仅需要记忆寄存器和主存的结果,更要关注符号标志对运算结果的影响。在运算指令中存在迭代和流程控制的INC,DEC和CMP指令,他们的使用方法也值得关注。原创 2023-10-10 17:03:48 · 1993 阅读 · 1 评论 -
汇编语言02:8086数据传送指令
汇编语言的数据传送类指令,或是程序内直接传输数据,或是通过堆栈进行程序间数据传输,或是传输标志,或者传送指针,都具有明确的目的性,需要在应用的同时仔细分辨理解。原创 2023-10-05 16:19:22 · 806 阅读 · 0 评论 -
汇编语言学习01:8086处理器和存储器结构、编码和寻址方式
8086的汇编语言中设置了多种数据的寻址方式。其中,源操作数可以是立即数IMM,寄存器寻址REG或者存储器寻址MEM,但是目的操作数必须是寄存器寻址REG或者存储器寻址MEM。在更高级语言中通常情况下不讨论数据寻址的方式,但是在底层的执行过程中依然需要执行这些操作,所以了解处理器为何设置如此多样的寻址方式实际上是有意义的。原创 2023-10-05 10:23:12 · 2012 阅读 · 0 评论 -
XMU汇编语言实验02:汇编语言基本程序练习解析
实验目的了解汇编语言程序(源程序)的基本组成部分;掌握寻址方式以及传送类指令的工作原理;进一步掌握使用 DEBUG 相应命令进行程序修改以及指令的调试与运行。原创 2023-10-25 11:41:00 · 101 阅读 · 1 评论 -
汇编语言学习05:控制转移类指令和处理机控制类指令
到此,我们已经完成了8086汇编指令的学习。接下来我们进入8086一般程序的格式设计讲解,实现一些高级语言中常见的结构。原创 2023-10-25 10:59:58 · 436 阅读 · 1 评论