我想解决我得到的练习。任务是从终端读取10个整数并以相反的顺序打印出来。要做到这一点,应该使用堆栈。我已经试过这样: %include "asm_io.inc"
segment .data
prompt db "Please enter a number: ", 0
segment .text
global asm_main
asm_main:
enter 0,
我是新来的汇编,并试图迭代存储在内存中的字符串。我可以使用lea(加载有效地址)指令得到字符串的地址,但我现在想使用存储在寄存器中的那个地址。 有模lw其可以使用如下: lea string, %edx ; Load effective address of string into edx
lw %edx, %eax ; Load eax with the value stored wher
当我们有这样的代码: main: MOV #SFE(CSTACK), SP ; set up stack
;;; some instructions .......
; load the starting address of the array1 into the register R4
MOV.W #arr1, R4
; load the st
我们知道C++使用vftable来动态地决定应该调用哪个虚函数。当我们调用虚函数时,我想找出它背后的机制。我编译了下面的代码进行汇编。 using namespace std;
class Animal {
int age;
public:
virtual void speak() {}
virtual void wash() {}
};
class Ca
我正在为stm32l152C-discovery板执行arm cortex-m3的C代码,但是我发现main函数调用没有被推入堆栈。我已经分析了这个源的asm代码,但是我发现它是可以的。为了更好的理解,请看这里的C代码生成的汇编代码: main.elf: file format elf32-littlearm
*SYMBOL TABLE:
00000010 l d .text 000000