# Writing raw assembly

**URL:** <https://numba.discourse.group/t/writing-raw-assembly/2417>\
**Category:** Support: How do I do ...?\
**Created:** [February 23, 2024, 9:25pm UTC](https://numba.discourse.group/t/writing-raw-assembly/2417 "2024-02-23T21:25:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![karasjoh000](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/karasjoh000/32/996_2.png) [@karasjoh000](https://numba.discourse.group/u/karasjoh000)\
**Post date:** [February 23, 2024, 9:25pm UTC](https://numba.discourse.group/t/writing-raw-assembly/2417/1 "2024-02-23T21:25:04Z")

</div>

I am trying to write manual assembly code using numba. Is this possible? This is chatGPT generation that does not work but gives an idea of what I am looking for:

```python
@nb.njit(inline='always')
def xor_avx2(reg1, reg2) :
    asm_code = """
    vmovdqu ymm0, {reg1}
    vmovdqu ymm1, {reg2}
    vpxor ymm2, ymm0, ymm1
    vmovdqu {result}, ymm2
    """
    asm_vars = {'reg1': reg1, 'reg2': reg2, 'result': nb.types.int32[:8]}
    asm = nb.asm(asm_code, **asm_vars)
    return asm.result

# Example usage
reg1 = np.arange(8, dtype=np.int32)
reg2 = np.ones(8, dtype=np.int32)
result = xor_avx2(reg1, reg2)
print(result)

```

---

<div class="post-metadata">

**Author:** ![adrian.gralak95](https://yyz2.discourse-cdn.com/free1/user_avatar/numba.discourse.group/adrian.gralak95/32/1188_2.png) [@adrian.gralak95](https://numba.discourse.group/u/adrian.gralak95)\
**Post date:** [March 3, 2025, 3:17pm UTC](https://numba.discourse.group/t/writing-raw-assembly/2417/2 "2025-03-03T15:17:13Z")

</div>

+1 would be interested to know about this 🙂
