亚洲 欧洲 日韩 综合色天使,久久国产Av无码一区二区老太,人妻醉酒被下药迷昏带到诊所 ,亚州老熟女A片AV色欲小说

計(jì)算機(jī)程序設(shè)計(jì)員,計(jì)算機(jī)程序設(shè)計(jì)員證書?

最早期的計(jì)算機(jī)雛形采用打孔紙帶作為程序,理解打孔紙帶計(jì)算機(jī)運(yùn)行原理有利于我們理解計(jì)算機(jī)CPU的運(yùn)行原理。

因?yàn)榈侥壳盀橹梗?jì)算機(jī)的運(yùn)行原理本質(zhì)上沒有變,都是運(yùn)行0/1狀態(tài)的計(jì)算。

基本原理

打孔紙帶編程的本質(zhì)是基于機(jī)器碼的程序。

場(chǎng)景舉例

假定現(xiàn)在有一個(gè)簡(jiǎn)單CPU,其能運(yùn)行10種指令,對(duì)應(yīng)的二進(jìn)制為:

halt   --   0000
mov   --   0001
add   --   0010
and   --   0011
or    --   0100
xor   --   0101
sub   --   0110
shift   --   0111
load  --   1000
store   --   1001

同時(shí),CPU帶有8個(gè)通用寄存器,對(duì)應(yīng)二進(jìn)制如下:

r0    --  0000
r1    --  0001
r2    --  0010
r3    --  0011
r4    --  0100
r5    --  0101
r6    --  0110
r7    --  0111

程序功能及代碼

1、將 內(nèi)存地址(ex:0x1a)放到寄存器0

2、寄存器0的地址所對(duì)應(yīng)的數(shù)據(jù)讀取到寄存器1

3、將另一個(gè)內(nèi)存地址(ex:0x2c)放到寄存器0

4、將寄存器0的地址所對(duì)應(yīng)的數(shù)據(jù)讀到寄存器2

5、將寄存器1和寄存器2的數(shù)值相加,存儲(chǔ)到寄存器3

6、將第三個(gè)地址(ex:0x3e)放到寄存器0

7、將寄存器3的數(shù)值寫入寄存器0所對(duì)應(yīng)的地址

對(duì)應(yīng)的匯編代碼如下:

mov    r0, 0x1a
load  r1, [r0]
mov   r0, 0x2c
load  r2, [r0]
addr  r3, r1, r2
mov   r0, 0x3e
store  r3, [r0]
halt 

機(jī)器碼翻譯

前面講到,CPU支持10個(gè)指令,同時(shí)這些指令有自己的格式和參數(shù),我們以二進(jìn)制每16位為一組做成編碼,不足的補(bǔ)0,指令規(guī)范如下:

mov : 0001 xxxx yyyy yyyy
load: 1000 xxxx yyyy 0000
add: 0010 xxxx yyyy zzzz
store: 1001 xxxx yyyy yyyy
halt: 0000 0000 0000 0000

其中xxxx yyyy zzzz 分別代表了代碼中要寫的具體數(shù)值。

于是翻譯后,上面的代碼就變成:

#0 0001 0000 0001 1010   - mov r0 0x1a
#1 1000 0001 0000 0000   - load r1 [r0]
#2 0001 0000 0010 1100   - mov r0 0x2c
#3 1000 0010 0000 0000   - load r2 [r0]
#4 0010 0011 0001 0010   - add r3 r1 r2
#5 0001 0000 0011 1110   - mov r0 0x3e
#6 1001 0011 0000 0000   - store r3 [r0]
#7 0000 0000 0000 0000   - halt

至此,一個(gè)匯編程序代碼就簡(jiǎn)單的翻譯成純粹的二進(jìn)制格式。

嵌入式物聯(lián)網(wǎng)需要學(xué)的東西真的非常多,千萬(wàn)不要學(xué)錯(cuò)了路線和內(nèi)容,導(dǎo)致工資要不上去!

無(wú)償分享大家一個(gè)資料包,差不多150多G。里面學(xué)習(xí)內(nèi)容、面經(jīng)、項(xiàng)目都比較新也比較全!某魚上買估計(jì)至少要好幾十。

點(diǎn)擊這里找小助理0元領(lǐng)?。?a class="pgc-link" data-content="mp" data-source="outerLink" rel="noopener noreferrer" target="_blank">嵌入式物聯(lián)網(wǎng)學(xué)習(xí)資料(頭條)

計(jì)算機(jī)程序設(shè)計(jì)員,計(jì)算機(jī)程序設(shè)計(jì)員證書?

計(jì)算機(jī)程序設(shè)計(jì)員,計(jì)算機(jī)程序設(shè)計(jì)員證書?

紙帶編碼原理

紙帶的每一行規(guī)定了8個(gè)孔位,每個(gè)孔位代表1bit,可以打孔也可以不打,打孔代表1,不打代表0。

紙帶每行8個(gè)bit,兩行就是16個(gè)bit,上面的二進(jìn)制代碼,以8位一行,表現(xiàn)在只帶上,就如下圖所示:

○○○● ○○○○ – 0001 0000

○○○● ●○●○ – 0001 1010

●○○○ ○○○● – 1000 0001

…后續(xù)省略

紙帶編碼識(shí)別

到這里我們幾乎能夠明白紙帶編碼原理了,但是還差一點(diǎn),就是如何識(shí)別紙帶編碼,這里我們可以發(fā)揮想象比如:

  • 方案1:采集器是8個(gè)探針(探針很粗,不會(huì)扎破紙帶), 紙帶上下都有探針,有孔的地方,探針會(huì)接觸導(dǎo)通,而沒孔的地方則不會(huì)導(dǎo)通,另外再配備1個(gè)傳送帶,按照恒定勻速拖動(dòng)紙帶移動(dòng),這樣CPU就能夠識(shí)別紙帶編碼,進(jìn)而進(jìn)行計(jì)算。
  • 方案2:紙帶上下有個(gè) 發(fā)光二極管,遮擋則不導(dǎo)通,類似于現(xiàn)在的形成開關(guān)。

聲明:本文素材來(lái)源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請(qǐng)與我聯(lián)系刪除。

———— END ————

文章鏈接:https://mp.weixin.qq.com/s/kHCjz_Ev7HNo_ZlUyqBfRg

轉(zhuǎn)載自:嵌入式專欄

文章來(lái)源:計(jì)算機(jī)程序的來(lái)源

版權(quán)申明:本文來(lái)源于網(wǎng)絡(luò),免費(fèi)傳達(dá)知識(shí),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請(qǐng)聯(lián)系我進(jìn)行刪除。

本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 sumchina520@foxmail.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。
如若轉(zhuǎn)載,請(qǐng)注明出處:http://www.qjsdgw.cn/135469.html