您的位置:首页 > 其它

汇编基础知识总结

2017-04-30 02:22 344 查看
上学期自学过汇编后,也没有什么经常使用的需求,不到一学期,很多知识就忘却了,只是记个大概,为了以后能快速回忆以前学习的汇编知识,所以写这个来一点点积累平时学到的汇编基础知识点。

可以说有多少种不同内核的CPU,就有多少种汇编语言,当然,很多人学习汇编并不是真的要用汇编开发,而是更加了解自己的小伙伴(或者应付考试???),所以呢,出于这个目的,我总结的是针对于 16 位 CPU 的 masm 汇编。客观讲,虽然汇编与汇编之间有区别,但是他们都是万变不离其宗的,彼此相通,熟练掌握了一种汇编,就不怕搞不懂其他的了。

寄存器

寄存器按照功能的不同可分为

通用寄存器(AX,BX,CX,DX,SP,BP,SI,DI)、

段寄存器(CS,DS,ES,SS)、

指令指针寄存器(IP)、

标志寄存器(FLAGS)。

详细请参考: 汇编寄存器

物理地址

PA=段地址x16+偏移量

有效地址

EA=段内偏移量

7 种寻址方式

立即寻址方式 Mov AL, 12H (12H 是一个立即数)

寄存器寻址方式

Mov B, BX (源操作数是寄存器)

Mov BX, B (目的操作数是寄存器)

Mov AX, BX (两者都是寄存器)

直接寻址方式(中括号中是地址)

Mov AX, [1234H] (默认是 DS)

Mov AX, ES:[1234H] (指定使用 ES)

寄存器间接寻址方式 Mov AX, [DI] (DI 是地址)

注意:操作数的有效地址用SI、DI、BX和BP等四个寄存器之一来指定。若有效地址用SI、DI和BX来指定,则其缺省的段寄存器为DS;若有效地址用BP来指定,则其缺省的段寄存器为SS。

寄存器相对寻址方式 Mov AX,[SI + 123H] (寄存器 + 立即数)

基址加变址寻址方式 Mov AX, [AX + SI] (寄存器 + 寄存器)

相对基址加变址寻址方式 Mov AX, [BX + SI + 123H] (寄存器 + 寄存器 + 立即数)

16 位 CPU 内部有 20 根地址线,其编码区为:[00000H,FFFFFH],可直接访问的物理空间为 1 M。

持续更新中……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  汇编