汇编语言学习总结

时间:2022-06-14 14:00:59

因为基础知识薄弱,自己计划在学校毕业前想再好好学习学习基础知识。读的书中有王爽的《汇编语言》和《Intel汇编语言程序设计》,这两本书都特别棒,现在将学习的一些新的记录整理下来。

第一部分:汇编语言工具、平台介绍

第二部分:汇编语言基本语法

1. 在汇编语言里,寄存器数据的存储位置至关重要,下表就列出了多种寻址地址的方法。

汇编语言学习总结

2. 字单元和字节单元

用X ptr指明内存单元长度:

 

mov byte ptr [1000H],1
mov word ptr [1000H],1

 寻址地址在结构体和字段上的使用方法,下图是对应修改C语言结构体里汇编语言的方法:

汇编语言学习总结

3.div除法的使用方法

div reg
div 内存单元

 被除数默认在ax或dx和ax中,如果除数是8位,被除数是16位,默认在ax中;如果除数是16位,被除数是32位,默认在ax和dx中。

4. 在8086cpu中只有4个寄存器是可以使用[...]进行内存单元寻址的。


1)bx bp si di 
2)bx->si di bp->si di
3)bp默认的是ss为段寄存器,bx默认的为ds为段寄存器

汇编函数中数据位置
立即数、寄存器、段地址和偏移地址()

5. 命令

dd:定义double

dup:配合db,dd,dw使用,重复

6.偏移指令的原理

CPU执行指令顺序:

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

b.(IP)=(IP)+1,指向下一条命令

c.执行命令。转向a,重复。

 

offset:

jmp:

jcxz:

 

7.转移指令