Programming :: Traverse Byte Array In Assembly Using Nasm As Assembler?
Jun 16, 2010
I am trying to learn assembly using nasm as assembler. I did not found example related to string operation. I had following example code,
global asm_strlen
section .data
section .bss
section .text
[code].....
my problem is at highlighted line, I am not getting how to copy a byte into 4 byte reg. rather what is syntax of mov instruction to mov byte to WORD DWORD etc.
View 3 Replies
ADVERTISEMENT
Oct 26, 2010
I need to convert an integer to a byte array of size 2 and vice versa. The code shown below works well for positive values but not for negative values. Also, using an array of size four makes the conversion works. However, I am limited to an array of size 2.
View 5 Replies
View Related
Jul 6, 2011
I got across a peculiar problem with memcpy.History:writing a code which do flash/Read functionality for SPI Parts.
Implementation:
1.memory map the Flash chip registers to userspace. - fine
2.Issue block read command
3.Just print the data I got, using the memory mapped address - fine I got the correct data.
4.Copy the data to a local buffer from memory mapped address using memcpy - FAIL
UPDATE:
on SUSE 11.3 -32 bit the above code worked perfectly, but on SUSE 11.4 - 64bit , Ubantu, Fedora it failed.
I am using gcc compiler obviously. I am using i386/x86_64 OS. Processor: Intel core 2 duo, SNB after step 4 , when I dump the data from local buffer every thing is FF.But step 4, if i implement byte by byte copy using assignment operator, it worked.is there any known bug with memcpy? am I missing anything?
View 7 Replies
View Related
Jul 12, 2011
I have a xml file and I read it within a php file with XML dom. This is the node structure of my xml file :
<Root><name></name>
<surname></surname>
<ID></ID>
<department></department>
[code]....
In the comment line, I've got the parent node of the current node. Parent node is "User" node. I would like to obtain the children of this parent node, say "name","surname " etc. How can I do this? Is there any function such as : "$parent_nodes->bringChildren('name')".
View 1 Replies
View Related
Sep 21, 2010
I am searching for the IDE that can compile and debug a NASM code. I am using ubuntu 10.04 and I can make compile via terminal but I must view registers for educational purposes.
View 4 Replies
View Related
Feb 14, 2011
how to use absolute sections in gnu assembler?
View 2 Replies
View Related
Dec 5, 2010
I found on the Internet a rough suggestion to debug code which says to add a line:
An example shows this lists the lines of source that do work.
I do not know where these lines are supposed to go and whether the "notdeadyet" should be a call to a subroutine or what. I only found that "%define" is used to link to external files, so I am confused because what I tried did not work.
(I am unable to use (and learn) any debugging tool for another few weeks and I'd like to progress on this If I can.)
View 2 Replies
View Related
Jul 2, 2010
convert the following code from MASM to NASM
[Code].....
View 8 Replies
View Related
Jan 16, 2010
I need to write a module in pure assembler.Now the linker needs symbols out of the kernel library to link to ( module_init, module_exit, printk).Does anybody know the kernel library name, or are these symbols only in the compressed kernel image (vmlinuz) ?And if, how can I link to a compressed kernel image ?
View 6 Replies
View Related
Jul 9, 2011
GNU assembler 2.17 And without having to prefix them. I'm skimming through as info page and can't find any pseudo operator or assembler directive of this type. E.g. 74 would be a decimal number. But I want it to be hexa 74 without the need to write 0x74.
NOTE: as is the GNU assembler.
EDIT: Google led me to discover this:
Quote:
If you write numbers without an explicit indication of the base, the most recent `.RADIX S' command determines how they are interpreted. However, on the one hand, it says the most recent and, on the other one, it applies to GASP, the GNU assembler preprocessor. IDK if it is the same as as (the GNU assembler).
View 2 Replies
View Related
Jul 3, 2010
It's good that GCC support intel inline disassembly syntax, but it cannot even simply address local variables/parameters properly, making itself stupid and essentially useless, look at the following:
int myfunc(float f){
int x;
float fa[8];
asm(".intel_syntax noprefix
"
"mov eax, [x]
[Code]...
View 1 Replies
View Related
Jul 27, 2010
i tried a code to accept a character and print the same ! i can accept it with following code but its not working with printing that character i use NASM version 2.07
Code:
segment .data
msg1: db 'Enter a key',10
msg1len: equ $-msg1
[code]....
View 3 Replies
View Related
Apr 29, 2010
I have a C code and assembly (nasm) code and I am not able to find how to link them each other. Here are the codes :
NASM side:
Code:
global_maxofthree
section .text
_maxofthree:
[code]....
I am using ubuntu 9.10 and my NASM version 2.05.01 compiled on Nov 5 2008.
View 4 Replies
View Related
Jul 12, 2011
Could you please explain the relationship between the languages?For one, is C writing assembly when you compile, does every piece of code end up assembly/hex? Is there a way to convert (?port?) between them?I don't understand much at all of them yet, but I've seen examples where it looks like they are interacting, and an understanding of all of them looks to be important?
View 12 Replies
View Related
Aug 3, 2014
i wanna use chmod() in linux x86 [debian 3.7.2 x86] but i have some problem in function argv
look at this function:
Code: Select all int chmod(const char *path, mode_t mode);
and mode_t modes:
Code: Select all S_ISUID (04000) set-user-ID (set process effective user ID on
execve(2))
S_ISGID (02000) set-group-ID (set process effective group ID on
execve(2); mandatory locking, as described in
fcntl(2); take a new file's group from parent direcق
tory, as described in chown(2) and mkdir(2))
[code]...
i know there is some problem in ecx and mode_t value/
View 2 Replies
View Related
Mar 28, 2011
Looking for code to add 5 numbers in assembly? I want to use array for input of those 5 numbers. No problem if the output is 1 digit(0....9).
View 3 Replies
View Related
May 17, 2011
I've been converting some C code to assembly for my homework; it was going well but I'm having trouble with a for loop for hours. I could not understand where is the problem and decided to ask. I'm posting the part where I'm having trouble of my C-code and assembly-code; every other part of codes act same and the variable values are same. I'm waiting this two codes to act same, but they don't.
Code:
mov ebx, [result]
mov eax, [i]
mov ecx, [ebx+eax]
mov [j], ecx
mov [ebx+eax], byte '.'
_loop:
mov ebx, [result]
mov eax, [i]
inc eax
mov cl, [ebx+eax]
cmp cl, 'Z'
je _continue
mov ebx,[result]
mov eax,[i]
inc eax
mov ecx, [ebx+eax]
mov [k], ecx
mov ebx, [result]
mov eax, [i]
inc eax
mov ecx, [j]
mov [ebx+eax], ecx
mov ecx, [k]
mov [j], ecx
inc dword [i]
jmp _loop
_continue:
Code:
j=result[i];
result[i]='.';
for(;result[i+1]!='Z';i++){
k=result[i+1];
result[i+1]=j;
j=k;
}
View 10 Replies
View Related
Jan 6, 2011
I'm reading "Understanding the Linux Kernel" and came upon this assembly instruction:
movl $(__KERNEL_CS << 16), %eax
I am curious as to what "<<" means/does. I tried to gooogle, but google doesn't search for "<<".
View 7 Replies
View Related
Nov 24, 2010
I'm learning C and trying to write a program to convert gigabyte into byte. It will take 50% of the value given and then convert that value into byte. But the problem is the output goes into minus / negative value. Like, if I enter 22, I get output: -2147483648.
Code:
#include <stdio.h>
#include <math.h>
main (int argc, char* argv[])
{
[Code]....
View 5 Replies
View Related
Jul 10, 2011
As 2.17
I want to code this:
and byte[45],03
In words, AND the byte at memory location 45 with immediate value 03. As reports "Ambiguous operand size for and". How could I code the instruction such that as understands my intention?
john: .byte 45
and byte[john],03
gives the same error.
View 8 Replies
View Related
Jul 9, 2011
[Code]....
if the address of stWndClass is 403000h, WHY it would be compile as mov eax,[esi+403004] and the first one would be mov eax,[esi+4]? I know how to get the values 403004h and 4,but do not know why.
View 5 Replies
View Related
Nov 30, 2010
I have read where C is first converted to Assembly before its final compilation to binary. Is there a way to do this with Bash commands? I would like the understanding that Assembly allows to Bash somehow.
View 14 Replies
View Related
Jun 11, 2010
E.g. 98 is represented as 1100010 (number of valid bits is 7)
What is the formula to calculate the number of valid bits in a byte ?
View 14 Replies
View Related
Mar 6, 2011
I am trying to dynamically delete and add information into the array "blah"
Code:
int blahsize = 1;
char** blah = (char**) calloc(blahsize+1,sizeof(char*));
Adding information:
Code:
blah[1]=stuff1;
blah[2]=stuff2;
code....
View 2 Replies
View Related
Aug 12, 2010
I'm trying to write an extension to PHP which means coding in C. I'm really really rusty at C coding and was never very good at it.
Can anyone propose an efficient, safe, and [hopefully] future-proof way of reversing a double? Keep in mind that it should work on as many systems as possible and on 32- and 64-bit systems (and on ???-bit systems in the future?). Will the size of a 'double' ever change or will it always be 8 bytes?
I've tried this and it doesn't work...the compiler complains about "invalid operands to binary" because I'm trying bitwise shiftw on a non-integer.
Code:
x = (x>>56) |
((x<<40) & 0x00FF000000000000) |
((x<<24) & 0x0000FF0000000000) |
((x<<8) & 0x000000FF00000000) |
[Code]....
View 3 Replies
View Related
Jun 7, 2010
I have trouble converting a short array to a char array
Code:
short pShort[4] = { 0x41, 0x42, 0x43, 0x44 };
How to convert this to a char array?
View 4 Replies
View Related
Jan 11, 2013
Assuming there are two list objects a1, a2.
a1 = ['
']
a2 =['hi
']
len() built-in function gives total number of elements in the list object.
len(a1) gives 1. len(a2) gives 1 also.
Code: Select all$ python
Python 2.7.3 (default, Sep 9 2012, 17:41:34)
[GCC 4.7.1] on linux2
[Code]......
I thought there exists a built-in function that gives total size of a list object in byte. So using the function produces 1 for a1, 3 for a2. I haven't found such function or module yet.
View 3 Replies
View Related
Aug 9, 2009
I'm writing a PHP program. I've encountered a problem; in the following code I try to pass $_POST['delete'] which is an array as the value of a hidden input to some form, but it doesn't do so.there's something wrong with converting PHP array into HTML array. I'm sure that $_POST['delete'] is not null and is a real array.
echo '<input type="hidden" name="delete[]" value="'.$_POST['delete'].'" />';
View 4 Replies
View Related
Dec 13, 2009
I wrote a serial port communication program to access a equipment.
int main(void)
{
int fd = 0;
int nread = 0,i = 0,nwrite = 0, tmpread = 0, m = 0, n = 0 ;
[code]....
View 2 Replies
View Related
May 26, 2010
(I am using vector() and matrix() functions from "Numerical recipes in C".)There are 100 numbers to be stored in 2D array of 10 rows and 10 columns.100 numbers are stored in a 1D array.I get "segmentation fault" at the line indicated in the segment of my code below:
Code:
:
:
#define size 100
#define nl 1
[code]....
View 12 Replies
View Related