- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[汇编1-3章
第1章? 汇编语言基础知识
汇编语言与高级语言的区别:
汇编语言是一种采用助记符表示相应机器指令的操作码和操作数,按照一定的格式书写的一种面向机器的程序设计语言。汇编语言指令与机器指令基本上是一一对应的,其指令只有经过翻译程序(称之为汇编程序)翻译后才能变成机器指令。
高级语言是一种与具体的计算机硬件无关、独立于机器的通用语言.高级语言采用接近自然语言的词汇,其程序的通用性强,易学易用,高级语言也要翻译成机器语言才能在机器上执行,? 它有两种翻译方式:
编译方式:先把高级语言程序翻译成机器语言程序,然后在机器上执行 。
解释方式:直接把高级语言程序在机器上运行,一边解释一边执行
汇编语言的特点:
1与机器关系密切 2效率高 3特殊的使用场合
数制转换
(1)十进制数转换成非十进制数 规则:将十进制数除以基数取余,直到商为0为止,最后从下往上取余数,即得到相应的非十进制数。
【例1-1】将十进制数107转换为二进制数、八进制数和十六进制数。
?解:(107)10 ?=? (K6 K5 K4 K3 K2 K1 K0)2 ?=? (110 1011) 2
(2)非十进制数转换成十进制数 规则:将非十进制数加权展开写成如下的形式:
?
????? 然后按十进制的运算规则进行相加,就得到相应的十进制数。
(3)二进制转换为八进制、十六进制 规则:二进制数转换为八进制数可将二进制数自右向左每三位一组,转换为十六进制数可按四位一组分组,不够三位或四位用0补齐,每一组用对应八进制数或十六进制数相应的计数符号表示。
(4)八进制、十六进制转换为二进制 规则:八进制数转换成二进制数,从左到右只需将八进制数的1位用三位对应的二进制数表示即可。十六进制数转换成二进制数时,从左到右只需将十六进制数的1位用四位对应的二进制数表示即可。
三种编码的表示与转化
注:了解机器中为什么要使用补码来表示
1:0有唯一表示 2:便于加减运算
逻辑运算符:逻辑非NOT? 逻辑与AND? 逻辑或OR? 逻辑异或XOR
注意课后习题搞明白就行了
第二章计算机内部结构与寻址方式
80X86CPU由三部分组成:运算器,控制器和寄存器,这三大部件有系统总线(AB),数据总线(DB)和控制总线(CB)连成一个整体。
?执行部件EU
寄存器组:
数据寄存器组【16位】AX 累加器,存放操作数或运算中间结果
BX, 基地址寄存器,用于在计算存储器地址是存放操作数的偏移地址
CX, 计数寄存器,用于在移位指令,循环指令和串操作指令作为计数控制
DX? 数据寄存器,做双字长运算时DX负责存放高位字,外设输入输出时,DX负责存放端口地址。
??????????? 【8位】AH,AL,BH,BL,CH,CL,DH,DL
地址寄存器组SI DI BP SP (作用P15)
注:SP是专用的寄存器,不能作为数据寄存器使用。
标志寄存器OF,DF,IF,TF,SF,ZF,AF,PF,CF
作用:符号标志SF:结果为正SF=0,反之SF=1
零标志ZF:结果为0,ZF=1,反之ZF=0
溢出标志OF:若结果溢出,OF=1,反之OF=0
附加:判断溢出的方法,两个符号相同的数据相加(含两个符号不同的数据相减)若结果与原数据符号不同则溢出,其他情况则不会溢出
进位标志CF:运算产生进位或者借位时CF=1,反之CF=0
段寄存器组:CS,代码段 DS数据段 SS堆栈段 ES附加段 (注:表2-1)
?存储器组:
8086CPU地址总宽度为20位,而2^20=1MB,任一存储单元的地址在00000H到0FFFFFH之间
逻辑地址和物理地址
物理地址PA=段地址SA*16+偏移地址EA
注:若段地址是16进制,则乘以10
CS:IP指CPU下一个段运行的指令是什么 DS:EA存取数据段中的数据
SS:SP操作堆栈顶的地址 ES:EA存取附加段的数据
堆栈
1、特点“先进后出”或者“后进先出”的操作原则
?? 取数据时从低地址到高地址方向,存储数据时从高地址到低地址方向,SP作为指针,内容有堆栈段寄存器SS给出,SP的内容为栈顶相对于SS的偏移地址,空栈时,SP指向栈底*(画图下高上低)
PUSH入栈指令,先移动指针,后存数,将高字节存放在高地址中,低字节存放在低地址中
POP出栈指,将栈顶元素弹出至某一寄存器,段寄存器(除CS)或存储器中 (令详见例2-3)
?寻址方式(不会判断是什么样的寻址方式,而是计算执行结果) (注:例2-5至2-14)
立即数寻址的作用:给“寄存器”或“存储单元”赋值。
小注:立即数只能作为“源操作数”,它不能作为“目的操作数”。?立即数不能送往段寄存器
文档评论(0)