《8086宏汇编语言程序设计》期末复习.ppt

《8086宏汇编语言程序设计》期末复习.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《8086宏汇编语言程序设计》期末复习 1.需要掌握的概念 第一章 (1)汇编语言程序设计和高级语言之间有什么区别与联系。 (2)数制间的转换 (3)各种逻辑运算 这一章的主要内容在后面的章节都有体现。 数制转换的方法需要熟练掌握,一般出现在选择题或填空题中,占据的分值不大,一般2到3分。 直接考逻辑运算的题目出现不多,即便出现,分值也不大,占据2到3分。一般都是结合逻辑运算指令作考察。 汇编语言和高级语言的区别联系如果出现在考试中,那么就是简答题,占据5分左右。 1.下面和100D表示同一个数的有哪些( ) A.64H B. C.144Q D. 100H 2.Debug中,用D命令显示出2340:0100 97……,你认为该单元的取值为( ) A.97D B. -105D C.227Q D. 97H 在做程序分析题时,特别注意立即数的形式,它是二进制、十进制还是十六进制。 各种数制交叉在源程序中出现,是考试中经常出现的陷阱,如果数制理解出错,一般会导致最终分析结果的错误。 3.试说明汇编语言与高级语言的差别与联系(10分) 第二章 (1)计算机系统主要由哪些主要功能部件组成,它们各自的主要功能是些什么。 (2)CPU内部的寄存器是如何分类的,各自有些什么样的独特用途。 1)通用寄存器 逻辑上通用寄存器总共有16个,8个16位寄存器,8个8位寄存器;物理上实际有8个16位寄存器。 通用寄存器可以用于存放指令操作数;在访问内存单元时,可以用于存放偏移量当中的基址分量、变址分量;在访问端口时,可以存放端口地址;在系统调用时,也可以用于存放入口参数和出口参数。 AH、AL,AX: 一般用于存放操作数,但是不能用于存放内存单元的偏移量分量或者端口地址; 在BCD码运算调整指令中,隐含的把AL中的数据看作BCD码运算结果; 在访问端口的指令中,AL、AX用于存放从端口读取的数据或准备写入端口的数据; 在系统调用中,固定把AH中的入口参数解释为子功能号。 乘法指令中,如果是字节乘法,AL隐含作为被乘数和乘积的存放地址;如果是字乘法,AX隐含作为被乘数和乘积低字的存放地址。 除法指令中,如果是字节除法,AX隐含作为被除数的存放地址,AL用于存放商,AH用于存放余数;如果是字除法,AX隐含作为被除数低字和商的存放地址。 BL,BH,BX 可以用于存放操作数;BX可以用于存放内存单元偏移量的基址分量; 当使用BX存放基址分量时,隐含使用的是DS段寄存器。 CL,CH,CX 可以用于存放操作数,但是都不能用于存放偏移量分量; 在使用循环指令(LOOP,LOOPZ,LOOPNZ)或者循环指令前缀(REP,REPE,REPNE)时,隐含使用CX寄存器作为记数器。 在使用各种移位指令时,如果移位次数大于1,移位次数必须由CL给出。 DL,DH,DX 可以用于存放操作数;在使用间接寻址方式对端口进行访问时,必须使用DX给出16位端口地址。 在乘法指令中,如果是字乘法,那么DX隐含用于存放乘积的高字;在除法指令中,如果是字除法,那么DX隐含用于存放被除数的高字和余数。 SI 可以用于存放16位操作数;也可以用于存放内存单元偏移量中的变址分量,隐含使用DS。 在串操作指令中,SI隐含用于存放源串当前元素的偏移量,隐含使用DS。 DI 可以用于存放16位操作数;也可以用于存放内存单元偏移量中的变址分量,隐含使用DS。 在串操作指令中,DI隐含用于存放目的串当前元素的偏移量,隐含使用ES。 SP 一般在使用堆栈的指令中隐含使用,它总是保存栈顶偏移量,对SP的修改一般由指令隐含实现。 SP的初始化一般可以由操作系统来完成,也可以采用手动初始化的方式。 通常所使用的,用于定位堆栈中字单元的寄存器组合为SS:SP。 BP 可以用于存放16位操作数,也可以用于存放内存单元偏移量的基址分量,隐含使用SS段寄存器。 一般在使用堆栈向子程序传递参数时,需要使用BP访问堆栈,它把堆栈当作普通的段来访问,不需要遵循堆栈本身的限制。 2)段寄存器 CS 固定用于指出当前代码段的段基值;CS的初始化由操作系统完成。 如果需要修改CS,使它指向不同的代码段,只有无条件段间转移指令或段间子程序调用指令、返回指令能够修改CS的内容。 DS 固定用于指出当前数据段的段基值,它的初始化必须由应用程序自身来完成。 可以用MOV指令访问DS,但是不能使用立即数作为源操作数。 不能使用DS存放操作数,一切运算指令均不能使用DS提供操作数或保存运算结果。 ES 使用方法和DS相同,只是固定用于指出附加段的段基值。 附加段在一般的

您可能关注的文档

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档