汇编语言与微机接口学习笔记:
学习用书时<Intel 80X86/Pentium 汇编语言程序设计>
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
使用汇编语言编写高性能的系统或应用程序对计算机专业人员极具挑战性。对程序的空间和时间要求很高的场合,汇编语言的应用必不可少。
计算机接口技术也是计算机专业的专业课程,作为计算机应用的重要方面,接口技术大量采用可编程芯片,使用汇编语言。
汇编语言的优势:
1.Shows how programs interface with the operating system, the processor, and BIOS.
2.Shows how data is represented and stored in memory and on external devices.
3.Clarifies how the processor accesses and executesinstructions and how instructions access and process data.
4.Clarifies how a program accesses external devices.
数制转换:
十进制、二进制、十六进制之间的相互转换,比较简单,就略过。
计算:
除法:
二进制除法运算规则是0除以1得0,1除以1得1,0做除数无意义。即:
0÷1=0 1÷1=1
逻辑或运算
逻辑或运算规则是1和任何数相或得1,只有0与0相或得0。其运算符号为∨或+。
0∨0=0 0∨1=1 1∨0=1 1∨1=1
或者表示为:
0+0=0 0+1=1 1+0=1 1+1=1
逻辑与运算
逻辑与运算规则是0和任何数相与得0,1和任何数相与该数值不变。其运算符号为∧或×。
0∧0=0 0∧1=0 1∧0=0 1∧1=1
或者表示为:
0×0=0 0×1=0 1×0=0 1×1=1
逻辑非运算
逻辑非运算是单目运算,其运算规则是1非为0,0非为1。其运算符号为┐,或者在逻辑变量上方加一横线。
┐0=1 ┐1=0
逻辑异或运算
逻辑异或运算规则是0和任何数相异或该数值不变,1和任何数相异或该数值变反。其运算符号为⊕:
0⊕0=0 0⊕1=1
1⊕0=1 1⊕1=0
数的补码表示
补码的定义:
[X]补=X ( 0 <= X < 2^(n-1)) 或 2^n - |X| = 2^n+X (-2^(n-1) <= X < 0)
负数的补码求法:
1。先求该数相对应的正数的原码表示,然后将其按位求反,最后在末尾加1。得到负数的反码。
2。先求该数相对应的正数的原码表示,连同符号位,自左到右按位求反,直到遇到最右边的一个1及其后的所有0保持不变。得到反码。
补码的加法和减法
由于用补码表示数,使得计算机中的加、减运算十分简便,它不必判断数的正负,只要符号位参加运算,便能自动地得到正确的结果。
从最高有效位向高位的进位由于机器字长的限制而自动丢失,但这并不会影响运算结果的正确性。同时,机器为了某种需要将把这一进位值保留在标志寄存器的进位位C中。也就是说
计算机中用对减数求补的办法把减法转化为加法。
字符编码
ASCII( American Standard Code for Information Interchange )
国际上通用的ASCII码是7位版本。它包含10个阿拉伯数字、52个英文大小写字母、32个标点符号和运算符、34个控制码,共128个字符,所以可用7位二进制数表示
BCD码
BCD(Binary Code Decimal)码叫做二进制编码的十进制数,也称二-十进制数。一位十进制数可以用四位二进制数表示,其表示方法有多种,通常用的是8421 BCD码,即4位二进制数自左至右其权分别为8、4、2、1。8421 BCD码的十个十进制数字0~9分别用四位二进制数的前十种表示,即用二进制数的0000~1001分别表示8421 BCD码的0~9。
(1) 压缩BCD码
每位压缩BCD码占用四位bit(二进制位),一个字节(8位bit)可以存放两位压缩BCD码。
如:(56)10 = ( 01010110)压缩BCD
(2) 非压缩BCD码
每位非压缩BCD码占用一个字节,其中高四位为0,低四位为BCD码。
如:(56)10 = ( 00000101 00000110 )非压缩BCD