汇编语言-Emu8086使用指南.doc

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

十进制系统

目前使用最多的是十进制.十进制系统有10个数字0,1,2,3,4,5,6,7,8,9利用这些数字能表示任何数值,例如754这些数字是由每一位数字乘以“基数”的幂累加而成的〔上一个例子中基数是10因为十进制中有十个数字〕。

位置对于每一个数字是很重要的。例如,你将上一个例子中的“7”放到结尾:547

数值就成为:

特别提醒:任何数字的0次幂都是1,0的0次幂也是1

二进制

计算机没有人类聪明〔至少现在是这样〕,制造一个只有开关或者称为0,1两种状态的电子机器很容易。计算机使用二进制系统,只有两个数字0,1基地为2每一位二进制数称作一位〔BIT〕,4BIT组成一个半字节〔NIBBLE〕,8BIT组成一个字节〔BYTE〕,两个字节组成一个字〔WORD〕,两个字组成一个双字〔DOUBLEWORD〕〔很少使用〕:

习惯上在一串二进制后面加上“b”,这样,我们可以知道101b是二进制表示十进制的5。

二进表示十进制的165,计算方法如下:

十六进制系统

十六进制系统使用16个数字0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F基底是16.十六进制非常紧凑,便于阅读。将二进制转换为十六进制很容易,半字节〔4bits〕对应一位十六进制如下表

Decimal

(base10)

Binary

(base2)

Hexadecimal

(base16)

0

0000

0

1

0001

1

2

0010

2

3

0011

3

4

0100

4

5

0101

5

6

0110

6

7

0111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

习惯上我们在一个十六进制数的后面加上H,以便和其他进制区别,这样我们就知道5Fh是一个十六进制数表示十进制的?95。习惯上,我们也在以字母开头〔从A到F〕的十六进制数前面加上0例如:0E120h.十六进制1234h?等于4660:

十进制到另外进制的换算

在换算中,将十进制数不断除以目标进制的基底,每一次都要记录下商和余数,直到商0。余数用来表示结果。

下面是一个十进制39〔基底是10〕到十六进制〔基底是16〕的换算:

结果为27H

上例中所有的余数都小于10,不必使用字母。再举一个更复杂的例子:十进制43868换算为十六进制:

结果是0AB5Ch,使用上面提到的表将大于9的数字替换成字母。运用同样的原理,我们可以换算为二进制〔用2作除数〕,或者是先换算成十六进制,再用上面的表换算成二进制:

于是,得到二进制:

有符号数

对于十六进制数0FFh无法确定它是正数还是负数,因为它可以表示十进制的255或者-1。

8位可以表示256个状态,于是,我们可以假定前128个表示正数(从0到127),接下来的128个数(从128到256)表示负数。如果想表示-5,我们从256中减去5,即256-5=251。用这种复杂的方法表示一个负数有着数学依据的,数学上-5加上5等于0。当我们将两个8位的数字5和251相加时,结果超过255,溢出处理为0!

128到256高位始终是1,这个可以作为数字符号的标记对于字〔16位〕,16位有65536个状态,头32768个状态(从0到32767)用来表示正数,下面的32768个状态(从32767到65535)表示负数

Emu8086带有数制转换工具,也可以计算各种数值表达式。选择菜单Math项:

NumberConvertor〔数制转换〕可以实现任意数制之间的转换。在文本框中填写源数值,将自动转换到任意的数制。可以作8位或者16位转换。ExpressionEvaluator〔表达式计算〕可以用来计算不同数制的计算以及从一个进制到另一个进制的转换。输入表达式,按下回车,结果就会以你选定的进制表示。最长可以进行32位的计算。当在Signed打钩选中时〔除了八进制和双字〕,最前面的一位将被认作是符号位。这样以来,0FFFFFFFFh将被认为是十进制的-1。例如,你计算0FFFFh*10h+0FFFFh(8086CPU所能访问的最大内存地址)。如果你选中Signed和Word选项,结果是-17〔因为表达式被认为是(-1)*16+(-1)〕。如果想按照无符号数计算,请不要选择Signed表达式为65535*16+65535计算结果将是1114095同样你可以使用NumberConvertor将非十进制换算为有

文档评论(0)

199****8042 + 关注
实名认证
内容提供者

相信自己,相信明天

1亿VIP精品文档

相关文档