2023年汇编语言笔记.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

MOV

说明:指令中dest和src不能同时为存储器操作数,串操作指令除外;CS不能做为目的操作数使用;段寄存器之间不能互相传送;立即数不能送入段寄存器;不允许手工修改CS的值。MOVCS,AX;非法指令

PUSH

说明:PUSH指令的目的地址一定在当前堆栈中。SS内容为段基址,偏移量由堆栈指针SP指出。操作数一定是16位的寄存器或存储器操作数。

POP

说明:目的操作数只能是16位的存储器或寄存器操作数(CS除外)。

XCHG

说明:dest和src不能同时为存储器操作数;即不能在存储器与存储器之间互换据数;段寄存器、立即数都不能用作操作数。

XLAT

说明:XLAT指令用于查表。表的开始地址即表头地址由BX寄存器给出。AL中的原始值

是要寻址的表中元素地址的位移量,规定表中第一个字节的位移量为0。

LEA

说明:LEA指令是将源操作数地址的偏移量,即有效地址传送到目的操作数中。源操作数必须是一个存储器操作数,目的操作数可以是任一16位通用寄存器、指针寄存器或变址寄存器。

LDS

说明:LDS是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目的寄存器中。高位字内容为段基地址,LDS指令将其传送到数据段寄存器DS中,低位字内容为偏移量,传送到由dest指出的一个通用寄存器,指针寄存器或变址寄存器中,但不能是段寄存器。

LES

说明:LES是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目的寄存器中。高位字为段基地址,LES指令将其传送到附加段寄存器ES中,低位字为偏移量,传送到由dest指出的一个通用寄存器,指针寄存器或变址寄存器中,但不能是段寄存器。

IN

说明:acc为累加器AX或AL,取决于所访问端口的类型,若端口为16位长,则累加器为AX;若端口为8位长,则累加器为AL。

注意:port为所访问的端口地址,其寻址方式有两种:直接寻址和间接寻址。若其值在0~255之间,则既可以使用直接寻址,也可以使用间接寻址;若其值大于255,则必须使用间接寻址。

直接寻址:将端口地址直接在指令中给出;

间接寻址:事先必须将端口地址存入DX寄存器,指令中不可直接出现地址值。

OUT(规定同IN)

ADD

说明:dest和src不能同时为存储器操作数和段寄存器。

ADC

说明:ADC指令重要用于多精度数据相加。

INC

说明:INC指令不影响CF。

SBB

说明:SBB指令重要用于多精度数据减法。

DEC

说明:DEC指令不影响CF。

NEG

说明:NEG指令对于带符号的数来说是取负,即改变操作数的符号。

CMP

说明:CMP将两个操作数相减,两个操作数保持原值不变,但与SUB指令同样影响标志。

MUL

说明:⑴源操作数src不能是立即数。⑵假如乘积的高半部不为零时,CF和OF被置位,否则将被清除。

IMUL

说明:①src不能是立即数。

②IMUL指令视操作数为带符号的数。假如乘积的高半部不是符号位的扩展时,CF和OF被置位,否则将被清除。

DIV

①src不能是立即数;

②假如商数超过了允许的最大值(字节时为0FFH,字时为0FFFFH)时就产生一个方式0的中断,并且商和余数都不拟定。

IDIV

说明:①src不能是立即数;

②假如商数超过了允许的最大值(字节时为-128~127,字时为-32768~32767)时就产生一个方式0的中断,并且商和余数都不拟定。

③余数始终与被除数同号,商向0靠拢。

CBW

说明:CBW是将AL寄存器中数的符号位扩

展到整个AH寄存器中。

CWD

说明:CWD将寄存器AX的符号位扩展到整个

寄存器DX中。

AND

说明:AND指令可借助某个给定的操作数将另一个操作数中的某些位清除(这种操作也称设立屏蔽),使某些位保持不变,这个数通常称为掩码。

XOR

注意:与0异或的位不变,与1异或的位取反。

TEST

说明:TEST指令通过“与”的方式对两个源操作数进行比较,但不保存“与”的结果。

移位操作指令

说明:①dest可以是任一通用寄存器,也可以是各种寻址方式给出的内存单元,cnt为移位次数。②移位操作是将给定的目的操作数移动cnt次。cnt可认为1,也可以是CL的内容。③SHL/SAL,SHR,SAR影响CF,OF,PF,SF,ZF;ROL,ROR,RCL,RCR仅影响CF和OF位。④CF的值总是最后一次被移入的值。⑤在移动1位的移位中,假如目的操作数的最高位(符号位)改变了,那么OF就被置1,否则,OF就被清0。

串操作指令

说明:

(1)指令中要解决的两个数据串应分别在数据

您可能关注的文档

文档评论(0)

135****0879 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档