汇编
文章平均质量分 85
aketoshknight
如果找不到人生的意义,活着就是为了死亡
展开
-
汇编学习笔记——宏
目录宏宏库宏定义:在程序中为一个代码段起名,而后的程序段中直接通过其名字将该代码断复制。格式:;定义宏名 macro [形参表] ;宏定义体endm;调用宏名 [实参表]示例1:在程序中使用宏PS:如上图所示,宏定义类似高级语言中的函数定义,使用的方式同样与之类似,可在宏定义体中书写任意指令示例2:宏定义与子程序辨析PS1:如上图所示,子程序的的使用和宏的使用实际上差别巨大。子程序的原理为书写一段指令之后将之存储与内存的某一区段,而后.原创 2021-05-18 16:47:43 · 2794 阅读 · 0 评论 -
汇编学习笔记——外部设备
目录外部设备CMOS RAM芯片外部设备定义:一系列通过主板与CPU连接的外部设备CMOS RAM芯片定义:包含一个实时钟和一个有128个存储单元的RAM存储器,其中存储内部实时钟、系统配置信息、用于开机时配置系统信息的相关程序等。示例1:CMOS RAM芯片概况PS1:如上图所示,CMOS RAM芯片由独立电池供电,即使关机后其内部时钟仍正常工作并且RAM中的信息不会丢失。PS2:该芯片内部有两个端口,地址分别为70h与71h,CPU可通过这两个端口..原创 2021-04-21 12:53:44 · 208 阅读 · 0 评论 -
汇编学习笔记——伪指令
伪指令定义:没有对应机器码的指令,最终不被CPU所执行,而是由编译器执行的指令。编译器根据伪指令来进行相关的编译工作。示例1:一段汇编程序中的伪指令示例PS:伪指令在debug中直接执行汇编代码是不需要的,但若要将汇编程序交由编译器执行,则是必要的。段定义定义:一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当作栈空间来使用。格式为:段名 segment表示段的开始;段名 ends表示段的结束。示例:完整的汇编程序PS1:一个有意义的汇编程序中至少要有...原创 2021-04-13 10:48:03 · 2185 阅读 · 0 评论 -
汇编学习笔记——设计与执行
指令执行定义:CPU读取CS:IP指向的地址的数据,并将之解析为汇编指令执行示例1:8086CPU中的指令执行框架PS1:如上图,指令存放在内存中,而CS:IP通过地址加法器组合成的地址指向内存中的一段存储着指令代码的地址段PS2:指令数据被从内存中提出,通过数据总线进入指令缓冲器,最后被执行。示例2:通过DOSBox实际演示指令执行PS1:如上图,当使用t指令时,2000:0000处的mov ax,0123被执行,将寄存器ax中的值改为0123,而后寄存器ip的值自动增加并原创 2021-04-12 10:48:52 · 430 阅读 · 0 评论 -
汇编学习笔记——寻址与存储
寻址物理地址定义:所有接入电脑的内存件都将被赋予一个独有的编号,这个编号作为CPU访问其时的‘地址’存在,编号由零开始一维延伸,因此所有内存单元构成的存储空间是一个一维的线性空间示例:8086CPU对应的内存PS:除了专用的内存条之外,计算机的显存、各类外接设备的存储器,所有RAM与ROM存储元件都会被统一编址。寻址能力定义:CPU最多能够处理的地址的大小称为其寻址能力。由其一次可处理的数据的位数和地址总线的传输能力共同决定示例:8086CPU是16位结构的CPU,其一.原创 2021-04-09 11:30:38 · 605 阅读 · 0 评论 -
汇编学习笔记——汇编指令
mov、add指令定义:mov A,B将B中的数据移入A;add A,B将A与B相加的结果存入A示例1:mov与add指令对应到高级编程语言中PS:汇编指令不区分大小写,即MOV等效与mov示例2:使用高低8位寄存器的情况下的指令执行结果PS:最后一条指令中,C5H与93H相加的结果为158,但因为al寄存器只能存储8位数据,因此最高位1因为数据溢出而被舍弃(因使用的是al寄存器进行独立运算,故该进位不会进入ah寄存器中)...原创 2021-04-09 10:12:51 · 4754 阅读 · 1 评论 -
汇编学习笔记——寄存器
寄存器定义:CPU内部用于信息存储的单元示例:8086CPU中有14个寄存器PS1:8086CPU中所有的寄存器都是16位(16b)的,可以存放两个字节(2B)PS2:寄存器的大小与CPU的操作位数与CPU对应的字长相同,对于8086CPU,其寄存器大小、操作位数与字长皆为16位通用寄存器定义:可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果的寄存器示例:8086CPU中的AX寄存器PS:以上为在AX寄存器中存储4E20H(01001110001000.原创 2021-04-09 09:41:18 · 488 阅读 · 0 评论