- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
立即定址法
第 3 章 學習 80x86 指令 本章提要 80x86 的指令格式與分類 搬動資料的指令群 算術指令群、邏輯運算指令群 平移與旋轉指令 流程控制與旗標控制指令 字串處理指令群 I/O 指令群、CPU 控制指令群 80x86 的指令格式 [前置指令] 指令 [運算元 1 [ , 運算元 2 [ , 運算元 3 ]]] 其中, [ ] 內的項目依指令之性質而使用, 有的指令可以加上前置指令, 有的不能。 指令與運算元之間要以空格隔開, 而運算元之間要以逗號隔開。 80x86 指令的分類 資料傳送指令群 算術運算指令群 位元運算指令群 流程控制指令群 字串處理指令群 I/O 指令群 系統控制指令群 資料傳送指令群 算術運算指令群 位元運算指令群 流程控制指令群 字串處理指令群 I/O 指令群 系統控制指令群 80x86 的 3 種定址法 暫存器定址法 Register addressing mode 立即定址法 Immediate addressing mode 記憶位址定址法 Memory addressing mode 記憶位址定址法的分類 直接定址法 Direct addressing mode 間接定址法 Indirect addressing mode 基底定址法 Based addressing mode 索引定址法 Indexed addressing mode 基底索引定址法 Based indexed addressing mode 暫存器定址法 暫存器定址法 節區暫存器之間不能互傳資料: 立即定址法 立即定址法的資料是儲存於指令本身: 立即定址法 直接定址法 直接定址法 間接定址類的定址法 間接定址法 基底定址法 基底定址法 索引定址法 基底索引定址法 間接定址類的寫法 mov ax, [bx + di + 6] mov ax, [bx + 6] [di] mov ax, 6 [bx + di] mov ax, [bx] [di] [6] 搬動資料的指令 MOV 搬動資料的指令 MOV 記憶位址上的資料不能直接互相 mov, 所以: 搬動資料的指令 MOV 只有一般暫存器的值才能 mov 至節區暫存器, 所以: 搬動資料的指令 MOV 搬動資料的指令MOVSX、MOVZX 搬動資料的指令 XCHG 搬動資料的指令 XCHG 搬動資料的指令 LAHF、SAHF 搬動資料的指令 LAHF、SAHF 查表指令 XLAT、XLATB 查表指令 XLAT、XLATB Xlat 主要是做為表格式數碼轉換, 例如: 查表指令 XLAT、XLATB 查表指令 XLAT、XLATB PUSH、POP PUSH、POP 堆疊指令群 堆疊指令群 堆疊指令群 取位址至暫存器 LEA、LDS、LES 取位址至暫存器 LEA、LDS、LES 取位址至暫存器 LEA、LDS、LES 算術指令 ADD、ADC 算術指令 ADD、ADC 算術指令 SUB、SBB 算術指令 SUB、SBB 算術指令 INC、DEC、NEG 算術指令 INC、DEC、NEG 比較指令 CMP 比較指令 CMP 整數相乘指令 MUL、IMUL 整數相乘指令 MUL、IMUL 算術指令 DIV、IDIV 算術指令 DIV、IDIV CBW、CWD (CWDE、CDQ) CBW、CWD (CWDE、CDQ) 用 cwd 來算絕對值 用 cwd 來算絕對值 認識 BCD BCD 為 Binary Coded Decimal 的簡寫, 就是以 Binary 來表示十進數的意思。 BCD 調整指令 aaa:(Ascii Adjust after Addition) aas:(Ascii Adjust after Substraction) aam:(Ascii Adjust after Multiplication) aad:(Ascii Adjust before Division) daa:(Decimal Adjust AL after Addition) das:(Decimal Adjust After Substraction) BCD 調整指令 BCD 調整指令 邏輯運算指令群 邏輯運算的真值表 邏輯運算指令 邏輯運算指令 平移與旋轉指令 移動方式 shr shl 和 sal 移動方式 sar 邏輯與算術移動說明 mov ah,82h ;82h 即有號數的 -126 sar ah,1 ;除以 2 邏輯與算術移動說明 旋轉指令群 旋轉方向 ror rol 旋轉方向 rcr 及 rcl 旋轉指令 旋轉指令 位元測試與設定指令群 位元測試指令 bt 旗標設定指令群 旗標設定指令 旗標設定指令 跳躍指令群 條件式
文档评论(0)