
汇编语言
qq_37058442
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
物理地址
现在计算机为8086体系下的8086为16位结构的cpu而上一代的cpu为位16位结构的特征运算器每次处理16位的数据寄存器的最大宽度为16位运算器和寄存器的总线为16位也就是说cpu每次可以处理传输存储的信息最大为16位。8086cpu的物理地址给出的方法(为什么出现这种状况因为8086cpu的地址总线为20位但cpu只能处理16位的数据所以采用两个16来和合成的原创 2017-05-09 20:19:26 · 412 阅读 · 0 评论 -
内存访问(寄存器)
字在内存中存储时,要用两个连续的内存空间去存储,字的地位放在低地址单元中,高位放在高地址单元中。用mov 指令访问内存单元时可以在mov指令中只给出偏移地址,此时段地址默认ds寄存器中【adress】表示一个偏移地址为address的内存单元内存和寄存器传递地址时高地址对的是高8位寄存器低地址是低8位寄存器检测点3.1栈是一种特殊的访问方式的存储空间。以字为单位进行处理任意原创 2017-05-09 20:45:41 · 441 阅读 · 0 评论 -
bx和loop
[bx]取内存中的数 loop负责循环bx放一个数据作为偏移地址段地址默认为ds中地址如果不值名的话BE 21000H00 21001HBE 21002H00 21003H BE 21004HBE 21005H//二次修改过当前的程序BE 21006H21007Hmov ax 2000h mov ds axmov bx,10原创 2017-05-09 20:48:27 · 229 阅读 · 0 评论 -
包含多个段的程序
伪指令在编译时不产生任何的cpu动作指令程序编译时相反在操作系统的环境中,合法的通过操作系统取得的空间都是安全的,操作系统不会让一个程序所用的空间和其他程序或者系统自己的空间冲突。在操作系统的允许下,程序可以取得任意容量的空间、在代码段中使用数据在代码段的开始定义数据。直接通过代码段的偏移来去取数在代码段中使用栈定义代码段中的空间作为栈。将代码数据栈分开放的好处1.原创 2017-05-09 21:58:52 · 196 阅读 · 0 评论 -
逻辑运算命令
and 按位进行与运算mov al ,01010011band al, 01010010bal=01010010bor逻辑或指令 按位进行或运算mov al ,01010011band al, 01010010bal字母的大小写问题assume cs:code ds:data data segment:db ‘basic’db ‘iNfOrm原创 2017-05-09 22:21:40 · 516 阅读 · 0 评论 -
寄存器
cpu中主要的部件是寄存器,8086有14 个寄存器,ax bx cx dx si di sp bp ip cs ss ds es psw运算器进行数据处理寄存器进行信息存储控制器控制各种起见的工作内部总线连接各种起见,进行数据的传送原创 2017-05-09 19:48:35 · 238 阅读 · 0 评论 -
转移指令
可以修改ip cs 代码段寄存器修改ip 或者同时修改cs 和ip的指令都成为转移指令只修改ip叫内转移同时修改cs和ip叫做段间转移】8086cpu的转移指令可以分为下面几类无条件转移(jmp)loop(循环指令)条件转移过程中断offset 操作符返回标号的偏移地址例start:mov ax,offest start 相当于mov ax 0原创 2017-05-09 23:43:21 · 608 阅读 · 0 评论