前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C4代码学习

C4代码学习

原创
作者头像
用户10917351
修改2024-01-17 02:22:20
470
修改2024-01-17 02:22:20
举报
文章被收录于专栏:代码学习代码学习

老规矩,放法国人d'oxygen。

C4用到的库函数
C4用到的库函数

枚举值 符号表的使用

Tk

是否关键字

Hash

Symbol哈希值

Name

Symbol名

Class

常量 全局变量 本地变量 函数 系统调用 Id

Type

基础类型char,int,ptr, 一次指针 *char,*int,*ptr,二次指针**char,**int,**ptr

Val

常量 全局变量 本地变量 函数 系统调用 的值

HClass

全局变量vs局部变量

HType

全局变量vs局部变量

HVal

全局变量vs局部变量

Idsz

可以解析的关键字类型(不支持switch-case, do-while等)

enum

{??Num?= 128,?Fun,?Sys,?Glo,??Loc,?Id,?Char,?Else,??Enum,?If,?Int,?Return,??Sizeof,?While,?Assign,?Cond,??Lor,?Lan,?Or,?Xor,??And,?Eq,?Ne,?Lt,??Gt,?Le,?Ge,?Shl,??Shr,?Add,?Sub,?Mul,??Div,?Mod,?Inc,?Dec,??Brak}

自定义中间代码(在虚拟机中运行的伪汇编代码,可以用 -d 参数在命令行中打印查看)

枚举值

LEA

load局部变量

IMM

load 全局变量

JMP

jump

JSR

goto 子程序

BZ

jump if

BNZ

jump if not

ENT

再次goto gotuo 子程序

ADJ

sp+2

LEV

子程序跳出

LI

load integer

LC

load char

SI

store integer

SC

store char

PSH

push register to sp

OR

register operator

XOR

register operator

AND

register operator

EQ

register operator

NE

register operator

LT

register operator

GT

register operator

LE

register operator

GE

register operator

SHL

register operator

SHR

register operator

ADD

register operator

SUB

register operator

MUL

register operator

DIV

register operator

MOD

register operator

OPEN

system call

READ

system call

CLOS

system call

PRTF

system call

MALC

system call

FREE

system call

MSET

system call

MCMP

system call

EXIT

exit sp and print sp top

全部4个函数的调用关系图
全部4个函数的调用关系图

具体的解析后面再展开。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com