2022年2022年汇编语言 .pdf

上传人:Che****ry 文档编号:34873278 上传时间:2022-08-19 格式:PDF 页数:8 大小:218.36KB
返回 下载 相关 举报
2022年2022年汇编语言 .pdf_第1页
第1页 / 共8页
2022年2022年汇编语言 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年2022年汇编语言 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言 .pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、8086 CPU 中寄存器总共为14 个,且均为16 位 。即 AX,BX,CX ,DX,SP ,BP ,SI,DI,IP,FLAG ,CS ,DS,SS ,ES 共 14 个。而这 14 个寄存器按照一定方式又分为了通用寄存器,控制寄存器和段寄存器。FLAG( PSW ) programstatus word 程序状态字寄存器或称标志寄存器(16bit) 通用寄存器:AX,BX ,CX ,DX 称作为数据寄存器: x 表示的意思是 mix,“混合”的意思 ,因为 AX可以分为两个独立的8 位的 AH 和 AL 寄存器AX (Accumulator) :累加寄存器,也称之为累加器;BX (Ba

2、se) :基地址寄存器;CX (Count) :计数器寄存器;DX (Data) :数据寄存器;SP 和 BP 又称作为指针寄存器:SP (Stack Pointer) :堆栈指针寄存器;BP (Base Pointer) :基指针寄存器;SI 和 DI 又称作为变址寄存器:SI (Source Index) :源变址寄存器;DI (Destination Index):目的变址寄存器;控制寄存器:IP (Instruction Pointer):指令指针寄存器;FLAG :标志寄存器;段寄存器:CS (Code Segment) :代码段寄存器;DS (Data Segment) :数据段寄

3、存器;SS (Stack Segment) :堆栈段寄存器;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - ES (Extra Segment) :附加段寄存器;八 伪指令( segment,ends,end,assume,offset,seg,dup,db,dw,dd, in,out)dw 定义字 (2 字节). proc 定义过程 . endp 过程结束 . segment 定义段 . assume 建立段寄存器寻址 .(

4、假定)ends 段结束 . end 程序结束 . -? 显示Debug 命令列表。-a 汇编8086/8087/8088 记忆码 。-c 比较内存的两个部分。-d 显示部分内存的内容。-e 从指定地址开始,将数据输入到内存。-f 使用指定值填充一段内存。-g 运行在内存中的可执行文件。(Go to 某一条指令)-h 执行十六进制运算。-i 显示来自特定端口的1 字节值。-l 将文件或磁盘扇区内容加载到内存。-m 复制内存块中的内容-/n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。-o 向输出端口发送1 个字节的值。-p 执行循环、重复的字符串指令、软件中断或子例程。-q 停止

5、Debug 会话。-r 显示或改变一个或多个寄存器。-s 在部分内存中搜索一个或多个字节值的模式。-t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和Debug 下一步要执行名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 的指令的解码形式。(单步)-u 反汇编字节并显示相应的原语句。-w 将被测试文件写入磁盘。-xa 分配扩展内存。-xd 释放扩展内存。-xm 映射扩展内存页。-xs 显示扩展内存的状态。/cd mas

6、mmasm ex1.asmlink ex1.objcls debug ex1.exe ex1 安装 DOSBox ,完成后双击打开DOSBox 在输入框状态下z: z:mount c d: 把 D 盘作为模拟的 C 文件夹位置z:c: 进入 c 盘在输入框状态下c: c:cd Project 进入 Project文件夹。在输入框状态下输入debug 进入一、 十进制与二进制之间的转换(1) 十进制转换为二进制,分为整数部分和小数部分 整数部分方法:除 2 取余法 ,即每次将整数部分除以2,余数为该位权上的数,而商继续除以 2, 余数又为上一个位权上的数, 这个步骤一直持续下去, 直到商为 0

7、为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。下面举例:例:将十进制的168 转换为二进制得出结果将十进制的 168 转换为二进制,( 10101000 )2 分析:第一步,将 168 除以 2,商 84,余数为 0。第二步,将商 84 除以 2,商 42 余数为 0。第三步,将商 42 除以 2,商 21 余数为 0。第四步,将商 21 除以 2,商 10 余数为 1。第五步,将商 10 除以 2,商 5 余数为 0。第六步,将商 5 除以 2,商 2 余数为 1。第七步,将商 2 除以 2,商 1 余数为 0。第八步,将商 1 除以 2,商 0 余数为 1。第九步,读数,

8、因为最后一位是经过多次除以2 才得到的,因此它是最高位,读数字从最后的余数向前读,即10101000 (2) 小数部分方法:乘 2 取整法 ,即将小数部分乘以2,然后取整数部分,剩下的小数部分继名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 续乘以 2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时, 就根据后面一位是0 还是 1,取舍,如

9、果是零, 舍掉,如果是 1,向入一位。换句话说就是0 舍 1 入。读数要从前面的整数读到后面的整数,下面举例:例 1:将 0.125 换算为二进制得出结果:将 0.125 换算为二进制( 0.001 )2 分析:第一步,将0.125 乘以 2,得 0.25,则整数部分为 0,小数部分为 0.25; 第二步 , 将小数部分 0.25 乘以 2,得 0.5,则整数部分为 0,小数部分为 0.5; 第三步 , 将小数部分 0.5 乘以 2,得 1.0,则整数部分为 1,小数部分为 0.0; 第四步 ,读数,从第一位读起 ,读到最后一位 ,即为 0.001。例 2,将 0.45 转换为二进制(保留到小

10、数点第四位)大家从上面步骤可以看出,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得 0.8,0.8 又乘以 2 的,到 1.6 这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0 和 1 两个,于是就出现0 舍 1 入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。那么,我们可以得出结果将0.45 转换为二进制约等于0.0111 上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:1) 十进制转换为二进制,需要分成整数和小数两个部分分别转换2) 当转换整数时,用的除2

11、 取余法,而转换小数时候,用的是乘2 取整法3) 注意他们的读数方向因此,我们从上面的方法,我们可以得出十进制数168.125转换为二进制为10101000.001, 或者十进制数转换为二进制数约等于10101000.0111 。(3) 二进制转换为十进制不分整数和小数部分方法: 按权相加法 ,即将二进制每位上的数乘以权,然后相加之和即是十进制数。例将二进制数 101.101 转换为十进制数。得出结果:( 101.101 )2=(5.625)10 大家在做二进制转换成十进制需要注意的是1) 要知道二进制每位的权值2) 要能求出每位的值二、 二进制与八进制之间的转换首先,我们需要了解一个数学关系

12、,即23=8 ,24=16 ,而八进制和十六进制是用这名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。接着,记住 4 个数字 8、4、2、1(23=8、22=4、21=2、20=1)。现在我们来练习二进制与八进制之间的转换。(1) 二进制转换为八进制方法: 取三合一法 ,即从二进制的小数点为分界点,向左(向右)每三位取成一位,接着将这三位二进制按权相加

13、,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。例将二进制数 101110.101 转换为八进制得到结果:将 101110.101 转换为八进制为 56.5 将二进制数 1101.1 转换为八进制得到结果:将 1101.1 转换为八进制为 15.4 (2) 将八进制转换为二进制方法: 取一分三法 ,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。例: 将八进制

14、数 67.54 转换为二进制因此,将八进制数67.54 转换为二进制数为110111.101100 ,即 110111.1011 大家从上面这道题可以看出,计算八进制转换为二进制首先,将八进制按照从左到右,每位展开为三位,小数点位置不变然后,按每位展开为22,21,20(即 4、2、1)三位去做凑数,即a22+ b21 +c20=该位上的数( a=1 或者 a=0,b=1 或者 b=0 ,c=1 或者 c=0 ),将abc 排列就是该位的二进制数接着,将每位上转换成二进制数按顺序排列最后,就得到了八进制转换成二进制的数字。以上的方法就是二进制与八进制的互换,大家在做题的时候需要注意的是1) 他

