免责声明:我刚刚开始使用x86程序集.我确实在大学学过一点SPIM,但这几乎不值得一提.
我想我开始的可能是libc中最简单的函数,abs().在C中非常简单:
long myAbs(long j) {
return j < 0 ? -j : j;
}
Run Code Online (Sandbox Code Playgroud)
我的装配版本:
.global myAbs
.type myAbs, @function
.text
myAbs:
test %rdi, %rdi
jns end
negq %rdi
end:
movq %rdi, %rax
ret
Run Code Online (Sandbox Code Playgroud)
(这对于32位整数不起作用,可能是因为RAX是64位寄存器,并且符号可能位于错误的位置 - 我必须对此进行调查).
现在这是gcc的作用(gcc -O2 -S myAbs.c):
.file "myAbs.c"
.section .text.unlikely,"ax",@progbits
.LCOLDB0:
.text
.LHOTB0:
.p2align 4,,15
.globl myAbs
.type myAbs, @function
myAbs:
.LFB0:
.cfi_startproc
pushq %rbp
.cfi_def_cfa_offset 16
.cfi_offset 6, -16
movq %rsp, %rbp
.cfi_def_cfa_register 6
subq $4144, %rsp
orq $0, (%rsp)
addq $4128, %rsp …Run Code Online (Sandbox Code Playgroud) 我正在尝试将Atom发布协议(RFC5023)转换为Swagger/OpenAPI规范来练习编写这些规范.
我遇到了以下问题:在Atom中有不同类型的URI,例如Collection和Member URI.我的想法是这样记录:
paths:
/{CollectionURI}:
get:
summary: List Collection Members
...
post:
summary: Create a Resource
...
parameters:
- $ref: "#/parameters/CollectionURI"
/{MemberURI}:
get:
summary: Retrieve a Resource
...
parameters:
- $ref: "#/parameters/MemberURI"
Run Code Online (Sandbox Code Playgroud)
当我这样做时,swagger-editor声称这样做
已存在等效路径:/ {MemberURI}
这些是在查询时返回不同内容的不同类型的URI.我想以不同方式调用它们来单独记录它们.
有没有办法做到这一点?
谢谢!
编辑:规格在Swagger-UI中显示得很好 - 这是编辑器中的错误还是UI只是忽略了我的错误?