- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
控制转移类指令 循环调用指令说明 循环指令不影响状态标志,即CX减为0时不影响FLAG 如果目标位置超出短跳转的范围,则用JMP辅助完成循环 例: 126C: 0100 MOV CX, 0010H 126C: 0103 MOV AX, CX …… ;循环体中程序 CMP BX, AX 126C: 0203 LOOPZ 0207H 126C: 0205 JMP 0209H 126C: 0207 JMP 0103H 126C: 0209 …… ;循环体以后的程序 1 2 * 例1:阅读程序段,指出其功能: MOV CL, 0 L: AND AX , AX JZ EXIT SAL AX , 1 JNC L INC CL JMP L EXIT: * 例2 (对比例1): 阅读程序段,指出其功能: MOV CL, 0 MOV BX, 16 L: SAL AX , 1 JNC NEXT INC CL NEXT: DEC BX JNZ L * * 数值常量:直接以数值形式出现 MOV AX, 3 符号常量:给数值常量赋以名字 * * * ● 格式: 类型 PTR 地址表达式 类型可以是BYTE、WORD、DWORD、FWORD、NEAR、FAR ● 功能: 用来指明紧跟其后的地址表达式的类型 属性,但保持它原来的段属性和偏移地址属性不变 或者使它们临时兼有与原定义所不同的类型属性。 ● 作用 ⑤特殊运算符——类型运算符PTR 例 * 作用1:使语句中类型模糊的操作数类型变得明确 ADD BYTE PTR [SI],5 ADD WORD PTR [SI],5 作用2:临时改变某一操作数地址的类型,使得类型不一致的两地址变为一致。 作用3:PTR运算符还可以与EQU或等号“=”等伪指令连用,用来将同一存储区地址用不同类型的变量或标号来表示。 注意这两条语句的区别 例 例 类型运算符PTR的三个作用 * 例 DATA1 DW 1122H,3344H ┆ MOV AL,BYTE PTR DATA1; 问题1:将最后一条语句改为: MOV EAX, DWORD PTR DATA1 执行该语句后,(EAX)=? 比较PTR的作用与C语言的强制类型转换的不同点? 问题2:上述最后一条指令中,改变了DATA1的类型是否从此DATA1变为BYTE类型? 问题3:是否可以用该运算符改变寄存器的类型? MOV EAX, DWORD PTR SI 将变量DATA1临时改为字节类型 PTR作用2 例: * PTR作用3 例: 例:分析下列程序的执行结果 DATA1 DW 1122H,3344H DATA2 EQU BYTE PTR DATA1 ┆ MOV AL,DATA2 MOV BX,DATA1 用PTR算符建立了一个与变量DATA1有相同段 首址和偏移地址的变量DATA2,但它的类型为BYTE 22H 11H 44H 33H DATA1 DATA2 ;22→AL ;1122→BX * 例: 阅读下列程序段,指出其中的错误语句 DATA SEGMENT NUM DB 11H,22H,33H,44H LEN EQU $ - NUM DATA END ┇ MOV AX,NUM MOV EAX,DWORD PTR NUM MOV
文档评论(0)