Stream

 
Hello guys,
A week ago, I released a map for AArch64 instructions. But it was a little bit harder to parse/read so I started working on a new format (work still in progress).
https://github.com/MahdiSafsafi/asmdb/blob/master/arm64data.json
Any suggestions ?
2
David's profile photoMahdi Safsafi's profile photo
2 comments
 
+David Yeah, the Rx means either Wx or Xx, so the previous encoding means : DUP Vd.{8B|16B|4H|8H|2S|4S|2D}, (Wn|Xn)
Add a comment...

Tech Zombie

Discussion  - 
 
Here's something fun to try. What bit registers could our hands and fingers represent. Ten, assuming you have ten fingers. each finger would represent one binary digit. An extended finger represents a one. A retracted finger represents a zero. With your palms facing towards you, your rightmost finger (your right thumb) represents the lowest digit. If you don't know how to add binary, just look it up. By using binary you could count up to 1023 if you had the patience. Now Imagine a room full of 2000 or so people. you could actually run an old NES game. To represent bytes, exclude your thumbs, only using them to hold your other fingers. Now imagine programming the room of people to run Super Mario Bros. xD
4
Henrik Nordström's profile photoTech Zombie's profile photo
8 comments
 
+Carl Hamlin​ 10 bits if you use both hands but using your thumb to hold your fingers down would be slightly easier.
Add a comment...

David

Discussion  - 
 
Assembly coding challenge!

I first learned Awk, Python3, Haskell, and Assembly {i.e., x86, x86-64, ARMv7, and ARMv8} by solving a ton of puzzles & number theory type problems.

I solved the attached puzzle by using some reduction and brute force (weak optimization) w/ ARMv8 Assembly on a Cortex-A53 micro (i.e., PINE64+).

Time to solutions (there are three) was real 1m6.314s

Can you solve the puzzle less than 1m6.314s using nothing but Assembly?

Please feel free to share your code and hardware. Enjoy!
#asm   #puzzle  
Click To See Yesterday's Puzzle's Solution. \begin{align*} \mbox{ZEROES } & = 698392\cr \mbox{ONES } &= 3192\cr \mbox{BINARY } & = 701584 \end{align*}. And today's puzzle! There are 13 JASONs! Add them together to get FRIDAY! There are three solutions! Check back tomorrow for answers.
5
Russ Ross's profile photoDavid's profile photo
27 comments
David
 
+Russ Ross Yes - that's about what I got using your last prog on a Pi2
Add a comment...
 
HII FRNDS,
I AM BEGINNER TO ASSEMBLY LANGUAGE I AM FROM INDIA CAN ANY ONE HELP IN FINDING THE GOOD BOOK TO LEARN THE ASSEMBLY LANGUAGE ....R ANY FREE CORES IN ONLINE BEST TO LEARN ENTIRELY..
SUGGEST ME
THANKING YOU

2
Tech Zombie's profile photoToby Protsman's profile photo
17 comments
 
Look up Vincent Granville on here he has so good links also Google O'Reilly there is a start I'm new also but just do research and read read = learning.
Add a comment...
 
Hello guys,
Does anyone know where to find a parsable format of instruction set (ARMv7) ?
2
Amanda Papa's profile photoMahdi Safsafi's profile photo
11 comments
 
+Amanda Papa I wrote a script xD
Add a comment...

Tech Zombie

Discussion  - 
 
An old thought came back to me and brought up an idea. Do mobile devices' cpus like phones' and tablets' use the architecture as their PC counterparts. If so , I was wondering if there'd be a (hopefully safe) way to feed a mobile device machine code (or assembly) and operate it almost like a PC booting code. It would be cool to hook up a bunch of phones in a way that they share sections of code to simultaneously like a [relatively] cheap supercomputer. I'm sure mobile devices have bios and ISA sets so it would be cool to do some hacking. Who knows? Maybe do some Watchdogs style remote phone destruction or make brand new phones blow up on purpose for once. xD
2
Tech Zombie's profile photochristophe malvasio's profile photo
21 comments
 
+Henrik Nordström

i was thinking of <4 cpus per single board
where latency are not network constrained ;)
even 4 armv7 quad core cpus can lead to 128 bits arm and 512 bits neon quad cores
Add a comment...

Tech Zombie

Discussion  - 
 
I just started a dual boot from Ubuntu yesterday and I was wondering: where should I start with x86 and ARM virtualization.
2
Tech Zombie's profile photoDavid's profile photo
9 comments
David
 
+Tech Zombie tar -zxvf file
If you are going to use qemu then you'll need to learn a lot more command line. You may want to find a GUI based solution for ARM emulation. 
Add a comment...
 
+David i break and then do a step into (image 1) and then it gives an error (image 2) I am using the stellaris module as the instructions are in the Hohl book.
4
David's profile photoKevin M. Thomas's profile photo
30 comments
 
THanks!
Add a comment...

David

Discussion  - 
 
A simple solution is often more powerful than a complex solution - Jonathan W. Valvano, Introduction to ARM Cortex-M Microcontrollers 
7
christophe malvasio's profile photo
20 comments
 
+Agm Info
 it give you an idea of the code size anyway
Add a comment...

About this community

A community for assembly language programmers to discuss issues and share techniques. Please note: adverts not directly related to assembly language developers and ASM will be removed and the poster banned without notice.
Earth
 
We have had many discussions about opcodes, binary formats, ELF, hex editing, IDA Pro, but do any of you have experience of radare?

It kind of aims to be an IDA alternative and includes a lot of nice functions; disassembly, assembly, hexediting, code flow graphs (within one function), function call graphs, debugging and much more. Pretty much anything you need for working with binaries except a GUI (text and/or browser based). It has a bit of a steep learning curve to get started however (still trying with baby steps..).

