小编sfy*_*fyn的帖子

nasm Intel:不使用 pop 访问堆栈中的项目

假设我想在不使用 POP 的情况下查看堆栈中顶部的两个元素。

我怎样才能访问它 - 我正在尝试:

mov ebp, esp
mov eax, [ebp]
mov ebx, [ebp-4]
Run Code Online (Sandbox Code Playgroud)

x86 assembly stack nasm stack-memory

3
推荐指数
1
解决办法
3036
查看次数

验证提供给构造函数的值的最佳实践?

上下文:我正在为学校写一个信号量类,其中一个要求是它可能没有用负值初始化.

现在我的构造函数抛出异常:

/**
 * Constructor
 */
public Semaphore(int value) throws Exception
{   
    if (value < 0)
        throw new Exception("Negative value provided for initial constructor.");
    this.value = value;
}
Run Code Online (Sandbox Code Playgroud)

处理异常以实例化信号量对我来说似乎过于沉重,所以我正在考虑将任何负值静默设置为零,即:

/**
 * Constructor
 */
public Semaphore(int value) 
{   
    if (value < 0)
        this.value = 0;
    else
        this.value = value;
}
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
1427
查看次数

标签 统计

assembly ×1

java ×1

nasm ×1

stack ×1

stack-memory ×1

x86 ×1