- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算术逻辑运算程序5.1带符号和无符号二进制数加减运算5.1.1加减运算指令1、ADD指令(字节或字相加) 格式:ADD目的操作数 ,源操作数 功能:将目的操作数加上源操作数, 和送至目的操作数。注意: 目:寄存器、存储器操作数。 源: 寄存器、存储器操作数和立即数。 二者类型要一致,即同时为字,或同时 为字节。但不能同时为存储器操作数。 影响状态标志:AF、CF、OF、PF、SF、ZF1)寄存器----寄存器 例: ADD AX ,BX ;(AX)+(BX)=AX ADD CX, DX ADD BX,DI2)存储器----寄存器 例: ADD CX, A ;A用DW定义 ADD AX,BETA[SI] ;BETA用DW定义 ADD BX,[BX][SI]3)寄存器----存储器 例: ADD A,CX ;A用DW定义 ADD BETA[SI],AX4)立即数累加到寄存器/存储器 例:ADD AL,3 ADD AX,356 ADD CX,100 ADD BETA[SI],34状态标志位:ZF:当运算结果为0时,置1。SF:结果为负时,置1。CF: 执行加法指令时,CF是根据最高有效位是否有 向高位进位设置的。有进位时CF置1OF: 据操作数的符号及其变化情况来定,若两操作 数符号相同而结果符号与之相反时,OF=1。 也既是 如果结果溢出,则OF置1。 ADD DX, 0F0F0H(DX)=4652H则: 0100 0110 0101 0010 + 1111 0000 1111 0000 1 0011 0111 0100 0010(DX)=3742H,ZF=0,SF=0,CF=1,OF=0OF OV/NV 1/0有/无DF DN/UP减/增IF EI/DI开/关SF NG/PL负/正ZF ZR/NZ 0/非0AF AC/NA有/无PF PE/PO偶/奇CF CY/NC有/无2、ADC指令(带进位的加法指令) add with carry 格式:同ADD 功能:源操作数加目的操作数再加进位标志CF的和 送至目的操作数。 即:如果进位标志位被置位则两个操作数相加的 结果在存入目的操作数之前再加1,否则,再加0。影响状态标志位:AF,CF,OF,PF,SF,ZF。ADD和ADC指令既适用于无符号二进制数也适用于有符号的。 但它们的两个操作数必须同时为字节(8位)或字(16位)。3、INC指令(字节或字加1) increment格式:INC 目的操作数功能:目的操作数加1后送至目的操作数。注意:目的操作数可以为通用寄存器,也可以存储器, 但不能是立即数。本指令主要用在循环程序中 修改地址指针和循环次数等。指令执行结果影 响AF,OF,PF,SF,ZF。但不影 响CF 。例:INC CX INC A ;A为变量名 INC WORD PTR[SI] ;注意INC [SI]是错的。4、SUB指令(字节或字相减) subtract格式:SUB 目的操作数,源操作数功能:目的操作数减源操作数,结果送目的操作数。 影响状态标志位:AF,CF,OF,PF,SF,ZF。5、SBB指令(带借位的减法指令) subtract with borrow格式:SBB 目的操作数,源操作数功能:目的操作数减源操作数,再减去进位标志CF的值, 结果送目的操作数。影响AF,CF,OF,PF,SF,ZF.本指令主要用于多字节操作数相减。在行减法运算时(SUB或SBB)若有高位的借位就置CF为1;例:MOV AL,64H MOV BL,03H SBB AL,BL ;AL-BL-CF=AL,若CF=1, 则AL结果为60H6、DEC指令(字节或字相减) decrement格式:DEC目的操作数功能:将目的操作数的值减1,在将结果送回目的操作数。注意:操作数不能是立即数,在相减时把操作数作为一个 无符号二进制数来对待。影响:AF,OF,PF,SF,ZF, 但不影响CF。7、NEG指令(求补) negate格式:NEG目的操作数功能:使目的操作数的符号变反, 即0减去目的操作数 后送目的操作数,例+1变为-1。影响AF,CF,OF,PF,SF,ZF。但注意若操作数为0,指令执行后CF置0,否则置 1。5.1.2程序举例例:5.1计算356+789和0B4H-25HDATA SEGMENT A DW 356 B DW 789 C DW ? D DB 0B4H E DB 25H F DB
原创力文档


文档评论(0)