- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.3 常用指令
2.3 常用指令 数据传送类指令 加减运算指令 位操作指令 指令应用举例 2.3.1 数据传送类指令 可实现 存储器 寄存器 I/O 四种: 数据传送指令 数据交换指令 地址传送指令 查表转换指令 1.数据传送指令 (1)格式:MOV 目的,源;目的←源(数据字节/字) 目的:寄存器、存储器 源:寄存器、存储器、立即数 两操作数不能同时在存储器中 例: MOV CL,DL MOV CL,[BX+5] MOV AL, ‘A’ ;AL=?源? MOV AX,OFFSET W2;AX=?源? 形式:9种,见P47 几个不能传送的解决办法:用AX作桥梁 存储器←存储器: MOV AX,MEM1 MOV MEM2,AX 段寄存器←段寄存器: MOV AX,DS MOV ES,AX 段寄存器←立即数: MOV AX,DATA MOV DS,AX (2)数据交换指令 (4)查表转换指令 2.3.2 加减运算指令 1.加法指令 2.减法指令3.比较指令 操作数:P50 图2-4 算术运算(+-×÷): ①段寄存器不可进行; ②二进制数、非压缩BCD数全可进行; ③压缩BCD数只可+, - ; ④字/字节,同为符号数(或无符号数); ⑤数据范围: BCD 0~99 0~9999 无符号 0~255 0~65535 有符号 ﹣128~+127 ﹣32768~+32767 1.加法类指令 (2) 带进位的加指令ADC (方便多字节加法) 格式: ADC 目的, 源 操作: 目的←(目的)+(源)+(CF); 目的变,源不变,CF为原值 形式: 5种,P51 ADC AL,68H ;AL←(AL)+68H+(CF) ADC AX,CX ;AX←(AX)+(CX)+(CF) # 影响F状态标志 (3)增量指令INC(加1,修改地址指针、计数) (单操作数指令) 2. 减法类指令(类比加法) 3. 比较指令CMP 根据标志位判比较结果 1) ZF=?ZF=1, 两数相等; ZF=0, 两数不等 2)若两数不等,则: ①比较两无符号数 若CF=0,则 目的>源; 若CF=1,则 目的<源。 ②比较两有符号数 若OF⊕SF=0,则 目的>源; 若OF⊕SF=1,则 目的<源。 2.3.3 位操作指令:逻辑运算和移位1. 逻辑运算指令 (2) 求反指令 NOT (3) 与AND、或OR、 异或XOR 格式:AND dest, src;结果回传→目的 格式:OR dest, src;结果回传→目的 格式:XOR dest, src;结果回传→目的 操作数类型:P54 图2-5 如: AND AX,0FFFEH ;AX最低位置0,余不变 OR AX,0001H ;AX最低位置1,余不变 XOR AX,AX ;AX清0 AND [SI],[BX] ;? # 运算后OF=CF=0,余同加操作影响 (4) 测试指令TEST (2)算术右移 SAR 目,源 算术:符号整数 执行1次:最高→次高,最高不变, 最低→CF, 目的符号不变 (3)算术/逻辑左移 例:把AL中的数y乘10(结果不会溢出) 因10=8+2=23+21,可用移位实现乘10操作。程序如下: SAL AL,1 ; 2y MOV AH,AL SAL AL,1 ; 4y SAL AL,1 ; 8y ADD AL,AH ; 8y+2y = 10y (4)循环移位指令 这4条指令的功能如下图示: 2.3.4 指令应用举例 例1:(P57 例2-1)将字变量W中的无符号数除以8, 商和余数分别放在字变量QUOT和字节变量REMA中。 W DW 65525;65525=0FFF5H QUOT DW 0;商 REMA DB 0;余数 MOV AX,W ;AX赋值,AX=FFF5H SHR AX,1 ;逻辑右移1次,÷2,
文档评论(0)