Trying to find an inexpensive method to trigger flags when finding one or more non-zero values in array using ARMv8 SIMD.

Need to check cycles for smov w1, v1.h[0]; which should be a single SIMD element move to general register.

. data
array: .byte 0,0,0,0,0,0,1,0
ldr x20,=array // array pointer

ld1 {v0.8b}, [x20] // load vector with 8 byte size elements

cmgt v1.8b, v0.8b, #0 // compare mask - any non-zero values in vector?

addv b1, v1.8b // vector reduce across lanes. Element 0 in all sizes will hold some value

smov w1, v1.h[0] // sign or unsigned - don't matter - index 0 will have some value - check cycles

cmp w1, #0 //

cset w1, ne // conditional set or whatever condition/branch action....
#asm #armv8 #simd

Post has attachment
I just wanted to share the things we are being told in school. I understand it, but it takes time to switch from one concept to other. In one of the slideshows they show assembler as an example for "a mess". The teacher asked "does somebody knows what this does?" I shouted out lout: "It calls the services of the OS and most probably prints something on screen!!!!" I am not yet sure, I need the documentation in order to be sure. But I don't like the way they teach at all!! Pointing out that ASM is something BAD!!
I understand it!! but they are tricking the presentation. Not telling all the truth the real way it is. :(
3 Photos - View album

Any idea what what these codes could be?
Not arm, not x86_64 as far as I can tell. MIPS?


Post has attachment

Post has attachment
Modified GPIO pin init and set via mmap code specifically for RPi 2 Model B Rev 1.1. Working on getting user PIN # then auto set the GPIO registers - for simple testing.
#asm #arm #gpio #rpi2 #bcm2835 

Post has attachment
A very simple UART & LED flashing Hello World type baremetal program just for the sake of learning.

In the long term it's better to use the vendor provided software, among other things.
#asm #armv7 #tivia #cortexm4 #uart #led #bare-metal

Simple very crude ARMv7 Assembly code to startup Tivia C and transmit pseudo-random characters via UART; using GNU tools.

I just wanted to get it to work using GNU; otherwise, you should use the vendor provided software, among other things.
#asm #armv7 #tivia #uart #bare-metal

Post has attachment
Here's a git for the Hexy language assets and source code. I intend to first make the interpreter a boot program and later attempt to make it a executable if it will run as one on an OS.

The interpreter and all it's assets are open source. I will provide a deeper explanation of the architecture as soon as possible.

what is the memory management on mmix machine?

Post has shared content
2 years ago, I worked on a new project
Well, the project is dead now ! No longer supported. The good news is that recently I started working on a similar project, but this time I choose to store data in a packed dynamic structure and I wrote a full x86 parser that can interpret the data and possibly exporting it to JSON !
Wait while more posts are being loaded