和機器語言一樣暗挑,匯編語言屬于低級語言笋除,所以學(xué)習(xí)匯編語言就要求學(xué)習(xí)者能夠掌握機器內(nèi)部的運算細(xì)節(jié),為此特做一下基礎(chǔ)知識梳理炸裆,為更好的學(xué)習(xí)匯編語言打下基礎(chǔ)垃它。本梳理有的放矢,對于容易掌握的知識點一帶而過烹看。本梳理包括以下幾點:一国拇、進(jìn)位計數(shù)值與不同基數(shù)的數(shù)之間的轉(zhuǎn)換;二惯殊、二進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換酱吝;三、計算機中數(shù)和字符的表示土思;四务热、幾種基本的邏輯運算。
一:進(jìn)位計數(shù)值與不同基數(shù)的數(shù)之間的轉(zhuǎn)換
1己儒、在計算機中崎岂,十進(jìn)制數(shù)一般用D(decimal)做結(jié)尾,八進(jìn)制數(shù)用O(octal)作結(jié)尾闪湾,十六進(jìn)制數(shù)用H(hexadecimal)結(jié)尾冲甘,二進(jìn)制數(shù)用B(binaty)結(jié)尾;如十進(jìn)制數(shù)32D,八進(jìn)制數(shù)8O;
2途样、二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)可以用各位二進(jìn)制數(shù)碼乘以與其對應(yīng)的權(quán)之和得到江醇,例如:1011100.10111B=2^6+2^4+2^3+2^2+2^(-1)+2^(-3)+2^(-4)+2^(-5)D;十進(jìn)制轉(zhuǎn)換為二進(jìn)制數(shù)可以采用兩種方法,第一種是降冪法何暇,采用將該十進(jìn)制相近的二進(jìn)制權(quán)值相減嫁审,若能夠減去則相應(yīng)位置置一,否則置零赖晶;示例如下律适,N=117D:
64 ? ? 32 ? ? 16 ? ? 8 ? ? 4 ? ? 2 ? ? 1
1 ? ? ? ?1 ? ? ? 1 ? ? 0 ? ? 1 ? ? 0 ? ? 1 ? ?
故N=1010111B
第二種是除法;采用十進(jìn)制數(shù)不斷的除以二,并記下余數(shù)遏插,直到得到的商為零為止捂贿;例如:N=117D;
117/2=58......1;58/2=29......0;29/2=14......1;14/2=7......0;7/2=3......1;3/2=1......1;1/2=0......1得到N=1110101B
若十進(jìn)制中存在小數(shù)部分,則將小數(shù)部分乘以2胳嘲,記錄得到的整數(shù)部分厂僧,直到結(jié)果小數(shù)部分為零為止;
3了牛、十六進(jìn)制轉(zhuǎn)換為二進(jìn)制可以將十六進(jìn)制的每一位采用四位二進(jìn)制數(shù)來表示颜屠,組合起來就得到該十六進(jìn)制的二進(jìn)制表示辰妙;二進(jìn)制轉(zhuǎn)換為十六進(jìn)制則將二進(jìn)制的每四位組成一組,計算每一組的數(shù)值組合起來就得到十六進(jìn)制數(shù)甫窟;十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)與十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)和二進(jìn)制數(shù)與十進(jìn)制數(shù)相互轉(zhuǎn)換原理相同密浑,權(quán)值只需將權(quán)值改為16的相應(yīng)位的次冪,以及除法時除數(shù)改為16即可粗井;
二:二進(jìn)制數(shù)和十六進(jìn)制數(shù)運算
此處和十進(jìn)制數(shù)原理相同尔破,但有一點二進(jìn)制數(shù)1+1=0(進(jìn)位1)需注意;
三:計算機中數(shù)和字符
1浇衬、計算機中大多數(shù)采用二進(jìn)制的補碼表示法:正數(shù)的補碼為正數(shù)本身懒构,負(fù)數(shù)的補碼為該負(fù)數(shù)對應(yīng)的正數(shù)的二進(jìn)制按位取反加一得到;
2耘擂、對于n位有符號數(shù)來講胆剧,取值范圍為2^(n-1)<=n<=2^(n-1)-1;對于無符號數(shù)來說范圍為0<=n<=2^n;
3、計算機中采用補碼形式則數(shù)的加減法都可通過補碼的加法進(jìn)行運算醉冤;
4秩霍、字符采用ASCII碼表示,需注意0用十六進(jìn)制30表示冤灾,A用十六進(jìn)制41表示,a用十六進(jìn)制61表示辕近;
四:邏輯運算
1韵吨、“與”(AND),當(dāng)只有A移宅、B兩個都為1時結(jié)果為1归粉;
2、“或”(OR)漏峰,當(dāng)只有A糠悼、B兩個都為0時結(jié)果為0;
3浅乔、“非”(NOT)倔喂,對該變量取反操作;
4靖苇、“異或”(XOR),變量相同時取0席噩,不同時取1;