15、们之间的互换是以一位与三位转换,这个有别于二进制与十进制转换2) 大家在做添 0 和去 0 的时候要注意,是在小数点最左边或者小数点的最右边(即整数的最高位和小数的最低位)才能添0 或者去 0,否则将产生错误三、 二进制与十六进制的转换方法:与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解(1) 二进制转换为十六进制方法: 取四合一法 ,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进名师资料总结 - - -精品资料欢迎下载

16、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。例:将二进制11101001.1011 转换为十六进制得到结果:将二进制11101001.1011 转换为十六进制为E9.B 例:将 101011.101 转换为十六进制因此得到结果:将二进制101011.101 转换为十六进制为2B.A (2)将十六进制转换为二进制方法: 取一

17、分四法 ,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。将十六进制 6E.2 转换为二进制数因此得到结果:将十六进制 6E.2 转换为二进制为 01101110.0010 即 110110.001 四、八进制与十六进制的转换方法:一般不能互相直接转换,一般是将八进制(或十六进制)转换为二进制,然后再将二进制转换为十六进制(或八进制),小数点位置不变。那么相应的转换请参照上面二进制与八进制的转换和二进制与十六进制的转五、八进制与十进制的转换(1)八进制转换为十进制方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。例:将八进制

18、数67.35 转换为十进制(2)十进制转换为八进制十进制转换成八进制有两种方法:1)间接法:先将十进制转换成二进制,然后将二进制又转换成八进制2)直接法:前面我们讲过,八进制是由二进制衍生而来的,因此我们可以采用与十进制转换为二进制相类似的方法,还是整数部分的转换和小数部分的转换,下面来具体讲解一下:整数部分方法:除 8 取余法 ,即每次将整数部分除以8,余数为该位权上的数,而商继续除以 8, 余数又为上一个位权上的数, 这个步骤一直持续下去, 直到商为 0 为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。小数部分名师资料总结 - - -精品资料欢迎下载 - - - - - -

19、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 方法:乘 8 取整法 ,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以 8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零, 就同十进制数的四舍五入一样,暂取个名字叫 3 舍 4入。例:将十进制数796.703125 转换为八进制数解:先将这个数字分为整数部分796 和小数部分 0.703125 整数部分小数部分因此,得到结果十进制796.703125 转换八进制为 1434.55 上面的方法大家可

20、以验证一下,你可以先将十进制转换,然后在转换为八进制,这样看得到的结果是否一样六、十六进制与十进制的转换十六进制与八进制有很多相似之处,大家可以参照上面八进制与十进制的转换自己试试这两个进制之间的转换。通过上面对各种进制之间的转换,我们可以将前面的转换图重新完善一下:本文介绍了二进制、十进制、八进制、十六进制四种进制之间相互的转换,大家在转换的时候要注意转换的方法,以及步骤,特别是十进制转换为期于三种进制之间,要分为 整数部分和小数部分,最后就是小数点的位置。但是要保证考试中不出现错误还是需要大家经常练习,这样才能熟能生巧。位(bit )来自英文 bit ,音译为“比特”,表示 二进制位 。位

21、是计算机内部数据储存的最小单位 ,11010100 是一个 8 位二进制数。 一个二进制位只可以表示0 和 1 两种状态( 21);两个二进制位可以表示00、01、10、11 四种( 22)状态;三位二进制数可表示八种状态(23), 。字节( byte )字节来自英文 Byte ,音译为“拜特”,习惯上用大写的“B”表示。字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即 1 个字节等于 8 个比特( 1Byte=8bit )。八位二进制数最小为00000000 ,最大为 11111111;通常 1 个字节可以存入一个 ASCII 码,2

22、个字节可以存放一个汉字国标码。字计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word )。一个字通常由一个或多个(一般是字节的整数位)字节构成。例如 286 微机的字由 2 个字节组成,它的 字长为 16 位;486 微机的字由 4 个字节组成,它的字名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 长为 32 位机。计算机的字长决定了其CPU 一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com