此汇编代码接受一个输入,将其乘以 35,然后将结果留在寄存器中。这是 17 字节的内存,但我该如何计算呢?
决定 M,d
ldwa M,d
阿斯拉;2m
阿斯拉;4m
阿斯拉;8m
阿斯拉;16m
添加 M,d ; 17m
阿斯拉;34m
添加 M,d ; 35m
此汇编代码接受一个输入,将其乘以 35,然后将结果留在寄存器中。这是 17 字节的内存,但我该如何计算呢?
决定 M,d
ldwa M,d
阿斯拉;2m
阿斯拉;4m
阿斯拉;8m
阿斯拉;16m
添加 M,d ; 17m
阿斯拉;34m
添加 M,d ; 35m
我见过的每个汇编器都能够生成一个列表,显示它是如何分配内存的。
你的问题不清楚。您可能已经开始学习汇编语言,这可能会让人感到困惑。不用担心,只需通过几个示例,您就会学会它。您首先声明一个变量,执行所有需要的功能,然后存储该变量,而您显然没有这样做。顺便说一句,您使用的是累加器而不是 x 寄存器。
asla
,adda
等a
inadda
代表累加器。如果是的addx
话xregister
。
无论如何,如果您问如何知道您需要多少内存,只需搜索并查看需要多少内存小数等并相应地声明您的变量,或者您可以使用堆栈和堆。