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