代码拉取完成,页面将自动刷新
# OUTPUT STRING CONSTANT
# ======================
# A handful macro that defines a code word that output a string. Useful
# in debugging stage, but considered to be removed in future release,
# since a general word that output given string address will be more
# efficient, and takes less space.
# Before we developed the word that enables us to define string in run
# time, we will keep using this one.
.macro PrintStringInitial address
pushq %rax
pushq %rbx
pushq %rcx
pushq %rdi
pushq %rsi
pushq %rdx
pushq \address
movq $SyscallDisplay, %rax
movq $1, %rdi
movq $1, %rbx
leaq 8(\address), %rsi
movq (\address), %rdx
syscall
popq \address
popq %rdx
popq %rsi
popq %rdi
popq %rcx
popq %rbx
popq %rax
.endm
.macro StringConst name, string
Code \name
jmp SkippedContent\name
String Content\name, "\string"
SkippedContent\name:
push %r15
leaq Content\name(%rip), %r15
leaq -8(%r15), %r15
PrintStringInitial %r15
pop %r15
CodeEnd \name
.endm
StringConst Jesus, "BELOVED SON\n"
StringConst Maria, "THE VIRGIN\n"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。