我目前正在使用Assembly中的nasm程序,我正在尝试编写一个程序来确定给定的第一个命令行arg是否是闰年。我已经成功处理了参数处理,并且当用户输入除了一个命令行arg之外的任何内容时显示正确的消息,但现在我对如何访问"而感到困惑。提供的年份和数字修改。这是我到目前为止的代码
global main
extern puts
extern printf
extern atoi
section .text
main:
push r13
push r14
sub rsp, 8
cmp rdi, 2
jne error1 ; jump if aguments != 1
jmp done
error1:
mov edi, badArgs
call puts
jmp done
done:
pop r14
pop r13
add rsp, 8
ret
badArgs:
db "Requires exactly one argument", 5, 0
有问题的行发生在我的jne行之后,它会检查错误的args。现在我想隔离参数(我相信它位于rsi寄存器中)并用数字4修改它以开始我的闰年cheks。如何隔离此值并将其修改为4?