//comment or description about function of this assembly code
MOV A,#15 /* comment about this here */
MOV B,#23 /*comment about this here */
//add a comment here about function of next block of code
Loop CMP A,B /*comment here */
JAE LpDone /*comment here */
ADD A,#101 /*comment here */
JMP Loop /*comment here */
LpDone NOP /*comment here */
任何人都可以解释这个程序的步骤以及它们的作用吗? 我试图通过逐步功能使用Visual Studio调试模式来看它,但是他们并没有完全理解他们的工作?
非常感谢您的帮助,
答案 0 :(得分:0)
我认为前两条指令正在将一个直接的值转移到一个寄存器中。 下一个intruction比较寄存器中的值并设置或清除flagregister的一些标志。 下一条指令是条件跳转,如果结果高于或等于则跳转。如果它没有跳转到循环外的地址,则执行以下加法指令。最后,无条件跳转指令让我们跳回到比较指令。
答案 1 :(得分:0)
这看起来像8080或Z80组装。已经有一段时间了,因为我做了与该处理器有关的任何事情,所以我可能错了。以下是我的解释:
MOV A,#15 /* Move number 15 to register A */
MOV B,#23 /* Move number 23 to register B */
Loop CMP A,B /* Compare A with B. Loop is a label used later */
JAE LpDone /* If above or equal, jump to label LpDone */
ADD A,#101 /* Add number 101 to register A */
JMP Loop /* Jump to label Loop */
LpDone NOP /* LpDone is label. NOP is no-operation so it does nothing. */