視頻:
如果本次課程對應(yīng)的 Coursera 的視頻打不開屡久,可以點擊下面鏈接
P1W6U6.3 -The Assembly Process-Handling Instruction
這節(jié)具體講 A指令 和 C指令。符號(Symbols)推后再講爱榔。
翻譯 A 指令
如果不考慮符號的話( 例如 @Var被环,之后再講 ),A指令就剩 @常數(shù) 這種情況详幽。
常數(shù)轉(zhuǎn)成對應(yīng)的 二進(jìn)制筛欢,左邊補零填滿15位浸锨。
然后最左邊一位(如下圖紅色)設(shè)置0。
指令最左邊為0版姑,代表是A指令柱搜。1則為C指令
翻譯 C 指令
例如 MD = D + 1 剥险,如下圖(給出了comp示意健爬,dest和jump以此類推)
D + 1 是 comp :對應(yīng)下圖comp表,0011111
MD 是 dest:對應(yīng)下圖dest表,011
沒有jump:對應(yīng)下圖jump表鸽扁,000
A指令 左邊前三 都是 “111”骡和,最后結(jié)果111 0011111 011 000
翻譯流程
把左邊匯編程序:
一行一行翻譯
把每行指令分成一塊一塊
如果是A指令钮科,按A指令翻譯
如果是C指令,按C指令翻譯
然后組合每一塊成一個16位機器語言
最后輸出一行行16位機器語言二進(jìn)制文件
無符號的匯編程序翻譯流程
關(guān)于 帶符號 的匯編程序 如何處理,后面課程會提到。