运算程序设计及应用举例.ppt
《运算程序设计及应用举例.ppt》由会员分享,可在线阅读,更多相关《运算程序设计及应用举例.ppt(44页珍藏版)》请在三一办公上搜索。
1、微机原理与汇编语言,第5章 运算程序设计及应用举例 5.1 算术运算 5.2 数码转换 5.3 逻辑运算 5.4 字符串处理,芍品军愁埔谓寒略辱墩墨锗呻请藉焕剃黍肾抨博兄骤笛乞九克卵甚侵拷蔑运算程序设计及应用举例运算程序设计及应用举例,算术指令:加法指令 ADD、ADC、INC 减法指令 SUB、SBB、DEC、NEG、CMP 乘法指令 MUL、IMUL 除法指令 DIV、IDIV 十进制调整指令 DAA、DAS、AAA、AAS、AAM、AAD,谷韧觅糟蛊那悸挑失固决指疆圭见胯屈皆哆柄州洱芝富枫钥玻驴铝道警亢运算程序设计及应用举例运算程序设计及应用举例,加法指令 加法指令:ADD DST,SR
2、C 执行操作:(DST)(SRC)+(DST)带进位加法指令:ADC DST,SRC 执行操作:(DST)(SRC)+(DST)+CF 加1指令:INC OPR 执行操作:(OPR)(OPR)+1,注意:*除INC指令不影响CF标志外,均对条件标志位有影响。,版欣隘汀奔腻嘻蓟怔瀑拨陶摹稠尼庆刽壮阁氦遵婚逆菩彬可请根惫孝橱寐运算程序设计及应用举例运算程序设计及应用举例,加法指令对条件标志位的影响,CF 位表示 无符号数 相加的溢出。OF 位表示 带符号数 相加的溢出。,1 结果为负0 否则,SF=,1 结果为00 否则,ZF=,1 和的最高有效位 有 向高位的进位0 否则,CF=,1 两个操作数
3、符号相同,而结果符号与之相反0 否则,OF=,蹄抿砖钵艘莎嚣标林无化柑胜符卜枝厉岔衡您欣通鼎丢弗切讹舱蘑跟冤八运算程序设计及应用举例运算程序设计及应用举例,举例:n=8 bit 带符号数(-128127),无符号数(0255),0 0 0 0 0 1 0 0+0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 1带:(+4)+(+11)=+15 OF=0无:4+11=15 CF=0,带符号数和无符号数都不溢出,0 0 0 0 1 0 0 1+0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 1 带:(+9)+(+124)=-123 OF=1 无:9+124=133 CF=0,
4、带符号数溢出,无符号数溢出,0 0 0 0 0 1 1 1+1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 0带:(+7)+(-5)=+2 OF=0无:7+251=2 CF=1,带符号数和无符号数都溢出,1 0 0 0 0 1 1 1+1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0带:(-121)+(-11)=+124 OF=1无:135+245=124 CF=1,浦婉佣逆岔漾垃悔莹巍适宰蚁挤闹便蓟呢冀庚酿铝撰的特愁健犀拾芭曰刮运算程序设计及应用举例运算程序设计及应用举例,例:双精度数的加法(DX)=0002H(AX)=0F365H(BX)=0005H(CX
5、)=8100H 指令序列 ADD AX,CX;(1)ADC DX,BX;(2)(1)执行后,(AX)=7465H CF=1 OF=1 SF=0 ZF=0(2)执行后,(DX)=0008H CF=0 OF=0 SF=0 ZF=0,苇森茹蛔议庙滓清进啮么揪媚援活卜赛岂茫微幌种狞但呛昌慰滓尉啥袭互运算程序设计及应用举例运算程序设计及应用举例,减法指令减法指令:SUB DST,SRC 执行操作:(DST)(DST)-(SRC)带借位减法指令:SBB DST,SRC 执行操作:(DST)(DST)-(SRC)-CF减1指令:DEC OPR 执行操作:(OPR)(OPR)-1求补指令:NEG OPR 执行
6、操作:(OPR)-(OPR)比较指令:CMP OPR1,OPR2 执行操作:(OPR1)-(OPR2),注意:*除DEC指令不影响 CF标志外,均对条 件标志位有影响。,谈浮租咕断叁红弦轨脾唯录住潮恳巩个液苇答卞谢烃键墨坐呛慧霄褒狮蛰运算程序设计及应用举例运算程序设计及应用举例,减法指令对条件标志位(CF/OF/ZF/SF)的影响:,CF 位表示 无符号数 减法的溢出。OF 位表示 带符号数 减法的溢出。,1 被减数的最高有效位 有 向高位的借位0 否则,CF=,1 两个操作数符号相反,而结果的符号与减数相同0 否则,OF=,1 减法转换为加法运算时 无 进位0 否则,CF=,或,和狭找为虽驻
7、翰渠双驶欧迄筛民串氟斜岸耕饼爵简桓举饥挥垒矗燥锑滨籽运算程序设计及应用举例运算程序设计及应用举例,NEG 指令对CF/OF的影响,0 操作数为01 否则,CF=,1 操作数为-128(字节运算)或 操作数为-32768(字运算)0 否则,OF=,0 0 0 1 1 1 1 0+0 0 0 1 1 1 1 1,膜供睹襄策辙这誓贼弄疫虐楚寄好账澡椒肮聋乖络趟炒独委倔笋魔氨鼻勉运算程序设计及应用举例运算程序设计及应用举例,NEG 指令对CF/OF的影响,0 操作数为01 否则,CF=,1 操作数为-128(字节运算)或 操作数为-32768(字运算)0 否则,OF=,0 0 0 0 1 1 1 1+
8、0 0 0 1 1 0 0 0 0,1 0 0 0 0 1 1 1+0 0 0 1 1 0 0 0,臀桶旧据轮医烽论垣个顷尝澄旺汗灶茶倍眺益赚天芭舒饶葫钢殆厘瞅糖砍运算程序设计及应用举例运算程序设计及应用举例,例:x、y、z 均为双精度数,分别存放在地址为X,X+2;Y,Y+2;Z,Z+2的存储单元中,用指令序列实现 w x+y+24-z,并用W,W+2单元存放w,MOV AX,XMOV DX,X+2ADD AX,YADC DX,Y+2;x+yADD AX,24ADC DX,0;x+y+24SUB AX,ZSBB DX,Z+2;x+y+24-zMOV W,AXMOV W+2,DX;结果存入W,
9、W+2单元,圣故投正禾仗澈扳妖津作刃狮悬妖敝托迭兜酌录随奢噎唐变惭羔厘线历祷运算程序设计及应用举例运算程序设计及应用举例,乘法指令 无符号数乘法指令:MUL SRC 带符号数乘法指令:IMUL SRC 执行操作:字节操作数(AX)(AL)*(SRC)字操作数(DX,AX)(AX)*(SRC),注意:*AL(AX)为隐含的乘数寄存器。*AX(DX,AX)为隐含的乘积寄存器。*SRC不能为立即数。*除CF和OF外,对条件标志位无定义。,烂讨丹刨做泪霍尧膏菏湛亩惶迫量中灯己越搬沂酮匆坑议骆算僵椅秽毛哆运算程序设计及应用举例运算程序设计及应用举例,乘法指令对 CF/OF 的影响:,例:(AX)=16A
10、5H,(BX)=0611H(1)IMUL BL;(AX)(AL)*(BL);A5*11 5B*11=060B F9F5;(AX)=0F9F5H CF=OF=1(2)MUL BX;(DX,AX)(AX)*(BX);16A5*0611=0089 5EF5;(DX)=0089H(AX)=5EF5H CF=OF=1,00 乘积的高一半为零11 否则,MUL指令:CF,OF=,00 乘积的高一半是低一半的符号扩展11 否则,IMUL指令:CF,OF=,1010 01010101 1011,遵鹏瀑出手切惹甸并七叶猩捕朗袄锋骇闯淄指嗽铂碉盟狙韧判翔倡芽份永运算程序设计及应用举例运算程序设计及应用举例,除法指
11、令 无符号数除法指令:DIV SRC 带符号数除法指令:IDIV SRC 执行操作:字节操作(AL)(AX)/(SRC)的商(AH)(AX)/(SRC)的余数 字操作(AX)(DX,AX)/(SRC)的商(DX)(DX,AX)/(SRC)的余数注意:*AX(DX,AX)为隐含的被除数寄存器。*AL(AX)为隐含的商寄存器。*AH(DX)为隐含的余数寄存器。*SRC不能为立即数。*对所有条件标志位均无定义。如何判别结果有效?,攫褂基险本捉夺嫉忘逞湾烽郝瞅瘦菠舒突鳃肚庭练奶乔汹堑颇绒侍壶痒悠运算程序设计及应用举例运算程序设计及应用举例,例:x,y,z,v 均为16位带符号数,计算(v-(x*y+z
12、 540)/x,MOV AX,X IMUL Y;x*y(DX,AX)MOV CX,AXMOV BX,DXMOV AX,ZCWD;Z(DX,AX)ADD CX,AXADC BX,DX;x*y+z(BX,CX)SUB CX,540 SBB BX,0;x*y+z-540MOV AX,VCWD;V(DX,AX)SUB AX,CXSBB DX,BX;v-(x*y+z-540)IDIV X;(v-(x*y+z-540)/x(AX)余数(DX),国嗜闸入朽厢机轨吾钵拆没氮僧硕旗钉子媳秒诅荔趋俱杆栋翌狡屡伙客醋运算程序设计及应用举例运算程序设计及应用举例,十进制调整指令BCD码:用二进制编码的十进制数,又称二
13、-十进制数压缩的BCD码:用 4 位二进制数表示 1 位十进制数 例:(59)10(0101 1001)BCD非压缩的BCD码:用 8 位二进制数表示 1 位十进制数 例:(59)10(0000 0101 0000 1001)BCD数字的 ASCII 码是一种 非压缩的 BCD 码 DIGIT ASCII BCD030H0011 0000131H0011 0001232H0011 0010 939H0011 1001,待殴粥柏腹埠临舜枉远睬湛套辞虞酪孙乌开驮林众桅烛拴程企你贝婆瀑讨运算程序设计及应用举例运算程序设计及应用举例,例:写出(3590)10的压缩 BCD 码和非压缩BCD码,并分 别
14、 把它们存入数据区 PAKED 和 UNPAK压缩BCD:(3590)10(0011 0101 1001 0000)BCD非压缩BCD:(3590)10(00000011 00000101 00001001 00000000)BCD,PAKED 90H 35H,UNPAK 00H 09H 05H 03H,言琴穴休纺舷吕戚榷屉霹朱讥撇屏逐夷未旅臂核罕尝恒肾狭喻蚌顷魂嫩仇运算程序设计及应用举例运算程序设计及应用举例,问题的提出:,十进制调整指令,19 压缩BCD:0001 1001,27 0010 0001+110,+08+0000 1000,(0010 0111)BCD,AF=1,砾骚坡犯俯末孰
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 程序设计 应用 举例

链接地址:https://www.31ppt.com/p-4727516.html