![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
汇编
文章平均质量分 84
flykis
这个作者很懒,什么都没留下…
展开
-
内存寻址方式
1.[idata]:直接寻址,用于直接指定一个内存单元2.[bx]:寄存器间接寻址,用于间接定位一个内存单元3.[bx+idata]:寄存器相对寻址,可在一个起始地址的基础上用变量间接定位一个内存单元4.[bx+si]:基址变址寻址,用两个变量表示地址5.[bx+si+idata]:相对基址变址寻址。...原创 2022-08-10 10:10:10 · 2073 阅读 · 0 评论 -
汇编语言程序
汇编程序包含汇编指令和伪指令的文本伪指令:没有对应的机器码的指令,最终不被CPU所执行。伪指令是由编译器来执行的指令,编译器根据伪指令来进行相关的编译工作。汇编指令:对应有机器码的指令可以被编译为机器指令,最终被CPU执行。mov ax,4c00h;int 21h;程序返回(套路!):程序结束运行后,将CPU的控制权交还给使它得以运行的程序(常为DOS系统)。一般写在程序的结尾处assume cs:codesgcodesg segment mov ax,0123h原创 2022-07-28 23:06:30 · 6329 阅读 · 0 评论 -
Debug的使用
将123B0H~123BAH的内存单元定义为数据段累加数据段中的前3个单元中的数据movds,ax;moval,0;//将低位寄存器内容全部初始化为0addal,[0];addal[1];addal[2];累加数据段中的前3个字型数据movds,ax;moval,0;//将低位寄存器内容全部初始化为0addal,[0];addal[2];addal[4];物理地址=段地址×16+偏移地址编程时,可以根据需要将一组内存单元定义为一个段。...原创 2022-07-24 21:20:25 · 1540 阅读 · 0 评论 -
8086寄存器
原因8086的地址总线宽度为20,寻址能力为1MB,但是寄存器都是16位的,所以为了不浪费寻址空间,就用连个16位的地址(段地址,偏移地址)相加得到一个20位的物理地址。8086CPU所有的寄存器都是16位的,可以存放两个字节,而且通用寄存器可以拆分为两个8位的寄存器,一个低地址,一个高地址。偏移地址为16位,16位的寻址能力为2^16B=64KB,所以一个段的长度最大为64KB。段地址*16必然是16的倍数,所以一个段的起始地址也一定是16的倍数。这个字的高位字节存在这个寄存器的高8位寄存器(AH)...原创 2022-07-24 21:19:38 · 2662 阅读 · 0 评论 -
汇编基础1
CPU通过地址总线来还指定存储器单元的,就是说地址总线的宽度没决定了CPU寻址的大小,地址总线越多,CPU就可以对更多的存储单元进行寻址。一台电脑上有一个主板,主板上有核心器件和一些主要器件,这些器件通过总线(地址总线,数据总线,控制总线)相连。CPU对外部设备(显示器,音箱,打印机)都不能直接控制,直接控制这些设备进行工作的是扩展插槽上的接口卡。8086CPu的地址总线宽度为20,那么可以寻址1MB个内存单元,其内存地址空间为1MB。计算机系统中,所有的可用程序控制其工作的设备,必须受到CPU的控制。..原创 2022-07-24 21:18:48 · 239 阅读 · 0 评论