微机原理04汇编语言程序设计.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 汇编语言程序设计-2 例: 串搜索 MOV DI, OFFSET String MOV CX, xx MOV AL, ‘h’ REPNZ SCASB JNZ Not_Found Found: …… Not_ Found: …... 串装入 LODSB LODSW LODSD 将地址为DS:SI的一个字节/字/双字装入AL/AX/EAX 串装入指令没有重复前缀 例: MOV SI, OFFSET String MOV CX, xx MOV AH, 2 LODSB MOV DL, AL INT 21 LOOP NextChar NextChar: 串装入 串存储 LODSB LODSW LODSD 将AL/AX/EAX的值存入地址为ES:DI的内存单元 利用重复前缀REP,可以建立一个取值相同的数据串 3.7 程序控制指令 控制程序的流向: 无条件转移 条件转移 循环控制 过程调用与返回 中断 无条件转移 JMP Label1 .….. Label1: 条件转移 相当于goto语句 根据执行上一指令后标志寄存器的状态而决定是否转移 条件转移 根据执行上一指令后标志寄存器的状态而决定是否转移 JA JAE = JB JBE = JG JGE = JL JLE = JG 标号 条件转移 JZ JNZ JC JNC JO JNO JP JNP JS JNS JCXZ 循环控制 LOOP LOOPE/LOOPZ LOOPNE/LOOPNZ 与CX配合使用,CX存放循环次数 第四章 汇编语言程序设计 4.1 概述 4.2 汇编语言的基本语法 4.3 汇编语言程序的控制结构 4.4 DOS/BIOS中断调用 4.5 保护模式下的汇编语言程序设计 4.6 Win32汇编语言程序设计 4.7 与高级语言的接口 4.1 概述 汇编语言程序的上机处理过程 主要的汇编程序:MASM、TASM 实模式汇编语言源程序的结构 DATA SEGMENT …... DATA ENDS STACK SEGMENT STACK …... STACK ENDS CODE SEGMENT ASSUME DS:DATA, SS:STACK, CS:CODE START: …… CODE ENDS END START 4.2 汇编语言的基本语法 1. 常量、变量和表达式 常量 二进制 xxxxxxxxB 八进制 xxxO 或xxxQ 721O或721Q 十进制 xxxx或xxxxD 1991或1991D 十六进制 xxxxH 0F1D4H 字符串 ‘xxx’或“xxx” ‘AB’ 数值常量、符号常量(用EQU或=定义) 变量 内存单元的名字,由DB/DW/DD/DQ/DT定义 BUF DB ? MOV BUF,AL 变量的三种属性: 段值 SEG 偏移量 OFFSET 类型 BYTE/WORD/... 标号 指令存放单元的符号地址,是转移/调用/循环指令的操作数 标号的三种属性: 段值 SEG 偏移量 OFFSET 类型 NEAR/FAR * * 寻址方式(实模式): 1. 立即数寻址 MOV AX, 1234H 2. 寄存器寻址 MOV AX, BX 3. 直接寻址 MOV AX, [1234H] 4. 寄存器间接寻址 MOV AX, [BX] 5. 基址寻址 MOV AX, [BX+100H] 6. 变址寻址 MOV AX, [SI+100H] 7. 基址加变址寻址 MOV AX, [BX+SI] 8. 带位移的基址加变址寻址 MOV AX, [BX+SI+100H] 数据结构的基址寻址方式 字段0 字段n 字段n-1 字段2 字段1 基址寄存器 + (位移量) MOV AX, [BX+100H] (位移量) 数据阵列的变址寻址方式 单元0 单元n 单元n-1 单元2 单元1 变址寄存器 + MOV AX, [SI+100H] 单元(0,0) 单元(0,1) 单元(0,n) (位移量) 二维数据阵列的基址加变址寻址方式 基址寄存器 + MOV AX, [BX+SI+100H] 单元(1,0) 单元(1,n) 单元(1,1) 单元(m,n) 变址寄存器 + 调试程序DEBUG R——寄存器命令 功能:检查或修改寄存器的值 R [寄存器名] 调试程序DEBUG D——转储命令 功能:检查存储器的

您可能关注的文档

文档评论(0)

yigang0925 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档