0
這種轉換我想知道,如果有人可以解釋我的解決了這個問題:無法瞭解從C到大會
代碼:
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int c[20];
int n;
} t_coda;
t_coda coda;
void init(t_coda *coda) {
coda->n = 0;
}
void add(t_coda *coda, int x) {
if (coda->n < 20)
coda->c[(coda->n)++] = x;
}
main() {
init(&coda);
coda->n=1;
coda->c[0]=2;
add(&coda,3);
add(&coda,4);
}
,我需要知道在simplesem(彙編式語義)中的相應指令:coda->n = 0;
和coda->c[(coda->n)++] = x;
;
的解決方案是:
set D[D[0]+3]+20, 0
對於第一個問題 和:
set D[D[0]+3]+D[D[D[0]+3]+20], D[D[0]+4]
set D[D[0]+3]+20, D[D[D[0]+3]+20] + 1
爲第二個;
d是數據堆棧,以及d [0]返回包含在該數據的0單元格的值
謝謝