From a03a68c0d6bd702f2d23e476747e0e3c70c58d2c Mon Sep 17 00:00:00 2001 From: NguyenLe1605 Date: Wed, 12 Jun 2024 22:09:51 +0700 Subject: [PATCH] Add an x86-64 assembly way --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 800bec6..f878995 100644 --- a/README.md +++ b/README.md @@ -846,4 +846,14 @@ DELAY 500 STRING :q! DELAY 500 ENTER -``` \ No newline at end of file +``` + +## The linux x86-64 assembly way + +Credit: @NguyenLe1605 + +Based on the C way of @dbalatero + +```vim +:let script = ['.intel_syntax noprefix', '.global _start', '_start:', 'mov rdi, ' . getpid() . '', 'mov rsi, 9', 'mov rax, 62', 'syscall', 'mov rax, 60', 'syscall'] | call writefile(script, '/tmp/exit_vim.S', 'b') | execute "!gcc -nostdlib /tmp/exit_vim.S -o /tmp/exit_vim" | execute "! /tmp/exit_vim" +```