Radare is a portable reversing framework that can... Disassemble (and assemble for) many different architectures; Debug with local native and remote debuggers (gdb, rap, webui, r2pipe, winedbg, windbg); Run on Linux, *BSD, Windows, OSX, Android, iOS, Solaris and Haiku; Perform forensics on ...
11
Carl Hamlin's profile photoHenrik Nordström's profile photo
3 comments
 
+Carl Hamlin​ Not sure what you mean by "past a second remove call". Is there an example you can share?
The real UI is the text interface. You can use both interfaces at the same time I think.
And make sure to specify a project name when you start so it saves the data.
Add a comment...
 
Are x86 jumps only ignored if the set flag is EDIT:false (0)?
Let's say I have a number I want to test in 0x0 memory address. I mov 0x0 to Al and test Al for any value between 0 and F. If that value is the value specified in the test, the instruction specified in the jump instruction is executed and anything beyond the jump is ignored unless executed later on, right?. If the test proves false, no jump occurs and the instructions following the jump is executed, right? If my assumption is right, then I'm close to actually doing something in terms of programming that language I was talking about. It's all just a way to test for a number between 0 and F and run a certain instruction, depending on the value.
3
Tech Zombie's profile photoMarvin Sielenkemper's profile photo
10 comments
 
It can be disallowed by the OS as there are ways to mark a pages that can be executed as read only and pages that contain changeable data as no-execute. This is usually done for security reasons.
Add a comment...
 
+David is there a way I can create bare-metal utilizing GNU with TM4C1294 so that I can create the code in VIM and compile in a terminal and run on TM4C1294?
4
Kevin M. Thomas's profile photoDavid's profile photo
7 comments
David
Add a comment...
 
Hello guys,
I just created a new project on my GitHub called opcodesDB.
Right now it contains a full instructions set of ARMv8-AArch64.
Data is listed as Perl hash and in the future I'm planning to move it to a cross format. The data is easy to parse however I'm planning to make a lot of changes (data structure). I really wish If you can help me on this point (data structure) to write it on a very simple way. Also, for future use, I'v plans to extend the database to cover AArch32, x86, and MIPS.
https://github.com/MahdiSafsafi/opcodesDB
5
1
Mahdi Safsafi's profile photoHenrik Nordström's profile photo
5 comments
 
The data.structure is not entirely selfcontained where conditions seem to contain some functions and constants that are not explained in the data.
opcode is redundant with fields and upper opcode definition in most if not all aliases.
Add a comment...

Carl Hamlin
owner

Inline ASM (C)  - 
 
Hiya, ASM people.

I've had to bounce a couple of posts lately in the Inline ASM (C) group - the Inline ASM (C) discussion group is specifically for discussing Inline ASM, not general topics related to C.

Sorry for the confusion.
4
christophe malvasio's profile photoCarl Hamlin's profile photo
30 comments
 
Binary and hexadecimal representations of machine opcodes are definitely an appropriate topic for this community, +Tech Zombie.
Add a comment...

Sarah Peytcheva

Discussion  - 
 
This summer I started working to make my favourite game’s beta version playable. This demo was online only but after looking at the game files it seems that single player is also present, if disabled. So far I have managed to turn it on in the menu and create a character, but the game crashes with an access violation whenever I try to enter the world.

I traced the error with breakpoints and tried some very very rough fixes but the best I managed was to get in an infinite loop a little further in the loading screen! At this point it feels I could still be stuck in a year's time. If anyone wishes to help, even with basic questions as I learn assembly, in his or her spare time, I would be infinitely grateful!

2
Stephen Chapman's profile photoSarah Peytcheva's profile photo
4 comments
 
Thanks for your comprehensive answer Stephen! I feared that this would take more than a few hex edits, still I am somewhat hopeful it can be done since I've been comparing the beta DLLs with the release version of the game and found little differences (at least there shouldn't be huge code sections missing!).
The game is Diablo 2 and this is the first beta version of the expansion. As far as I know the game was written in C with some C++ (quoting Postmortem: Blizzard's Diablo II) without .NET and I've been using the freeware version of IDA and HxD. I'll follow suit your suggestions and look into Cheat Engine and Fiddler, you definitely widened my view on this topic now!
To people interested I can share the DLLs of the beta version and the game release if you want to take a look yourself.
Add a comment...
 
in arm how can i do name label so i can do:
ldr rx,[sp,4]
b rx
???
1
christophe malvasio's profile photo
2 comments
 
it is not possible with linux/gas
Add a comment...
 
What is the best assembler for assembly beginners ? 
2
Roberto Aguas Guerreiro's profile photo
21 comments
 
programming on windows with assembly language is a real challenge and sometimes a pain in the ass.  I suggest to start with easy examples and watch how instructions work, which flags are set and unset etc etc, "IF" you are a true beginner ofcourse.  I find programming with nasm on linux and intel x86_64 a lot easier.
Add a comment...
 
+David it worked! I created a smile mov r2, #10 however when I debugged it it went right to the end routine as I could not step through. I assume if I create a breakpoint and rerun it however how do I view the registers?
5
David's profile photoMuhammad Irvan Hermawan's profile photo
8 comments
 
I like that GUI interface
Add a comment...

Carl Hamlin
owner

Discussion  - 
 
Howdy, Assembler peeps.

As we approach the close of the year, I'd like to check in with you lot and see if there's anything else you'd like from this community. I feel like with nearly 2,500 members we should probably be seeing a lot more engagement, but it mostly appears to be lurkers, so if you're out there and there's something I could do that would make you more likely to post, please let me know.

Happy new year, everyone.
8
George Tsiros's profile photoCarl Hamlin's profile photo
20 comments
 
Heya, +George Tsiros - no worries; I wasn't insulted. :)
Add a comment...