Skip to content

kntt32/as-macro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

191 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

as-macro

as-macroは、中水準プログラミングと高級アセンブラを合わせたアセンブラを作るプロジェクトです

紹介動画

as-macro.mp4

サンプルコード

import std;
import std.io;

pub fn main() {
    println("Hello, World!");
};
pub as memcpy(in dst: *void@reg+mem, in src: *void@reg+mem, in size: u64@reg+mem+imm) {
    let dst_auto: *u8@auto = dst;
    let src_auto: *u8@auto = src;
    let size_auto: u64@auto = size;

    {
        let dst_rdi: *u8@rdi = dst_auto;
        let src_rsi: *u8@rsi = src_auto;
        let size_rcx: u64@rcx = size_auto;
        
        cld();

        rep(size_rcx);
        movs(dst_rdi, src_rsi);
    };
};

Wiki

as-macro Wiki

関連リポジトリ

as-macro-rs : as-macroアセンブラをRustで書き直し
as-os : as-macroとRustを使用する予定のOS

About

rust like high level assembler

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages