[CC字幕][720p] Nand2Tetris_硬件_Part_1

機(jī)器指令之A指令和C指令拆解
背景知識:指令和數(shù)據(jù)分開存儲。ROM里存儲指令,RAM里存儲數(shù)據(jù)。
A指令(op code: 指令二進(jìn)制碼第一位為0)
寫法:@value
例如:@21
含義: 將A寄存器設(shè)置為21
轉(zhuǎn)為16位二進(jìn)制指令:(本課程所造計算機(jī)是16位的)
0000000000010101
C指令(op code: 指令二進(jìn)制碼第一位為1)
寫法:dest = comp; jump
舉例1:0;JMP
含義:無限循環(huán)
轉(zhuǎn)為16位二進(jìn)制指令:
1110101010000111
舉例2:
@56 //A=56
D-1;JEQ //if(D-1==0) goto 56
含義:如果 D-1==0,那么跳轉(zhuǎn)到并執(zhí)行存儲于ROM[56](在注釋中簡寫為56)的指令
轉(zhuǎn)為16位二進(jìn)制指令:
0000000000111000
1110001110000010
標(biāo)簽: