汇编语言是汇编指令集、伪指令集和使用它们的规则的统称。
适用的领域:
l 要求执行效率高、反应快的领域,如操作系统内核、工业控制、实时系统等;
l 系统性能的瓶颈或频繁被使用的子程序或程序段;
l 与硬件资源密切相关的软件开发,如设备驱动程序等;
l 没有适当的高级语言开发环境;
不宜使用的领域:
l 大型软件的整体开发;
l 没有特殊要求的一般应用系统的开发等;
表1.3ASCII码的编码方案
|
000
|
001
|
010
|
011
|
100
|
101
|
110
|
111
|
0000
|
NUL
|
DEL
|
SP
|
@
|
P
|
|
p
|
|
0001
|
SOH
|
DC1
|
!
|
1
|
A
|
Q
|
a
|
q
|
0010
|
STX
|
DC2
|
“
|
2
|
B
|
R
|
b
|
r
|
0011
|
ETX
|
DC3
|
#
|
3
|
C
|
S
|
c
|
s
|
0100
|
EOT
|
DC4
|
$
|
4
|
D
|
T
|
d
|
t
|
0101
|
ENQ
|
NAK
|
%
|
5
|
E
|
U
|
e
|
u
|
0110
|
ACK
|
SYN
|
&
|
6
|
F
|
V
|
f
|
v
|
0111
|
BEL
|
ETB
|
‘
|
7
|
G
|
W
|
g
|
w
|
1000
|
BS
|
CAN
|
(
|
8
|
H
|
X
|
h
|
x
|
1001
|
HT
|
EM
|
)
|
9
|
I
|
Y
|
i
|
y
|
1010
|
LF
|
SUB
|
*
|
:
|
J
|
Z
|
j
|
z
|
1011
|
VT
|
ESC
|
+
|
;
|
K
|
[
|
k
|
{
|
1100
|
FF
|
FS
|
,
|
<
|
L
|
/
|
l
|
|
|
1101
|
CR
|
GS
|
-
|
=
|
M
|
]
|
m
|
}
|
1110
|
SO
|
RS
|
.
|
>
|
N
|
^
|
n
|
~
|
1111
|
SI
|
US
|
/
|
?
|
O
|
_
|
o
|
DEL
|
l 字符0~9是连续编码的,其ASCII码的低4位就是该字符在十进制数中对应的数值;
l 小写字母的ASCII码比大写字母的ASCII码大,对应字母的编码之间相差20H;
习题:
1. 汇编语言的主要特点有哪些?
与机器相关性、执行的高效率、编写程序的复杂性、调试的复杂性。
2. 汇编语言适用于哪些领域?在哪些领域使用不合适?(见第1页)
3. 在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?
二进制书写时,在数据后面紧跟一个字母B,
八进制书写时,在数据后面紧跟一个字母Q,
十进制书写时,在数据后面紧跟一个字母D,
十六进制书写时,在数据后面紧跟一个字母H,如果第一个字符是字母时,在第一个字符之前必须添加一个0。
4. 在计算机中,如何表示正、负数?在保持数值大小不变的情况下,如何把位数少的二进制数值扩展成位数较多的二进制数值?
为了表示正、负数,并便于进行各种算术运算,对有符号数采用二进制的补码表示形式。补码的最高位用来表示正负数:0表示正数,1表示负数。正数的补码是其自身的二进制形式,负数的补码是把其正数的二进制编码取反,再加1而得。
符号扩展的具体操作就是把已知信息的最高位扩展到所有更高位。
5. 在ASCII表,字符“0”~“9”与数值0~9之间编码规律是什么?大写字母和小写字母之间的编码规律是什么?
字符“0”~“9”与数值0~9之间相差48D(30H)
大写字母和小写字母之间相差32D(20H)
6. 汇编语言中的基本数据类型是哪些?它与高级程序设计语言(如C语言)中的数据类型的对应关系是什么?
字节:由8位二进制组成,最高位是第7位,最低位是第0位,在表示有符号数时,最高位就是符号位。对应C语言中的char。
字:由2个字节组成,最高位是第15位,最低位是第0位。高8位称为高字节,低8位称为低字节。对应C语言中的int。
双字:由4个字节组成,高16位称为高字,低16位称为低字。可用于存储远指针,对应C语言中的float。
四字:由8个字节组成,在汇编语言中很少使用该数据类型,对应C语言中的double。
十字节:由10个字节组成,共有80位。C语言无对应类型。
字符串:由若干个字节组成的,字节数不定,通常每个字节存储一个字符。对应C语言中的char *,但它并没有C语言中的规定:以ASCII码0为字符串的结束符。
您好:
当您在阅读和使用我所提供的各种内容的时候,我非常感谢,您的阅读已是对我最大的支持。
我更希望您能给予我更多的支持。
1.希望您帮助我宣传我的博客,让更多的人知道它,从中获益。
2.希望您能多提出宝贵意见,包括我所提供的内容中的错误,建设性的意见,更希望获得哪些方面的帮助,您的经验之谈等等。
我博客上面的内容均属于个人的经验,所有的内容均为开源内容,允许您用于任何用途,并不以付费为前提,如果您觉得在阅读和使用我所提供的各种内容的过程中,您得到了帮助,并能在经济上给予我支持,我将感激不尽。
您可以通过银行转帐付款给我:
招商银行一卡通:
卡号:6225888712586894
姓名:牟勇
建行龙卡:
卡号:4367423860500165563
姓名:牟勇
您也可以通过汇款的方式:
通讯地址:云南省昆明市女子(28)中学人民中路如意巷1号
收信人:陈谦转牟勇收
邮编:650021
无论您给予我怎么样的支持,我都衷心的再次感谢。
欢迎光临我的博客:
http://blog.csdn.net/mouyong
http://blog.sina.com.cn/u/1259714872