⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machinecode.bas

📁 由一个古老的BASIC解释器改进而成, 保留了ANSI C固有的艺术美感.
💻 BAS
字号:
     10 REM La jaca Paca va para Alava y tu madre no lo dice pero me mira mal y ve el capitan pirata canatando alegre en la popa Asia a un lado al otro Europa.
     15 def int a-z
     20 GOSUB 9000
     30 PRINT USR (addr, 1, 10, 100, 1000)
     40 END
    980 REM
   1000 r= PEEK (a) + 256 * (PEEK (a+1) + 256 * (PEEK (a+2) + 256 * PEEK (a+3) ) )
   1010 RETURN
   9000 REM Inicio
   9010 p= PROGRAMPTR
   9020 a= p : GOSUB 1000 : n= r
   9030 IF n <> 10 THEN END
   9040 a= p + 4 : GOSUB 1000 : l= r
   9050 IF l <= 0 THEN END
   9053 REM A byte 0 terminates the listing of the line.
   9054 REM You can see an empty REM in line 10 after execution.
   9055 POKE p + 10, 0
   9060 addr= p + 11
   9070 pos= addr
   9080 READ code$
   9090 rem PRINT code$; "-";
   9100 IF code$ = "xx" THEN RETURN
   9110 code= VAL ("&" + code$)
   9120 POKE pos, code
   9130 pos= pos + 1
   9140 GOTO 9080
  10000 REM
  10010 REM Machine code
  10020 REM I compiled this with gcc -S, then assembled with as -a
  10021 REM to obtain the codes (masters of assembler, excuse me).
  10022 REM int test (int nparams, int * param)
  10023 REM {
  10024 REM 	int r= 0;
  10025 REM 	for (int i= 0; i < nparams; ++i)
  10026 REM 		r+= param [i];
  10027 REM	return r;
  10028 REM }
  10030 DATA 55: REM pushl %ebp
  10040 DATA 89, e5: REM movl %esp, %ebp
  10050 DATA 83, ec, 18: REM subbl $24,%esp
  10060 DATA c7, 45, fc, 0, 0, 0, 0: REM movl $0,-4(%ebp)
  10070 DATA c7, 45, f8, 0, 0, 0, 0: REM movl $0,-8(%ebp)
  10075 REM .L3
  10080 DATA 8b, 45, f8: REM movl -8(%ebp),%eax
  10090 DATA 3b, 45, 08: REM cmpl 8(%ebp),%eax
  10100 DATA 7c, 04: REM jl .L6
  10110 DATA eb, 1a: REM jmp .L4
  10120 DATA 89, f6: REM .p2align 4,,7
  10125 REM .L6
  10130 DATA 8b, 45, f8: REM movl -8(%ebp),%eax
  10140 DATA 8d, 14, 85, 0, 0, 0, 0: REM leal 0(,%eax,4),%edx
  10150 DATA 8b, 45, 0c: REM movl 12(%ebp),%eax
  10160 DATA 8b, 14, 10: REM movl (%eax,%edx),%edx
  10170 DATA 01, 55, fc: REM addl %edx,-4(%ebp)
  10175 REM .L5
  10180 DATA ff, 45, f8: REM incl -8(%ebp)
  10190 DATA eb, dc: REM jmp .L3
  10195 REM .L4
  10200 DATA 8b, 55, fc: REM movl -4(%ebp),%edx
  10210 DATA 89, d0: REM movl %edx,%eax
  10220 DATA eb, 01: REM jmp .L2
  10230 DATA 90: REM .p2align 4,,7
  10235 REM .L2
  10240 DATA 89, ec: REM movl %ebp, %esp
  10250 DATA 5d: REM popl %ebp
  10260 DATA c3: REM ret
  11000 DATA xx: REM No more data

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -