40、P1 W6 U6.3 翻译A、C指令
2019-09-27 本文已影响0人
shazizm
视频:
如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W6U6.3 -The Assembly Process-Handling Instruction
这节具体讲 A指令 和 C指令。符号(Symbols)推后再讲。
翻译 A 指令
如果不考虑符号的话( 例如 @Var,之后再讲 ),A指令就剩 @常数 这种情况。
常数转成对应的 二进制,左边补零填满15位。
然后最左边一位(如下图红色)设置0。
翻译 C 指令
例如 MD = D + 1 ,如下图(给出了comp示意,dest和jump以此类推)
D + 1 是 comp :对应下图comp表,0011111
MD 是 dest:对应下图dest表,011
没有jump:对应下图jump表,000
翻译流程
把左边汇编程序:
一行一行翻译
把每行指令分成一块一块
如果是A指令,按A指令翻译
如果是C指令,按C指令翻译
然后组合每一块成一个16位机器语言
最后输出一行行16位机器语言二进制文件
关于 带符号 的汇编程序 如何处理,后面课程会提到。