- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机-10运算
3.4 算术运算类指令 ?;?;?;?;BCD码运算,一般为双操作数,目的操作数不能是立即数,两个操作数不能都位于存储器。 操作数可以是无符号数也可以是有符号数(补码),两个操作数编码需一致。 无符号数和有符号数计算结果是否溢出判断标准不同! 无符号数用CF,有符号数用OF(出错) 一般影响所有标志位,不能对段寄存器运算! ADD 不带进位位的加法,结果在dst中 ADD AX,2000H ;(AX)+2000H ?(AX) ADD AH,BL ;(AH)+(BL) ? (AH) ADD AX,[BX+2000H] ;((BX)+2001H;(BX)+2000H)+(AX) ?(AX) 例3.5 MOV DL,0E5H ADD DL,0A4H ;(DL)=89H + 1 ; AF=0;CF=1;OF=0;PF=0 对无符号数: 229+164=393=100H+89H=189H(溢出) 对有符号数: -27-92=-119; [-119]补=89H ADC 带进位位的加法,src+dst+CF ?dst 用于多字节(字)相加时,低字节进位信息向高字节传递 ADC AL,DL ;(AL)+(DL)+(CF) ? AL ADC BX,3000H ADC DX,[SI] ;(DX)+((SI+1),(SI))+(CF) ? DX 例3.6 有一个32位无符号数放在DX(高16位)和AX(低16位)中,现与常数76F1A23H相加 ADD AX,1A23H ADC DX,76FH ;+A32H 多字节(字)相加时,无论数的大小,必须每字节(字)都操作到! INC 增量指令,无符号数加1( dst+1?dst),多用于修改指针,计数 INC AL INC CX INC BYTE PTR [BX+5000H] 不影响CF,但影响其它标志! SUB 不带借位位减法,dst-src ?dst, SUB AX,BX SUB AL,DA_BYTE SUB [BP+2],AL ;((BP)+2)-(AL) ?((BP)+2) SUB AL,20H 例3.7 DA_BYTE DB A9H MOV AL,B7H - + SUB AL,DA_BYTE 0 1 AF=1;OF=0;ZF=0;PF=0;SF=0 对无符号数: 183-169=14; 对有符号数: -73+87=14 SBB 带借位位减法,dst-src -CF?dst, 用于多字节(字)相减时,将低字节的借位信息向高字节传 SBB AX,2030H SBB AL,BL 多字节(字)相减时,无论数的大小,必须每字节(字)都操作到! DEC 减量指令,无符号数减1( dst-1?dst),多用于修改指针,计数 DEC AX DEC BYTE PTR [DI+2] 不影响CF,但影响其它标志! NEG 取补指令,0-dst?dst,求补运算,负数补码求绝对值 NEG AX NEG BYTE PTR [DI+2] 除非操作数为0,否则指令执行后总是CF=1 除非操作数为80H(8000H),否则指令执行后总是OF=0 计算机操作:取反加1 CMP 比较指令,根据dst-src设置标志位,不回送结果. CMP AX,2010H CMP 2010H,AX CMP AL,[BX+DI+100H] ZF=1 ;dst=src 对无符号数 CF=0 ; dstsrc 对有符号数 OF=SF ; dstsrc 计算机可判断 OF?SF ; dstsrc MUL 无符号数乘法指令, 双操作数指令,被乘数隐含在AL或AX,积在AX或DX,AX中,乘数必须在寄存器或储存器内! MUL 67H ;?
文档评论(0)