汇编语言程序设计复习提纲及例题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计复习提纲及例题

1 微机系统的组成 从硬件角度分:主板、系统总线、I/O接口板、外设。 从功能角度分:运算器、控制器、存储器、输入设备、输出设备。 2 微机系统的工作方式 存储程序和程序控制: “程序”指的是一个可执行的指令序列。 “存储程序”指的是将可以由计算机执行的一个指令序列(程序)预先存储在计算机的存储器中。 “程序控制”指的是由当前所执行的指令来决定计算机的各硬件部件如何动作以完成特定的信息处理任务。 具体过程:课本P3。 指令执行过程: ①取指令:CPU的控制器从存储器读取一条指令并放入指令寄存器。 ②指令译码:指令寄存器中的指令经过译码,决定该指令进行什么操作、操作数在哪里。 ③取操作数:根据操作数的位置取出操作数。 ④执行指令:按操作码要求完成运算,并按运算结果修改或设置处理器的状态标志。 ⑤保存结果:保存结果到指定寄存器,需要时将结果从寄存器保存到内存单元。 ⑥修改指针:修改指令计数器,决定下一条指令的地址。 3 微处理器 处理器结构: 执行单元EU和总线接口单元BIU. 寄存器分类、每个寄存器的特殊功能、中英文名称: ①通用寄存器 AX,累加器,所以它是算术运算的主要寄存器所有的I/O指令都使用这一寄存器与外设传送。BX ,基址寄存器。 CX ,计数器,在和串处理指令用作隐含的计数器 DX ,数据寄存器,一般在作双字长运算时把DX和AX组合起来存一个双字长数,DX用来存高位字,此外对某些I/O操作,DX可用来存I/O地址SP,堆栈指针SP和BP都可以与SS寄存器联用来确定堆栈段中的某一存储单元的地址,用来栈顶的偏移地址。BP,基址指针。 SI,源变址寄存器DI,目的变址寄存器SI和DI一般与DS联用,用来确定数据段中某一存储单元的地址在串处理指令中,SI和DI作为隐含的源变址和目的变址寄存器,此时SI和DS联用,DI和ES联用,达到在数据段和附加段中寻址的目的。PSW,程序字寄存器,由标志和标志,标志用来记载程序中运行结果的状态信息。有四个专门存放段地址的寄存器,称为段寄存器:DS(数据段寄存器)CS(代码段寄存器)ES(附加段寄存器)SS(堆栈段寄存器)每个段寄存器可以确定一个段的起始地址,而这些段各有各的用处。CS存放正在运行的程序,DS存放当前运行程序所用的数据(如果程序中使用了串处理指令,则其源操作数也存放在数据段中),SS定义了堆栈的所在区域,ES是附加的数据段(它是一个辅助的数据区,也是串处理指令的目的操作数存放区)有6个OF(溢出标志) 在运算过程中,,则称溢出,此时OF位置1,否则置0。F(符号标志) 记录运算结果的符号,结果为负时置1,否则置0。 ZF(零标志) 运算结果为0时,ZF置1,否则置0。 CF(进位标志) 1,否则置0。 AF(帮助进位标志)有进位时置1,否则置0。 PF(奇偶标志) 当结果操作数中1的个数为偶数时置1,否则置0 标志位有3个 DF(方向标志) 在串处理指令中掌握处理信息的方向用。当DF为1时,每次操作后使SI和DI减量,否则,使SI和DI增量 IF(中断标志) 当IF为1时,允许中断,否则封闭中断。 TF(陷阱标志) 当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机,否则, CPU畸形工作不产生陷阱DATAS SEGMENT ; 变量定义 … … DATAS ENDS ; 堆栈段定义 STACKS SEGMENT ‘stack’ DW 200H DUP(?) STACKS ENDS ;宏定义 OutputString MACRO str MOV AH, 09H LEA DX, str INT 21H ENDM ; 代码段定义 CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS ; 此处也可以定义变量, 数据段定义的相当于全局变量,此处定义的相当于局部变量 ; 此处也可以定义宏 ; 此处也可以定义子程序 START: MOV AX,DATAS MOV DS,AX … … MOV AH,4CH INT 21H ; 退出程序,返回操作系统 ;各种子程序定义 ProcName1 PROC ; 利用PUSH指令保护现场 ; 利用POP指令恢复现场 RET ProcName1 ENDP … … CODES ENDS ; 代码段定义结束 END START ; 整个程序结束,程序入口为START标号指示的位置 6 数据定义 Intel存数规则:小端模式 内存变量定义:注意DB、DW、DD、ORG、$、DUP、EQU?的用法 会画内存分布图:结合上面两方面的内容画出内存分布。 7 寻址方式 (1)立即寻址寻址 (2)寄存器寻址直接寻址方式寄存器间接寻址寻址与转移地址有关的寻址方式(确定转移指

文档评论(0)

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

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

1亿VIP精品文档

相关文档