汇编语言程序设计复习提纲和例题.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言程序设计复习提纲和例题

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联用,分别达到在数据段和附加段中寻址的目的。 ②指令指针IP 与CS联合使用,可以指示指令代码的位置。 ③状态标志寄存器FLAGS PSW,程序状态字寄存器,由状态标志位和控制标志位组成,状态标志位用来记载程序中运行结果的状态信息。 ④段寄存器 有四个专门存放段地址的寄存器,称为段寄存器:DS(数据段寄存器),CS(代码段寄存器),ES(附加段寄存器),SS(堆栈段寄存器)。每个段寄存器可以确定一个段的起始地址,而这些段各有各的用处。CS存放正在运行的程序,DS存放当前运行程序所用的数据(如果程序中使用了串处理指令,则其源操作数也存放在数据段中),SS定义了堆栈的所在区域,ES是附加的数据段(它是一个辅助的数据区,也是串处理指令的目的操作数存放区)。 FLAGS标志位 6个状态标志位,3个控制标志位,记住每个标志位的中文名称,英文缩写和含义。 状态标志位有6个 OF(溢出标志) 在带符号的加、减法运算过程中,结果超过了数据的量程,则称溢出,此时OF位置1,否则置0。 F(符号标志) 记录运算结果的符号,结果为负时置1,否则置0。 ZF(零标志) 运算结果为0时,ZF置1,否则置0。 CF(进位标志) 运算结果有进位或者借位置1,否则置0。 AF(帮助进位标志)加、减法运算后,最低4位有进位时置1,否则置0。 PF(奇偶标志) 当结果操作数低8位中1的个数为偶数时置1,否则置0 控制标志位有3个 DF(方向标志) 在串处理指令中掌握处理信息的方向用。当DF为1时,每次操作后使SI和DI减量,否则,使SI和DI增量 IF(中断标志) 当IF为1时,允许中断,否则封闭中断。 TF(陷阱标志) 当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机,否则, CPU畸形工作不产生陷阱 4 内存储器 物理地址与逻辑地址 物理地址是20位 逻辑地址表示方式为:段地址:偏移地址 物理地址 = 段地址*10H + 偏移地址 段寄存器和偏移寄存器的默认组合 课本P17。 5 完整程序结构构成 段定义方法 构成部分 数据段 代码段 堆栈段 附加段 完整汇编语言程序的定义 ; 数据段定义 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 ; 此处也可以定义变量, 数据段定义的相当于全局变量,此处定义的相当于局部

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档