Assembly
Don't back
这个作者很懒,什么都没留下…
展开
-
arm汇编之ldr,str执行方向,msr和mrs简介
ldr 加载指令/ 伪指令指令相当于C中的指针,方向是从右到左ldr r0, =lable 是让r0指到label地址,存储的是label地址(加载指令)。 ldr r0, lable,相当于r0 = *(lable) 存储的是lable地址总的值(伪指令)。记住和mov的区别, mov一般操作寄存器和立即数,可以把寄存器的值和立即数传向目的寄存器。ldr则可以把地址传到目的寄存器,包括函数的地址,是寄存器间接寻址也是绝对寻址,与当前位置无关。mov则用于寄存器寻址和立即寻址。...原创 2020-09-06 10:49:59 · 2240 阅读 · 0 评论 -
Linux内核中的C与汇编
《linux情景分析 上》摘录目录AT&T汇编和386汇编的语言格式差别:嵌入C代码中的386汇编语言程序段C中定义函数,汇编中实现GNU汇编语言的32位寻址方式以小写的.s文件是纯汇编语言。以大写的.S文件是吸收了C语言预处理的汇编文件,其中可以使用#include,#ifdef等成分,而数据结构也一样可以在.h文件中定义。AT&T汇编和386汇...原创 2019-05-09 22:50:48 · 665 阅读 · 0 评论 -
学习汇编记录Day6——输入输出和中断
目录一,基本概念1,I/O端口地址2,I/O指令二,中断1,概念2,中断向量表和中断服务程序3,引起中断的指令4,和子程序的比较三,中断的分类1,键盘输入的中断2,屏幕显示的中断功能1,显示模式3,打印输出的中断功能4,串口的中断功能5,鼠标的中断功能,略过了。6,目录和文件的中断功能7,内存管理的中断功能8,读取和设置中断向...原创 2019-04-20 11:34:55 · 1460 阅读 · 0 评论 -
学习汇编记录Day5——子程序和库
以截图的方式记录了。目录1,子程序的定义2,调用和返回指令3,子程序的参数传递4,寄存器的保护与恢复5,子程序的完全定义6,子程序库了解:引入子程序的作用,制作用户子程序库的方法。掌握:在子程序中,保护和恢复寄存器的原因和方法。熟练:子程序定义的一般格式,子程序的调用和返回指令,调用子程序常用的参数传递方法,模块间通信的方法。1,子程序...原创 2019-04-19 16:26:16 · 860 阅读 · 0 评论 -
学习汇编记录Day4——程序结构
目录一,程序的基本组成1,段2,段寄存器的说明语句3,程序的基本结构4,段的基本属性5,简化的段定义简化段段名的引用前面。了解了汇编语言里操作的寄存器,如何定义变量,寄存器如何寻址,常用的指令,和标志位。了解了物理地址的概念,和地址与寄存器的关系。终于到函数了,C语言的函数到了机器上是如何运行的,学完汇编才有一个本质的认识,也可以为今后学习其他语...原创 2019-04-19 12:02:00 · 1001 阅读 · 0 评论 -
汇编语言基础指令小结
目录一,寄存器二,数据指令三,算术指令五,检测&循环&跳转指令六,子程序的调用和返回指令七,段简化定义伪指令八,字符串操作指令一,寄存器1. 通用寄存器通用寄存器包括了8个16/32位的寄存器:AX/EAX、BX/EBX、CX/ECX、DX/EDX、SP/ESP、BP/EBP、DI/EDI及SI/ESI。其中AX/EAX、BX/EBX、CX/E...原创 2019-04-27 09:26:11 · 3483 阅读 · 0 评论 -
学习汇编记录Day2——标识符和表达式
目录0,标识符的概念一,简单内存变量的定义 1,字节变量 2,字变量(16bit) 3,双字变量 二,调整偏移量伪指令 1,偶对齐伪指令even (用的频率高) 2,对齐伪指令align 3,调整偏移量伪指令org 4,偏移量计数器的值 三, 复合...原创 2019-04-17 21:26:45 · 1520 阅读 · 0 评论 -
学习汇编记录Day3——汇编指令
在了解了寄存器和寻址方式后,汇编最吸引人的不就是指令么?哈哈哈,我就是奔着指令来的其实。指令分类:总共13种方法。数据传送指令,标志位操作指令,算术运算指令,逻辑运算指令, (这些应该算是基本指令)移位操作指令,位操作指令,比较运算指令,印象:mov, xchg, lea, lds, les, push, pop, clc, cmc, stc, cld, std, cl...原创 2019-04-18 15:20:31 · 1099 阅读 · 0 评论 -
学习汇编记录Day1——寻址方式
目录0,复习一下cpu中的寄存器:1)数据寄存器2)变址寄存器3)指针寄存器4)段寄存器(s结尾 segment)5)指令指针寄存器6)实模式和保护模式:1,操作数的寻址方式1)立即寻址方式2)寄存器寻址方式3)直接寻址方式4)寄存器间接寻址方式5)寄存器相对寻址方式6)基址加变址寻址方式7)相对基址加变址寻址方式8)32位cp...原创 2019-04-16 22:37:55 · 640 阅读 · 0 评论 -
汇编学习记录Day8——应用程序设计
目录1,字符串的处理顺序2,数据的分类统级程序3,数据转换程序4,文件操作程序5,动态数据的编程6,com文件的编程7,驻留程序8,程序段前缀及其作用1,字符串的处理顺序字符或字符串是一类重要的非数值计算的处理对象。许多编辑软件都具有字符串查找、替换、大小写的转换、单词的自动识别等功能,网络上的信息搜索也是现在一种常用的功能等,这些功能的实现无疑都要涉...原创 2019-04-20 18:20:54 · 316 阅读 · 0 评论 -
学习汇编记录Day7——宏
目录一,定义和引用二,宏参数的特殊运算符三,与宏有关的伪指令四,重复汇编伪指令五,条件汇编伪指令六,宏的扩充一,定义和引用宏是用来代表一个具有特定功能的程序段,它只需在源程序中定义一次1,定义在使用宏之前必须先定义宏,格式:宏名 macro [形参1, 形参2,……] …… endm规定: ...原创 2019-04-20 17:52:20 · 763 阅读 · 0 评论 -
学习汇编记录Day0——寄存器组
因为大学的时候学习汇编语言,那时候喜欢了本战争的书(王树增的),很用心的看,就没咋学,但是又一直觉得汇编语言及其伟大,感觉汇编语言的人好牛逼,但是一直也没耐下心去看,大概懂几个指令,但是觉得没什么意义,所以决定重新学习一遍,才能释怀,否则心里嘎嘎难受!不扯了,首先了解一下必要的概念。寄存器组,逻辑地址,物理地址,内存单元。目录1,寄存器组2,通用寄存器的作用:3,物理地址...原创 2019-04-16 01:57:01 · 710 阅读 · 0 评论