vista에서 quartus의 46

개요


비스타로 quartus를 시도했어요.
cpu를 써 봤어요.
명령을 확장해 보았습니다.

사진.


간접 주소 지정

샘플 코드

mem[12'h000] = 16'h1055;//       push  85
mem[12'h001] = 16'h1008;//       push  8
mem[12'h002] = 16'h9000;//       st
mem[12'h003] = 16'he000;//       out
mem[12'h004] = 16'h1008;//       push  8
mem[12'h005] = 16'h8000;//       ld
mem[12'h006] = 16'he000;//       out
mem[12'h007] = 16'h4007;//bye:  jmp  bye
mem[12'h008] = 16'h0048;//a:  0x0048
mem[12'h009] = 16'h0049;//b:  0x0049
mem[12'h00a] = 16'h0050;//c:  0x0050

사진.


하위 루틴 호출

샘플 코드

mem[12'h000] = 16'h1030;//       push  48
mem[12'h001] = 16'h3010;//       set  a
mem[12'h002] = 16'h1005;//       push  5
mem[12'h003] = 16'h3011;//       set  b
mem[12'h004] = 16'ha000;//       call
mem[12'h005] = 16'h4009;//       jmp  add
mem[12'h006] = 16'h2012;//       get  c
mem[12'h007] = 16'he000;//       out
mem[12'h008] = 16'h4008;//bye:  jmp  bye
mem[12'h009] = 16'h1001;//add:  push  1
mem[12'h00a] = 16'hf000;//       +
mem[12'h00b] = 16'h2010;//       get  a
mem[12'h00c] = 16'h2011;//       get  b
mem[12'h00d] = 16'hf000;//       +
mem[12'h00e] = 16'h3012;//       set  c
mem[12'h00f] = 16'hb000;//       ret
mem[12'h010] = 16'h0000;//a:  0x0000
mem[12'h011] = 16'h0000;//b:  0x0000
mem[12'h012] = 16'h0000;//c:  0x0000
이상.

좋은 웹페이지 즐겨찾기