汇编语言笔记

汇编语言笔记

ID:36229882

大小:49.50 KB

页数:10页

时间:2019-05-07

汇编语言笔记_第1页
汇编语言笔记_第2页
汇编语言笔记_第3页
汇编语言笔记_第4页
汇编语言笔记_第5页
资源描述:

《汇编语言笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MOV说明:指令中dest和src不能同时为存储器操作数,串操作指令除外;CS不能做为目标操作数使用;段寄存器之间不能互相传送;立即数不能送入段寄存器;不允许手工修改CS的值。MOVCS,AX;非法指令PUSH说明:PUSH指令的目标地址一定在当前堆栈中。SS内容为段基址,偏移量由堆栈指针SP指出。操作数一定是16位的寄存器或存储器操作数。POP说明:目标操作数只能是16位的存储器或寄存器操作数(CS除外)。XCHG说明:dest和src不能同时为存储器操作数;即不能在存储器与存储器之间交换据数;段寄存器、立即数都不能用作操作数。XLAT说明

2、:XLAT指令用于查表。表的开始地址即表头地址由BX寄存器给出。AL中的原始值是要寻址的表中元素地址的位移量,规定表中第一个字节的位移量为0。LEA说明:LEA指令是将源操作数地址的偏移量,即有效地址传送到目标操作数中。源操作数必须是一个存储器操作数,目标操作数可以是任一16位通用寄存器、指针寄存器或变址寄存器。LDS说明:LDS是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目标寄存器中。高位字内容为段基地址,LDS指令将其传送到数据段寄存器DS中,低位字内容为偏移量,传送到由dest指出的一个通用寄存器,指针寄存

3、器或变址寄存器中,但不能是段寄存器。LES说明:LES是将src指出的连续两个字的内容,即一个32位的指针变量传送到一对16位的目标寄存器中。高位字为段基地址,LES指令将其传送到附加段寄存器ES中,低位字为偏移量,传送到由dest指出的一个通用寄存器,指针寄存器或变址寄存器中,但不能是段寄存器。IN说明:acc为累加器AX或AL,取决于所访问端口的类型,若端口为16位长,则累加器为AX;若端口为8位长,则累加器为AL。注意:port为所访问的端口地址,其寻址方式有两种:直接寻址和间接寻址。若其值在0~255之间,则既可以使用直接寻址,也可以

4、使用间接寻址;若其值大于255,则必须使用间接寻址。直接寻址:将端口地址直接在指令中给出;间接寻址:事先必须将端口地址存入DX寄存器,指令中不可直接出现地址值。OUT(规定同IN)ADD说明:dest和src不能同时为存储器操作数和段寄存器。ADC说明:ADC指令主要用于多精度数据相加。INC说明:INC指令不影响CF。SBB说明:SBB指令主要用于多精度数据减法。DEC说明:DEC指令不影响CF。NEG说明:NEG指令对于带符号的数来说是取负,即改变操作数的符号。CMP说明:CMP将两个操作数相减,两个操作数保持原值不变,但与SUB指令一样

5、影响标志。MUL说明:⑴源操作数src不能是立即数。⑵如果乘积的高半部不为零时,CF和OF被置位,否则将被清除。IMUL说明:①src不能是立即数。②IMUL指令视操作数为带符号的数。如果乘积的高半部不是符号位的扩展时,CF和OF被置位,否则将被清除。DIV①src不能是立即数;②如果商数超过了允许的最大值(字节时为0FFH,字时为0FFFFH)时就产生一个方式0的中断,并且商和余数都不确定。IDIV说明:①src不能是立即数;②如果商数超过了允许的最大值(字节时为-128~127,字时为-32768~32767)时就产生一个方式0的中断,并

6、且商和余数都不确定。③余数始终与被除数同号,商向0靠拢。CBW说明:CBW是将AL寄存器中数的符号位扩展到整个AH寄存器中。CWD说明:CWD将寄存器AX的符号位扩展到整个寄存器DX中。AND说明:AND指令可借助某个给定的操作数将另一个操作数中的某些位清除(这种操作也称设置屏蔽),使某些位保持不变,这个数通常称为掩码。XOR注意:与0异或的位不变,与1异或的位取反。TEST说明:TEST指令通过“与”的方式对两个源操作数进行比较,但不保留“与”的结果。移位操作指令说明:①dest可以是任一通用寄存器,也可以是各种寻址方式给出的内存单元,cn

7、t为移位次数。②移位操作是将给定的目标操作数移动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)指令中要处理的两个数据串应分别在数据段(src)和附加段(dest)中定义。(2)数据段中定义的数据串要用SI作指针;附加段中定义的数据串要用DI作指针。(3)数据串操作指令每执行一

8、次,指针SI和DI会自动修改。增量修改还是减量修改取决于方向标志位DF的状态。若DF=0,则指针增量修改,即SI=SI+DELTADI=DI+DELTA若DF=1,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。