- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章算数运算指令
80X86CPU提供了完整的加、減、乘、除算術運算指令,可以處理的資料長度為8位元、I6位元或32位元。在作乘、除運算時,如果是「無號數」運算,則使用MUL、DIV指令,如果是「有號數」運算,則使用IMUL、IDIV指令。由於乘、除指令在執行時,耗用太多的時序週期,所以大部份的程式設計師都儘量地避免使用乘、除指令,而改由其它指令完成,如移位、旋轉指令等,移位、旋轉指令將在下一章介紹。
6-1 加法運算指令
ADD (addition)指令:加法運算,將來源運算元加至目的運算元中。
*語法:ADD目的運算元,來源運算元
*說明:ADD指令會將來源運算元與目的運算元相加,再將結果存回目的運算元中。來源運算元可以是立即值、一般暫存器或記憶體變數,目的運算元可以是一般暫存器或記憶體變數,來源運算元與目的運算元的大小必須相同,即同為8位元、16位元或32位元。來源運算元與目的運算元不可以同時為記憶體變數。
◆格式:1﹒ADD暫存器,立即值 EX:ADD AL,78H
2﹒ADD暫存器,暫存器 EX:ADD BX,AX
3﹒ADD暫存器,記憶體 EX:ADD AL,[BX];中括號表示資料段中BX所指的記憶體。
4﹒ADD記憶體,立即值 EX:ADD [BX],-32
5﹒ADD記憶體,暫存器 EX:ADD [BX],AX
◆範例:MOV AX,1234H
MOV BX,5678H
ADD BX,AX
結果:AX = 68ACH,BX = 5678H。
ADC (addition with carry)指令:加法運算,將來源運算元與進位旗標CF加至目的運算元中。
*語法:ADC目的運算元,來源運算元
*說明:ADC指令會將來源運算元、目的運算元與進位旗標CF相加,再將結果存回目的運算元中。與ADD指令相同,來源運算元可以是立即值、一般暫存器或記憶體變數,目的運算元可以是一般暫存器或記憶體變數,來源運算元與目的運算元的大小必須相同,即同為8位元、16位元或32位元。來源運算元與目的運算元不可以同時為記憶體變數。
◆格式:1﹒ADC暫存器,立即值 2﹒ADC暫存器,暫存器 3﹒ADC暫存器,記憶體
4﹒ADC記憶體,立即值 5﹒ADC記憶體,暫存器
範例:STC ;set carry flag 設定進位旗標CF=1。
MOV AX,1234H
MOV BX,5678H
ADC AX,BX
結果:AX = 68ADH,BX = 5678H,CF = 1。
INC (increment)指令:將暫存器或記憶體的內容遞增加1。
*語法:INC目的運算元
*說明:INC指令會將目的運算元加1,再將結果存回目的運算元中。必須注意的是INC指令並不會影響進位旗標 CF,目的運算元可以是一般暫存器或記憶體變數,其大小可以是8位元、16位元成32位元。
◆格式:1﹒INC 暫存器 2﹒INC 記憶體
範例:MOV AX,1000H
INC AX
結果:AX = 1001H 。
6-2 減法運算指令
SUB (subtraction)指令:目的運算元減去來源運算元,再將結果存回目的運算元中。
*語法:SUB目的運算元,來源運算元
*說明:SUB指令會將目的運算元減去來源運算元,再將結果存回目的運算元中。來源運算元可以是立即值、一般暫存器或記憶體變數,目的運算元可以是一般暫存器或記憶體變數,來源運算元與目的運算元的大小必須相同,即同為8位元、16位元或32位元。來源運算元與目的運算元不可以同時為記憶體變數。
◆格式:1﹒SUB暫存器,立即值 2﹒SUB暫存器,暫存器 3﹒SUB暫存器,記憶體
4﹒SUB記憶體,立即值 5﹒SUB記憶體,暫存器
◆範例:MOV AX,6789H
MOV BX,1234H
SUB BX,AX
結果:AX = 5555H,BX = 1234H
SBB (subtraction with borrow)指令:目的運算元減去來源運算元及借位(CF),再將結果存回目的運算元中。
*語法:SBB目的運算元,來源運算元
*說明:SBB指令會將目的運算元減去來源運算元及借位(CF),再將結果存回目的運算元中。與SUB指令相同,來源運算元可以是立即值、一般暫存器或記憶體變數,目的運算元可以是一般暫存器或記憶體變數,來源運算元與目的運算元的大小必須相同,即同為8位元、16位元或32位元。來源運算元與目的運算元不可以同時為記憶體變數。
◆格式:1﹒SBB暫存器,立即值 2﹒SBB暫存器,暫存器 3﹒SBB暫存器,記憶體
4﹒SBB記憶體,立即值 5﹒SBB記憶體,暫存器
範例:STC ;set car
您可能关注的文档
最近下载
- 论 自由 精品读本.pdf
- 医疗器械质量管理体系文件.pptx
- 金融中心施工总承包工程项目特色与观摩亮点介绍.pptx
- 小学数学六年级上册期中易错题重难点试卷含详细答案解析1524.docx
- 做自己的心理医生【26页】.pptx
- Module 4 单元整体教学设计 外研版(三起)六年级上册英语.docx
- 环球金融中心项目专项测量放线施工方案.docx
- 环球金融中心项目施工总承包工程质量创优策划.ppt
- 鼎信JB-QT-TS3200火灾报警控制器(联动型)安装使用说明书 XF2.900.029AS Ver.pdf VIP
- 中华护理学会团体标准TCNAS 21─2021解读:胰岛素皮下注射(1).pptx
文档评论(0)