1.1 CPU指令
计算中,指令和数据都是 二进制
通过0和1编写程序的语言称为机器语言
不同的CPU可能会有不同的机器码.
1.1.2计算机程序设计语言
目标程序就是为源程序经过编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作为拓展名.
汇编语言中描述指令功能的符号表示机器指令,被称为指令助记符.
汇编程序的拓展名".asm"
例1.2 用8086CPU汇编语言编写两个十进制数100和256相加
MOV AX,64 ; 64(100的十六进制)传递给AX
ADD AX,100; 将AX+100的结果在传回到AX里面
1.2数据表示
1.2.1带符号数的补码表示
1.原码
最高位表示符号(0表示整数,1表示负数),其他位表示数值.在计算机中用原码做加减运算不方便
例1.4 [106]原码= 01101010B
[-106]原码= 11101010B
2.反码
最高位表示符号(0表示整数,1表示负数),其他位表示数值.正数的反码与正数的原码一样,只是负数的反码是正数的原码(包含符号位)按位取反
例1.5[106]反码=[106]原码=01101010B
[-106]反码=[106原码]取反=10010101B
3.补码(计算机中,一般带符号数用补码表示,用补码进行加减)
正数的补码与正数的原码相同.负数的补码是正数补码(包括符号位)按位求反,末尾再加1构成.将负数的补码转换为真值,则将补码末尾减1,按位取反,在加符号
例1.6 x=106=01101010B [x]补=01101010B
x=-106 [x]补=[106补码]取反+1=[01101010B]求反+1=10010101B+1=10010110B
1.2.2ASCII码的一些关系
(1)数字字符"0-9" 对应的ASCII码为 30H-39H
[数字字符]ASCII -30H=数字值
(2)字符"A-F"对应的ASCII码:41H-46H 与十六进制A-F相差 37H
["A"~"F"]ascii -37H=0AH~0FH
(3)大小写字母差了 20H
大写字母"A-Z" 41H-5AH
小写字母"a-z" 61H-7AH