vista에서 quartus의 40
개요
비스타로 quartus를 시도했어요.
나는 언어를 컴파일한 후에 내 cpu의 어셈블리에 갔다.
구웠어요.
사진.
어셈블리 결과 mem[12'h000] = 16'h1000;// push 0
mem[12'h001] = 16'h3049;// set a
mem[12'h002] = 16'h10ea;// push 234
mem[12'h003] = 16'h304a;// set b
mem[12'h004] = 16'h204a;//label30: get b
mem[12'h005] = 16'h1005;// push 5
mem[12'h006] = 16'hf004;// *
mem[12'h007] = 16'h304a;// set b
mem[12'h008] = 16'h204a;// get b
mem[12'h009] = 16'h1001;// push 1
mem[12'h00a] = 16'hf000;// +
mem[12'h00b] = 16'h304a;// set b
mem[12'h00c] = 16'h204a;// get b
mem[12'h00d] = 16'h1078;// push 120
mem[12'h00e] = 16'hf002;// <
mem[12'h00f] = 16'h5021;// jz label100
mem[12'h010] = 16'h107a;// push 'z'
mem[12'h011] = 16'he000;// out
mem[12'h012] = 16'h1075;// push 'u'
mem[12'h013] = 16'he000;// out
mem[12'h014] = 16'h106e;// push 'n'
mem[12'h015] = 16'he000;// out
mem[12'h016] = 16'h1020;// push 32
mem[12'h017] = 16'he000;// out
mem[12'h018] = 16'h2049;// get a
mem[12'h019] = 16'h1001;// push 1
mem[12'h01a] = 16'hf000;// +
mem[12'h01b] = 16'h3049;// set a
mem[12'h01c] = 16'h2049;// get a
mem[12'h01d] = 16'h1004;// push 4
mem[12'h01e] = 16'hf001;// >
mem[12'h01f] = 16'h502e;// jz label130
mem[12'h020] = 16'h4004;// jmp label30
mem[12'h021] = 16'h1064;//label100: push 'd'
mem[12'h022] = 16'he000;// out
mem[12'h023] = 16'h106f;// push 'o'
mem[12'h024] = 16'he000;// out
mem[12'h025] = 16'h106b;// push 'k'
mem[12'h026] = 16'he000;// out
mem[12'h027] = 16'h106f;// push 'o'
mem[12'h028] = 16'he000;// out
mem[12'h029] = 16'h1020;// push 32
mem[12'h02a] = 16'he000;// out
mem[12'h02b] = 16'h1000;// push 0
mem[12'h02c] = 16'h3049;// set a
mem[12'h02d] = 16'h4004;// jmp label30
mem[12'h02e] = 16'h1064;//label130: push 'd'
mem[12'h02f] = 16'he000;// out
mem[12'h030] = 16'h106f;// push 'o'
mem[12'h031] = 16'he000;// out
mem[12'h032] = 16'h106b;// push 'k'
mem[12'h033] = 16'he000;// out
mem[12'h034] = 16'h106f;// push 'o'
mem[12'h035] = 16'he000;// out
mem[12'h036] = 16'h1020;// push 32
mem[12'h037] = 16'he000;// out
mem[12'h038] = 16'h106b;// push 'k'
mem[12'h039] = 16'he000;// out
mem[12'h03a] = 16'h1069;// push 'i'
mem[12'h03b] = 16'he000;// out
mem[12'h03c] = 16'h1079;// push 'y'
mem[12'h03d] = 16'he000;// out
mem[12'h03e] = 16'h106f;// push 'o'
mem[12'h03f] = 16'he000;// out
mem[12'h040] = 16'h1073;// push 's'
mem[12'h041] = 16'he000;// out
mem[12'h042] = 16'h1069;// push 'i'
mem[12'h043] = 16'he000;// out
mem[12'h044] = 16'h1021;// push '!'
mem[12'h045] = 16'he000;// out
mem[12'h046] = 16'h1020;// push 32
mem[12'h047] = 16'he000;// out
mem[12'h048] = 16'h4048;//end: jmp end
mem[12'h049] = 16'h0000;//a: 0x0000
mem[12'h04a] = 16'h0000;//b: 0x0000
수정점
alu를 16비트에서 8비트로.
이상.
Reference
이 문제에 관하여(vista에서 quartus의 40), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ohisama@github/items/92944456527acc1419d9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어셈블리 결과 mem[12'h000] = 16'h1000;// push 0
mem[12'h001] = 16'h3049;// set a
mem[12'h002] = 16'h10ea;// push 234
mem[12'h003] = 16'h304a;// set b
mem[12'h004] = 16'h204a;//label30: get b
mem[12'h005] = 16'h1005;// push 5
mem[12'h006] = 16'hf004;// *
mem[12'h007] = 16'h304a;// set b
mem[12'h008] = 16'h204a;// get b
mem[12'h009] = 16'h1001;// push 1
mem[12'h00a] = 16'hf000;// +
mem[12'h00b] = 16'h304a;// set b
mem[12'h00c] = 16'h204a;// get b
mem[12'h00d] = 16'h1078;// push 120
mem[12'h00e] = 16'hf002;// <
mem[12'h00f] = 16'h5021;// jz label100
mem[12'h010] = 16'h107a;// push 'z'
mem[12'h011] = 16'he000;// out
mem[12'h012] = 16'h1075;// push 'u'
mem[12'h013] = 16'he000;// out
mem[12'h014] = 16'h106e;// push 'n'
mem[12'h015] = 16'he000;// out
mem[12'h016] = 16'h1020;// push 32
mem[12'h017] = 16'he000;// out
mem[12'h018] = 16'h2049;// get a
mem[12'h019] = 16'h1001;// push 1
mem[12'h01a] = 16'hf000;// +
mem[12'h01b] = 16'h3049;// set a
mem[12'h01c] = 16'h2049;// get a
mem[12'h01d] = 16'h1004;// push 4
mem[12'h01e] = 16'hf001;// >
mem[12'h01f] = 16'h502e;// jz label130
mem[12'h020] = 16'h4004;// jmp label30
mem[12'h021] = 16'h1064;//label100: push 'd'
mem[12'h022] = 16'he000;// out
mem[12'h023] = 16'h106f;// push 'o'
mem[12'h024] = 16'he000;// out
mem[12'h025] = 16'h106b;// push 'k'
mem[12'h026] = 16'he000;// out
mem[12'h027] = 16'h106f;// push 'o'
mem[12'h028] = 16'he000;// out
mem[12'h029] = 16'h1020;// push 32
mem[12'h02a] = 16'he000;// out
mem[12'h02b] = 16'h1000;// push 0
mem[12'h02c] = 16'h3049;// set a
mem[12'h02d] = 16'h4004;// jmp label30
mem[12'h02e] = 16'h1064;//label130: push 'd'
mem[12'h02f] = 16'he000;// out
mem[12'h030] = 16'h106f;// push 'o'
mem[12'h031] = 16'he000;// out
mem[12'h032] = 16'h106b;// push 'k'
mem[12'h033] = 16'he000;// out
mem[12'h034] = 16'h106f;// push 'o'
mem[12'h035] = 16'he000;// out
mem[12'h036] = 16'h1020;// push 32
mem[12'h037] = 16'he000;// out
mem[12'h038] = 16'h106b;// push 'k'
mem[12'h039] = 16'he000;// out
mem[12'h03a] = 16'h1069;// push 'i'
mem[12'h03b] = 16'he000;// out
mem[12'h03c] = 16'h1079;// push 'y'
mem[12'h03d] = 16'he000;// out
mem[12'h03e] = 16'h106f;// push 'o'
mem[12'h03f] = 16'he000;// out
mem[12'h040] = 16'h1073;// push 's'
mem[12'h041] = 16'he000;// out
mem[12'h042] = 16'h1069;// push 'i'
mem[12'h043] = 16'he000;// out
mem[12'h044] = 16'h1021;// push '!'
mem[12'h045] = 16'he000;// out
mem[12'h046] = 16'h1020;// push 32
mem[12'h047] = 16'he000;// out
mem[12'h048] = 16'h4048;//end: jmp end
mem[12'h049] = 16'h0000;//a: 0x0000
mem[12'h04a] = 16'h0000;//b: 0x0000
수정점
alu를 16비트에서 8비트로.
이상.
Reference
이 문제에 관하여(vista에서 quartus의 40), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ohisama@github/items/92944456527acc1419d9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
mem[12'h000] = 16'h1000;// push 0
mem[12'h001] = 16'h3049;// set a
mem[12'h002] = 16'h10ea;// push 234
mem[12'h003] = 16'h304a;// set b
mem[12'h004] = 16'h204a;//label30: get b
mem[12'h005] = 16'h1005;// push 5
mem[12'h006] = 16'hf004;// *
mem[12'h007] = 16'h304a;// set b
mem[12'h008] = 16'h204a;// get b
mem[12'h009] = 16'h1001;// push 1
mem[12'h00a] = 16'hf000;// +
mem[12'h00b] = 16'h304a;// set b
mem[12'h00c] = 16'h204a;// get b
mem[12'h00d] = 16'h1078;// push 120
mem[12'h00e] = 16'hf002;// <
mem[12'h00f] = 16'h5021;// jz label100
mem[12'h010] = 16'h107a;// push 'z'
mem[12'h011] = 16'he000;// out
mem[12'h012] = 16'h1075;// push 'u'
mem[12'h013] = 16'he000;// out
mem[12'h014] = 16'h106e;// push 'n'
mem[12'h015] = 16'he000;// out
mem[12'h016] = 16'h1020;// push 32
mem[12'h017] = 16'he000;// out
mem[12'h018] = 16'h2049;// get a
mem[12'h019] = 16'h1001;// push 1
mem[12'h01a] = 16'hf000;// +
mem[12'h01b] = 16'h3049;// set a
mem[12'h01c] = 16'h2049;// get a
mem[12'h01d] = 16'h1004;// push 4
mem[12'h01e] = 16'hf001;// >
mem[12'h01f] = 16'h502e;// jz label130
mem[12'h020] = 16'h4004;// jmp label30
mem[12'h021] = 16'h1064;//label100: push 'd'
mem[12'h022] = 16'he000;// out
mem[12'h023] = 16'h106f;// push 'o'
mem[12'h024] = 16'he000;// out
mem[12'h025] = 16'h106b;// push 'k'
mem[12'h026] = 16'he000;// out
mem[12'h027] = 16'h106f;// push 'o'
mem[12'h028] = 16'he000;// out
mem[12'h029] = 16'h1020;// push 32
mem[12'h02a] = 16'he000;// out
mem[12'h02b] = 16'h1000;// push 0
mem[12'h02c] = 16'h3049;// set a
mem[12'h02d] = 16'h4004;// jmp label30
mem[12'h02e] = 16'h1064;//label130: push 'd'
mem[12'h02f] = 16'he000;// out
mem[12'h030] = 16'h106f;// push 'o'
mem[12'h031] = 16'he000;// out
mem[12'h032] = 16'h106b;// push 'k'
mem[12'h033] = 16'he000;// out
mem[12'h034] = 16'h106f;// push 'o'
mem[12'h035] = 16'he000;// out
mem[12'h036] = 16'h1020;// push 32
mem[12'h037] = 16'he000;// out
mem[12'h038] = 16'h106b;// push 'k'
mem[12'h039] = 16'he000;// out
mem[12'h03a] = 16'h1069;// push 'i'
mem[12'h03b] = 16'he000;// out
mem[12'h03c] = 16'h1079;// push 'y'
mem[12'h03d] = 16'he000;// out
mem[12'h03e] = 16'h106f;// push 'o'
mem[12'h03f] = 16'he000;// out
mem[12'h040] = 16'h1073;// push 's'
mem[12'h041] = 16'he000;// out
mem[12'h042] = 16'h1069;// push 'i'
mem[12'h043] = 16'he000;// out
mem[12'h044] = 16'h1021;// push '!'
mem[12'h045] = 16'he000;// out
mem[12'h046] = 16'h1020;// push 32
mem[12'h047] = 16'he000;// out
mem[12'h048] = 16'h4048;//end: jmp end
mem[12'h049] = 16'h0000;//a: 0x0000
mem[12'h04a] = 16'h0000;//b: 0x0000
alu를 16비트에서 8비트로.
이상.
Reference
이 문제에 관하여(vista에서 quartus의 40), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ohisama@github/items/92944456527acc1419d9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)