汇编语言学习之指令

汇编语言学习之指令

ID:10263806

大小:73.53 KB

页数:43页

时间:2018-06-14

汇编语言学习之指令_第1页
汇编语言学习之指令_第2页
汇编语言学习之指令_第3页
汇编语言学习之指令_第4页
汇编语言学习之指令_第5页
资源描述:

《汇编语言学习之指令》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.BUFFERDB100DUP(0)表示以BUFFER为首地址的100个字节存放00H数据2.将从SLOT地址中取一个字送入AX中。假如要将SLOT标号所在段的段地址送入AX寄存器,则可用运算符SEG,其指令如下:MOVAX,SEGSLOT也就是说SEG送段地址3.若要将SLOT在段内的偏移地址送入AX寄存器,则可用运算符OFFSET,其指令如下:MOVAX,OFFSETSLOT而OFFSET送偏移地址4.SLOTDW25MOVAL,BYTEPTRSLOT如上的SLOT是字变量,我们用PTR取出它的第一个字节单元5.MOV[BX],5

2、对该指令,汇编程序不能知道传送的是一个字节还是一个字。若是一个字节,则应写成:MOVBYTEPTR[BX],5若是字,则应写成:MOVWORDPTR[BX],56.K1DB30H,31H,32HK2DW4041H,4043HK3DW20HDUP(0)K4DD50515253HMOVAL,TYPEK1;等效于MOVAL,1MOVAH,TYPEK2;等效于MOVAH,2MOVAL,LENGTHK3 ;(AL)←20H,返回DUP前面的数值MOVCL,LENGTHK4;(CL)←01HMOVBL,SIZEK3;(BL)←40HMOVDL,SI

3、ZEK4;(DL)←04H取有效地址指令LEA(LoadEffectiveAddress)指令LEA是把一个内存变量的有效地址送给指定的寄存器。其指令格式如下:LEA Reg,Mem该指令通常用来对指针或变址寄存器BX、DI或SI等置初值之用。其功能如右图所示。例如:图5.4LEA指令的功能示意图…BUFFERDB 100DUP(?)…LEABX,BUFFER     ;把字节变量BUFFER在数据段内的偏移量送给BX…加法指令1.加法指令ADD(ADDBinaryNumbersInstruction)指令的格式:ADD Reg/Mem

4、,Reg/Mem/Imm受影响的标志位:AF、CF、OF、PF、SF和ZF指令的功能是把源操作数的值加到目的操作数中。2.带进位加指令ADC(ADDWithCarryInstruction)指令的格式:ADC Reg/Mem,Reg/Mem/Imm受影响的标志位:AF、CF、OF、PF、SF和ZF指令的功能是把源操作数和进位标志位CF的值(0/1)一起加到目的操作数中。3.加1指令INC(Incrementby1Instruction)指令的格式:INC Reg/Mem受影响的标志位:AF、OF、PF、SF和ZF,不影响CF指令的功能是

5、把操作数的值加1。4交换加指令XADD(ExchangeandAdd)指令的格式:XADD Reg/Mem,Reg      ;80486+受影响的标志位:AF、CF、OF、PF、SF和ZF指令的功能是先交换两个操作数的值,再进行算术“加”法操作。方法1:用16位寄存器编写程序MOVAX,wordptrd1;由于d1是双字类型,必须使用强制类型说明符。以下同。MOVDX,wordptrd1+2;(DX,AX)构成一个32位数据ADDAX,wordptrd2;低字相加ADCDX,wordptrd2+2;高字相加。在低字相加时,有可能会产生

6、“进位”MOVwordptrd1,AX;低字送给d1的低字MOVwordptrd1+2,DX;高字送给d1的高字方法2:用32位寄存器编写程序MOVEAX,d1ADDEAX,d2MOVd1,EAX例题:已知有二个32位数d1和d2(用数据类型DD说明),编写程序片段把d2的值加到d1中。2、减法指令、减法指令SUB(SubtractBinaryValuesInstruction)指令的格式:SUB Reg/Mem,Reg/Mem/Imm受影响的标志位:AF、CF、OF、PF、SF和ZF指令的功能是从目的操作数中减去源操作数。、带借位减S

7、BB(SubtractwithBorrowInstruction)指令的格式:SBB Reg/Mem,Reg/Mem/Imm受影响的标志位:AF、CF、OF、PF、SF和ZF指令的功能是把源操作数和标志位CF的值从目的操作数中一起减去。、减1指令DEC(Decrementby1Instruction)指令的格式:DEC Reg/Mem受影响的标志位:AF、OF、PF、SF和ZF,不影响CF指令的功能是把操作数的值减去1。、求补指令NEG(NegateInstruction)指令的格式:NEG Reg/Mem受影响的标志位:AF、CF、O

8、F、PF、SF和ZF指令的功能:操作数=0-操作数,即改变操作数的正负号。例5.4已知有二个32位数d1和d2,编写程序片段从d1中减去d2的值。解:方法1:用16位寄存器编写程序MOVAX,wordptr

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

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

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