您的位置:首页 > 其它

汇编语言-读书知识点记录

2017-10-09 15:07 323 查看
汇编语言:汇编指令,伪指令,其他符号

【CPU读写需要三个要素】:存储单元的地址(地址信息);器件的选择,读或写的命令(控制信息);读或写的数据(数据信息)

【存储器分类】:

随机存储器(主板上的RAM和插在扩展插槽上的RAM)

装有BIOS的ROM,主板上的BIOS(系统BIOS)和接口卡上的BIOS(如显卡和网卡上的BIOS)

接口卡上的RAM(如显存)

【总线分类】内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系

通用寄存器:AX,BX,CX,DX 可以分为高位和低位,例如AX可以分为AH和AL

偏移地址为16位,16位地址的寻址能力位64KB,所以一个段的长度最大为64KB

段寄存器:CS,DS,SS,ES

CS和IP:代码段寄存器和指令指针寄存器

【8086CPU的工作过程】:

从CS:IP指向的内存单元读取指令,读取的指令放入指令缓存器

IP=IP+所读取指令的长度,从而指向下一条指令

IP=IP+所读取指令的长度,从而指向下一条指令

执行指令。转到步骤1,重复。

【jmp 段地址:偏移地址】:用指令中给出的段地址修改CS,偏移地址修改IP

【jmp 寄存器】:用寄存器中的值修改IP

【debug】

-r:查看CPU中各个寄存器中的内容

-r reg:查看并修改某个寄存器的内容

-d:查看内存中的内容(128个字节)

-u:查看内存中的汇编指令

-e:改写内存中的内容

-t:执行CS:IP的指令

-a:以汇编指令的形式在内存中写入机器指令

8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。

mov bx, 1000H
mov ds, bx
mov al, [0]


上述指令会将1000:0中的数据读到al中,8086CPU不支持将数据直接送入到段寄存器

mov reg, data
mov reg, reg
mov reg, mem
mov sreg, mem
mov mem, reg
mov sreg, reg
mov reg, sreg


段寄存器SS和寄存器SP,【debug】的T命令在执行修改寄存器SS的指令时,下一条指令也会紧接着被执行。

可执行文件包括两部分内容:程序和数据, 相关的描述信息

伪指令

<
4000
pre class="prettyprint">
XXX segment
:
:
XXX ends
段可以用来存放代码,数据或者当作栈空间


end
汇编程序的结束标记


assume
将某一段寄存器和程序中的某一个使用segment...ends的段相关联,例如assume cs:codesg


程序:由计算机执行,处理的指令或数据

标号:段名称,最终会被编译,链接程序处理为一个段的段地址,如codesg

程序返回:

mov ax,4c00H
int 21H


masm –> [.ASM]

link –> [.OBJ]

masm c:\1;

link 1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: