- 1、本文档共149页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7. 处理器控制类指令 ⑴ 状态标志位处理指令 CLC(Clear carry) ;进位标志CF=0 STC(Set carry) ;进位标志CF=1 CMC(Complement carry);进位标志求反 CLD(Clear direction) ;方向标志DF=0 STD(Set direction) ;方向标志DF=1 CLI(Clear interrupt);中断标志IF=0(关中断) STI(Set interrupt) ;中断标志IF=1(开中断) ⑵ 其它处理器控制指令 NOP(No operation);空操作指令,常用来作延时,或取代其他指令作调试之用. HLT(Halt) ;停机指令,CPU暂停执行程序,等待硬件中断。 ESC(Escape) ;换码指令,80486以后已成为未定义指令. WAIT(Wait) ;等待指令,使处理器处于空转状态,也可以用来等待外部中断发生,但中断处理完后仍返回WAIT指令继续等待. LOCK(Lock) ;封锁指令,作为指令的前缀可位于任何指令的前端,而不是一条独立的指令,凡带有LOCK前缀的指令,在该指令执行过程中都禁止其他协处理器占用总线,故它可称为总线锁定前缀. 第三节 汇编语言程序格式 ⑴ 汇编语言特性 程序注释: 用一个分号开始 保留字: 具有特定意义的字 标识符: 变量名和标号 语句: 语句类型和语句格式 运算符: 算术运算符、逻辑运算符、关系运算符、数值返回运算符等。 ⑵ 伪指令 ① 变量定义伪指令 DB:定义字节变量,每一个表达式占一个字节. DW:定义字变量,每一个表达式占两个字节,低字节在低地址,高字节在高地址。 DD:定义双字变量,每一个表达式占四个字节,低字在低地址,高字在高地址。 DQ:定义四字变量,每一个表达式占八个字节,低字在低地址,高字在高地址。 DT:定义十个字节,每一个表达式占十个字节,低字在低地址,高字在高地址。 ② 相等伪指令 为常量定义一个符号,有两种: 等号伪指令 COU=1234H;允许重复定义,多次使用 EQU伪指令 CNT EQU 123;不能重新赋值,可多次使用 ③ 完整的段定义伪指令 SEGMENT/ENDS伪指令 必须成对使用,共同定义一个逻辑段。如: 段名 SEGMENT ┊ ;汇编语言指令序列 段名 ENDS ASSUME伪指令 指定程序中段与段寄存器之间的关系。如: ASSUME CS:CODE,DS:DATA, ... ORG伪指令 如:ORG 100H DATA SEGMENT ;定义数据段 BUF DB 11H,22H ;定义字节数据缓冲区 DATA ENDS ;数据段结束 STACK SEGMENT ;定义堆栈段 ST DB 50 DUP(?) ;设置堆栈的大小是50字节 STACK ENDS ;堆栈段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA,SS:STACK MAIN PROC FAR ;把主程序定义为子程序 START:┊ ;汇编指令序列 MOV AH,4CH INT 21H ;返回DOS MAIN ENDP ;子程序结束 CODE ENDS ;代码段结束 END START ;程序结束 ④ 简化的段定义伪指令 .MODEL SMALL ;定义程序的存储模式 .STACK ;建立一个堆栈段 .DATA ;建立一个数据段 ┊ ;在数据段中定义变量 .CODE ;建立一个代码段 .STARTUP ;设置程序的起始点 ┊ ;可执行指令构成的程序段 .EXIT 0 ;程序结束,返回操作系统 END ;汇编结束 ⑤ 子程序定义伪指令 子程序名 PROC [类型] ;子程序开始 ┊ ;汇编语言指令序列 RET ;子程序返回到调用处 子程序名 ENDP ;子程序结束 子程序名是子程序入口的符号地址;类型属性有NEAR和FAR ;子程序是完成一个特定功能的指令序列,用CALL指令调用子程序,RET指令返回到调用处。 ⑥ 处理器选择伪指令 .8086 选择 8086 指令系统(缺省情况) .286 选择 80286 指令系统 .286P 选择保护模式下的 80286 指令系统 .386 选
文档评论(0)