理学汇编语言知识点Word文档格式.docx
- 文档编号:14751365
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:23
- 大小:78.02KB
理学汇编语言知识点Word文档格式.docx
《理学汇编语言知识点Word文档格式.docx》由会员分享,可在线阅读,更多相关《理学汇编语言知识点Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
三、物理地址=16⨯段地址+偏移地址
四、存储器的分段:
20根地址线:
地址范围00000H~FFFFFH(1MB)
机器字长16位:
仅能表示地址范围0000H~FFFFH(64KB)
小段:
每16个字节为一小段,共有64K个小段
段起始地址:
小段首地址
段的大小:
64K范围内的任意字节
五、存储器的逻辑分段优点:
允许程序在存储器内重定位;
允许实模式程序在保护模式下运行;
有利于程序和数据的分离。
六、中央处理器8086/8088寄存器组:
通用寄存器
数据寄存器:
AX,BX,CX,DX
变址寄存器:
SI、DI
指针寄存器:
SP、BP
控制寄存器:
IP、FLAGS
段寄存器:
CS、DS、SS、ES
七、标志寄存器(FLAGS/PSW)
条件标志位:
OF溢出标志SF符号标志ZF零标志
CF进位标志AF辅助进位标志PF奇偶标志
控制标志位:
DF方向标志IF中断标志TF陷阱标志
八、寄存器与存储器的比较:
寄存器:
在CPU内部;
访问速度快;
容量小,成本高;
用名字表示;
没用地址
存储器:
在CPU外部;
访问速度慢;
容量大,成本低;
用地址表示;
地址可用各种方式形成
第三章
寻址方式
操作数
所在位置
物理地址
(PA)
格式
注意
1.立即寻址
存储器的代码段
无
MOVAL,5
只能用源操作数
操作数和源操作数的长度一致
2.寄存器寻址
寄存器
(唯一)
MOVAX,BX
字节寄存器只有
AHALBHBLCHCLDHDL
CS不能用MOV指令改变,
源操作数和目的操作数的字长一致
3.直接寻址
存储器
段地址
+位移量
MOVAX,ES:
[2000H]
MOVAX,VALUE
MOVAX,[2000H]
默认的段地址存储在DS中
遇到BP的段地址存储在SS
可以使用段跨越前缀
4.寄存器
间接寻址
+基址
/变址
MOVAX,[BX]
[BX]
可用的寄存器:
BXBPSIDI
不允许使用AX、CX、DX
存放偏移地址(EA)
SRC和DST的字长一致
使用BP时,默认的数据段是SS,
其余都是DS
5.寄存器
相对寻址
MOVAX,COU[SI]
[COU+SI]
MOVAX,[COU+SI]
6.基址变址寻址
+变址
MOVAX,[BX+SI]
MOVAX,[BX][SI]
7.相对
基址变址
MOVAX,MASK[BX][SI]
MOVAX.MASK[BX+SI]
九、数据传送指令
传送指令MOVCPU内部寄存器之间的数据传送
指令格式:
MOVDST,SRC执行操作:
(DST)←(SRC)
注意:
*DST、SRC不能同时为段寄存器MOVDS,ES⨯
*DST、SRC不能同时为存储单元
*立即数不能直接送段寄存器MOVDS,2000H⨯
*DST不能是立即数和CS
*不影响标志位
交换指令XCHG
XCHGOPR1,OPR2执行操作:
(OPR1)↔(OPR2)
例:
XCHGBX,[BP+SI]XCHGAL,BH
*两个操作数字长一致
*两个操作数都不能是段寄存器
*两个操作数都不能是立即数
*两个操作数不能同时是存储单元
*可以采用除立即寻址方式外的任何一种寻址方式。
*不影响标志位
地址传送指令LEA、LDS、LES
1.有效地址送寄存器指令:
LEAREG,SRC执行操作:
(REG)←SRC
2.指针送寄存器和DS指令:
LDSREG,SRC执行操作:
(REG)←(SRC)
(DS)←(SRC+2)相继二字→寄存器、DS
3.指针送寄存器和ES指令:
LESREG,SRC执行操作:
(ES)←(SRC+2)相继二字→寄存器、ES
注意:
*源操作数必须为存储器操作数
*目的操作数必须是一个16位通用寄存器,不能是段寄存器
*源操作数可以是除立即寻址和寄存器寻址以外的任意一种寻址方式
堆栈操作指令PUSH、POP
1.进栈指令:
PUSHSRC
执行操作:
(SP)←(SP)–2((SP)+1,(SP))←(SRC)
出栈指令:
POPDST
(DST)←((SP)+1,(SP))(SP)←(SP)+2
堆栈:
‘先进后出’的存储区,段地址存放在SS中,SP在任何时候都指向栈顶,进出栈后自动修改SP。
*堆栈操作必须以字为单位。
*不影响标志位
*不能用立即寻址方式PUSH1234H⨯
*DST不能是CSPOPCS⨯
堆栈的用途:
临时保存寄存器的内容。
PUSHAX
PUSHBX
PUSHCX
……;
其间用到AX、BX、CX
POPCX;
后进先出
POPBX
POPAX
标志操作指令
LAHF、SAHF、PUSHF、POPF、CLC、STC、CMC、CLD、STD、LI、STI
标志传送指令:
1.标志送AH指令:
LAHF执行操作:
(AH)←(FLAGS的低字节)
2.AH送标志寄存器指令:
SAHF执行操作:
(FLAGS的低字节)←(AH)
*LAHF不影响标志位*SAHF影响CF、PF、AF、ZF、SF
标志进栈指令:
PUSHF
(SP)←(SP)-2((SP)+1,(SP))←(FLAGS)
标志出栈指令:
POPF
(FLAGS)←((SP)+1,(SP))(SP)←(SP)+2
PUSHF和POPF经常一起联用,完成保护、维护标志寄存器的内容或改变标志位的值。
标志位操作指令:
清进位标志指令CLCCF←0
置进位标志指令STCCF←1
进位标志取反指令CMCCF←CF
清方向标志指令CLDDF←0
置方向标志指令STDDF←1
清中断允许标志指令CLIIF←0
置中断允许标志指令STIIF←1
*只影响本指令指定的标志
一十、加减法指令:
加法指令:
ADDDST,SRC执行操作:
(DST)←(SRC)+(DST)
带进位加法指令:
ADCDST,SRC执行操作:
(DST)←(SRC)+(DST)+CF
加1指令:
INCOPR执行操作:
(OPR)←(OPR)+1
*除INC指令不影响CF标志外,均对状态标志位有影响。
各加法指令对条件标志位的影响:
SF=1,结果为负ZF=1,结果为0CF=1,和的最高有效位有向高位的进位
OF=1,两个操作数符号相同,而结果符号与之相反
CF位表示无符号数相加的溢出。
OF位表示带符号数相加的溢出。
减法指令:
SUBDST,SRC执行操作:
(DST)←(DST)-(SRC)
带借位减法指令:
SBBDST,SRC执行操作:
(DST)←(DST)-(SRC)-CF
减1指令:
DECOPR执行操作:
(OPR)←(OPR)-1
求补指令:
NEGOPR执行操作:
(OPR)←-(OPR)
比较指令:
CMPOPR1,OPR2执行操作:
(OPR1)-(OPR2)
各减法指令对条件标志位(CF/OF/ZF/SF)的影响:
CF=1,被减数的最高有效位有向高位的借位或CF=1减数转换为加法运算时无进位
OF=1两个操作数符号相反,而结果的符号与减数相同
CF位表示无符号数减法的溢出。
OF位表示带符号数减法的溢出。
NEG指令对CF/OF的影响
CF=0,操作数为0OF=1,操作数为-128(字节运算)或-32727(字运算
一十一、乘除运算指令
无符号数乘法指令:
MULSRC带符号数乘法指令:
IMULSRC
字节操作数(AX)←(AL)*(SRC)
字操作数(DX,AX)←(AX)*(SRC)
*目的操作数必须是累加器
*AL(AX)为隐含的乘数寄存器。
*AX(DX,AX)为隐含的乘积寄存器。
*SRC不能为立即数。
*除CF和OF外,对条件标志位无
乘法指令对CF/OF的影响:
MUL指令:
CF,OF=00乘积的高一半为零
11否则
IMUL指令:
CF,OF=00乘积的高一半是低一半的符号扩展
11否则
(AX)=16A5H,(BX)=0611H
(1)MULBX;
(DX,AX)←(AX)*(BX)
;
16A5*0611=00895EF5
(DX)=0089H(AX)=5EF5HCF=OF=1
(2)IMULBL;
(AX)←(AL)*(BL)
A5*11⇒5B*11=060B⇒F9F5
;
(AX)=0F9F5HCF=OF=1
无符号数除法指令:
DIVSRC
带符号数除法指令:
IDIVSRC
字节操作(AL)←(AX)/(SRC)的商(AH)←(AX)/(SRC)的余数
字操作(AX)←(DX,AX)/(SRC)的商(DX)←(DX,AX)/(SRC)的余数
*AX(DX,AX)为隐含的被除数寄存器。
*AL(AX)为隐含的商寄存器。
*AH(DX)为隐含的余数寄存器。
*对所有条件标志位均无定义。
一十二、类型转换指令
CBWAL→AX
若(AL)的最高有效位为0,则(AH)=00H,若(AL)的最高有效位为1,则(AH)=FFH
CWDAX→(DX,AX)
若(AX)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 理学 汇编语言 知识点