基本上,如果我自己通过一系列指令处理控制流,我想知道如何模拟while和if。
while循环可以由if来模拟,如装配分支与je等。但问题是,if语句是否可以通过模拟循环中的程序计数器或指令指针来模拟?
通过模拟,我指的是复制而不直接使用任何控制流原语,而不是while (true) { ... }循环来循环指令。
例如:
var pointer = 0
var instructions = [
doa,
dob,
dob2,
dob3,
doc,
dod
]
var a = 1
var b = 2
var c = 3
while (true) {
var i
按照如何不使用控制流基元来模拟控制流的思路,我想知道如何模拟函数的返回。
给出这样的示例设置:
console.log(a(10))
function a(a) {
var x = b(a)
var y = c(a)
return x + y
}
function b(a) {
return a * 2
}
function c(a) {
return a + 1
}
如何在不使用function或return的情况下重新实现这些函数。一些东西,它似乎使用堆栈,不知何故,如下所示。我正在努力学习如何思考装配。我不确定函数中的return应该如何工作,函数的嵌套方面,或