Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x

Assembly

An assembly language (or assembler language) is a low-level programming language for a computer or other programmable device in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.

Share tech news, updates, or what's on your mind.

Sign up to Post

Hello, I am a beginner in assembly and I've began working on this lab called Binary Bomb. After much work I've gone through the first 4 phases of it so far, but phase 5 has me incredibly confused as to what I should be doing. So far, I believe the password necessary to complete this phase is a string of 6 chars, but other than that I am at a complete lost. I feel like I'm missing something crucial that I'm just not seeing. What should I be checking for here? Thanks.

Dump of assembler code for function phase_5:
=> 0x0000000000401105 <+0>:      push   %rbx
   0x0000000000401106 <+1>:      mov    %rdi,%rbx
   0x0000000000401109 <+4>:      callq  0x40135a <string_length>
   0x000000000040110e <+9>:      cmp    $0x6,%eax
   0x0000000000401111 <+12>:      je     0x401118 <phase_5+19>
   0x0000000000401113 <+14>:      callq  0x40164c <explode_bomb>
   0x0000000000401118 <+19>:      mov    %rbx,%rax
   0x000000000040111b <+22>:      lea    0x6(%rbx),%rdi
   0x000000000040111f <+26>:      mov    $0x0,%ecx
   0x0000000000401124 <+31>:      movzbl (%rax),%edx
   0x0000000000401127 <+34>:      and    $0xf,%edx
   0x000000000040112a <+37>:      add    0x4026c0(,%rdx,4),%ecx
   0x0000000000401131 <+44>:      add    $0x1,%rax
   0x0000000000401135 <+48>:      cmp    %rdi,%rax
   0x0000000000401138 <+51>:      jne    0x401124 <phase_5+31>
   0x000000000040113a <+53>:      cmp    $0x2d,%ecx
   0x000000000040113d <+56>:      je     0x401144 <phase_5+63>
   0x000000000040113f <+58>:      callq  0x40164c <explode_bomb>
   0x0000000000401144 <+63>:      pop    %rbx
 …
0
Free Tool: Path Explorer
LVL 10
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

i want to have 2 options in the Little man Machine? 1. user wants add 2 numbers and then in option 2 type letters for an Word examle nice or smile , user must have the option for either of the both in the beginning :(
0
I am getting following error while building my application

Severity      Code      Description      Project      File      Line      Suppression State
Error            The "Microsoft.Build.Tasks.Xaml.PartialClassGenerationTask" task could not be loaded from the assembly C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\\XamlBuildTask.dll. Could not load file or assembly 'XamlBuildTask, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.      AppConfigWizard
0
If in my application targeting "Any CPU" I include a reference to an assembly compiled to x86, I see the following message:

"There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "VMFGSHARED", "x86". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project."

I fully understand the reason of the message and the 1st part of the recommendation. But can somebody explain what does it mean to "take a dependency on references with a processor architecture that matches the targeted processor architecture of your project." ?
0
I have an application that has been written for me and i have all the source code.  When i compile and run it i get the following error.  What can be causing this?

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidCastException: Unable to cast object of type 'System.Windows.Forms.ToolStripMenuItem' to type 'System.Windows.Forms.Control'.
   at Accusoft.FSInvoicesDemo.MDIParent2.localFolderToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: …
0
Hi,

We're in the process of refactoring a large PowerBuilder application with the goal of keeping our business logic in PB and exposing it as an API for .NET developers by using the .NET assembly target in PowerBuilder 12.6 Classic.

The environments we need to support include multi-threaded environments like IIS and xUnit.  In using xUnit (which defaults to running tests in parallel), we've encountered an issue where database connections made on separate threads are interfering with each other.  We've also reproduced this issue from a multi-threaded .NET console application.

We've created a very simple .NET assembly that just exposes a connection nvo that wraps a native PB transaction stored as an instance variable in the class.  We are not using SQLCA or any global variables.  The connection object just has connect and disconnect methods.  We import this assembly into a .NET xUnit project, create three separate test classes where each runs a test that instantiates a local connection instance and loops ten times, just connecting and disconnecting with each iteration.

If we force xUnit to run tests serially (see how below), we can repeatedly run all tests without issue.  If we let xUnit parallelize the execution of the three test classes, we get random errors.  Sometimes after connecting we'll get a "transaction not connected" exception when immediately trying to disconnect or when attempting to connect we'll get a "transaction already connected" exception.  …
0
CURRENT STATE: Customer is using IMS DC as legacy online component and IMS-DB & DB2 as backend databases.
 One of the legacy subsystems is Document production which uses ASF & DCF IBM utilities. ASF is for information passing and DCF is for Document production. ASF will get information from user when they submit customer information. Those attributes of information will be made into a virtual file format called SIB Type 1(we can also call it as traditional COPYBOOK). ASF will pass the SIB type 1 file after invoking online PDP(Parameter Determination Program) programs(they are written in assembler language). These PDP program will get some information from backend databases based on the parameters passed in SIB Type 1. They will be displayed to customer by ASF. If customer wants to print all info as letter he can do so with the help of DCF. Following illustration can help to understand the current state.

 Eg:- SIB 1 type 1 file(copybook) contains below fields. These fields will get filled based on the information given by the customer in legacy online screen.
 Policy number
 Surname
 Type of policy

 Now user give policy number (xy123456) as input, ASF will fill the policy number and send this SIB to PDPs like below.

 Policy number : xy123456
 Surname : ???
 Type of policy : ???

 PDP will get invoked by ASF. By following some business logic, the PDP will fill the remaining data in SIB type 1 file and send it to ASF.

 Policy number : xy123456
 Surname : …
0
I am trying to call some routine provided to me by a developer contained in a .dll.

I am working with on-premise 2013 SharePoint and have placed the .dll in the \bin directory.

FROM MSDN:

[You can store compiled assemblies in the Bin folder, and other code anywhere in the web application (such as code for pages) automatically references it. A typical example is that you have the compiled code for a custom class. You can copy the compiled assembly to the Bin folder of your Web application and the class is then available to all pages.

Assemblies in the Bin folder do not need to be installed in the Global Assembly Cache (GAC). The presence of a .dll file in the Bin folder is sufficient for ASP.NET to recognize it.]


My problem is I cant seem to find a way to reference this .dll.

I am using a script editor along with javascript.
Can anyone give me a sample of code to load the library and it's procedures.?
0
Hi everybody, I'm new in assembly 8086.
I tried to print a star every 5 seconds but i didn't succeed.
here is my code:

.model small

.data
star db '*'

.code
start:

mov ax,@data ;initialization
mov ds, ax
mov cl, 0h; save the last time we printed
mov bx,1; using as flag for the first time

pulse:
cli
mov al 0h ;seconds
in al, 070h
out al, 071h ;al=current second(time)
sti

cmp bx,01h
jz initial

sub al,05h; current time-5
cmp cl,al;
jz print
jmp pulse


initial:
dec bx

print:
mov dl,star;
mov ah, 2h
int 21h
mov cl,al; update the last time printed
jmp pulse

end start

my idea was to print a star in the beginning, save this time in the register cl and then to check in any pulse if 5 seconds were past, by subtracting 5 from the new time and compare it to last one.
the problem is that it prints only in the first time and then it stopped printing.
any idea??
thanks a lot!
0
Hi Team,


We are trying to run the .rdlc report  using c# code in asp.net using reportviewer control in aspx page.


And when we run this website on prod server we are getting following error:


****************************************************************************************************************


Exception in page load eventand exception is
---Microsoft.Reporting.WebForms.LocalProcessingException: An error occurred
during local report processing. --->
Microsoft.Reporting.DefinitionInvalidException: The definition of the report
'Test-Consolidate.rdlc'
is invalid. --->
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: An
unexpected error occurred in Report Processing. --->
System.IO.FileNotFoundException: Could not load file or assembly
'Microsoft.ReportViewer.ProcessingObjectModel, Version=10.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The
system cannot find the file specified. at
Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(Report
report, AppDomain compilationTempAppDomain, Boolean refusePermissions) at
Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass1.b__0()
at
Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.b__0(Object
state) at System.Security.SecurityContext.Run(SecurityContext securityContext,
ContextCallback callback, Object state) at …
0
Keep up with what's happening at Experts Exchange!
LVL 10
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Okay guys so I know I saw a similar thread like this already but I am still confused as to what my input should be.

I know this function takes in a string of length 6 and then it converts the characters somehow and they need to add up to 0x24 or 36
which can be seen at line <+53>.

The array table gives me values but I have no clue as to what letters correspond with what numbers. If I enter ffffff then masking the numbers for the right most bits gives me f  =  0110 or 6. ffffff = 36 but this still explodes my bomb.

Can someone please help me . Thank you.


Dump of assembler code for function phase_5:
   0x0000000000401123 <+0>:     push   %rbx
   0x0000000000401124 <+1>:     mov    %rdi,%rbx
   0x0000000000401127 <+4>:     callq  0x401361 <string_length>
   0x000000000040112c <+9>:     cmp    $0x6,%eax
   0x000000000040112f <+12>:    je     0x401136 <phase_5+19>
   0x0000000000401131 <+14>:    callq  0x4015e4 <explode_bomb>
   0x0000000000401136 <+19>:    mov    $0x0,%eax
   0x000000000040113b <+24>:    mov    $0x0,%edx
   0x0000000000401140 <+29>:    movzbl (%rbx,%rax,1),%ecx
   0x0000000000401144 <+33>:    and    $0xf,%ecx
=> 0x0000000000401147 <+36>:    add    0x4025e0(,%rcx,4),%edx
   0x000000000040114e <+43>:    add    $0x1,%rax
   0x0000000000401152 <+47>:    cmp    $0x6,%rax
   0x0000000000401156 <+51>:    jne    0x401140 <phase_5+29>
   0x0000000000401158 <+53>:    cmp    $0x24,%edx
   0x000000000040115b <+56>:    je     0x401162 <phase_5+63>
   

Open in new window

0
Hello,
i am receiving an error after moving the database server to another drive. I have tried the following ways to move the data:
1. detach and attach, then manually copy the files to the new location
2. i ve tried using the copy wizard
I continue getting the same error any way that i move the database.
To try and resolve the issue, i have tried to use the following lines
USE <DatabaseName>
GO

EXEC sp_changedbowner ‘sa’
0
Hi All,

I have compile error below.


using System;
using System.Collections.Generic;
 
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Net;
using System.Web.Http;
 
using System.Web.OData;

Error      8      'System.Web.OData.Delta<ERVJGMERPDATASERVICE.TMCARCOLOR>' does not contain a definition for 'GetEntity' and no extension method 'GetEntity' accepting a first argument of type 'System.Web.OData.Delta<ERVJGMERPDATASERVICE.TMCARCOLOR>' could be found (are you missing a using directive or an assembly reference?)       

What component is missing ?

Thank you.
0
Could not load file or assembly 'Microsoft.ApplicationBlocks.ExceptionManagement, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7fef01ac775b6e05' or one of its dependencies. The system cannot find the file specified.
0
summation,Subtraction,multiplication,division in Aseembly?
0
programe code

generate int from 1 to 10 using loop and calculate theie squares inside the loop store in an array

please help me
0
I need a help of reading from file equations and turn them from infix to postfix then find the result by using stack in assembly language .
0
I feel like I'm very close to the solution.  It is similar to others but I'm having trouble.

So I found out the contents of this array but I'm very confused on how to get the values to convert into characters of a string. I am also confused as to what value the total string should be set to. I stuck between 2, 60 and 85?

Dump of assembler code for function phase_5:
   0x000000000040111d <+0>:      push   %rbp
   0x000000000040111e <+1>:      mov    %rsp,%rbp
   0x0000000000401121 <+4>:      push   %rbx
   0x0000000000401122 <+5>:      sub    $0x8,%rsp
   0x0000000000401126 <+9>:      mov    %rdi,%rbx
   0x0000000000401129 <+12>:      callq  0x40137b <string_length>
   0x000000000040112e <+17>:      cmp    $0x6,%eax
   0x0000000000401131 <+20>:      je     0x401138 <phase_5+27>
   0x0000000000401133 <+22>:      callq  0x401695 <explode_bomb>
   0x0000000000401138 <+27>:      mov    $0x0,%eax
   0x000000000040113d <+32>:      mov    $0x0,%edx
   0x0000000000401142 <+37>:      movzbl (%rbx,%rax,1),%ecx
   0x0000000000401146 <+41>:      and    $0xf,%ecx
   0x0000000000401149 <+44>:      add    0x4027a0(,%rcx,4),%edx
   0x0000000000401150 <+51>:      add    $0x1,%rax
   0x0000000000401154 <+55>:      cmp    $0x6,%rax
   0x0000000000401158 <+59>:      jne    0x401142 <phase_5+37>
   0x000000000040115a <+61>:      cmp    $0x3c,%edx
   0x000000000040115d <+64>:      je     0x401164 <phase_5+71>
   0x000000000040115f <+66>:      callq  0x401695 <explode_bomb>
   0x0000000000401164 <+71>:      add    $0x8,%rsp
   0x0000000000401168 <+75>:      pop    %rbx
   …
0
I am trying to learn and then teach ARM processor and the assembly language. Can anyone point me to the correct direction to start with?  In particular I would like to know the best free simulators for ARM systems.
Thanks
0
Free Tool: Subnet Calculator
LVL 10
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

How to count input numbers in a little man computer program
e.g 25 45 63
that means 3 numbers...the output should be 3
i need the coding
thanks
0
how can i write microprocessors 8086 instruction of 100 micro second delay with comment
0
We are asked to calculate the log2 of number and store the result in log in assembly.  I am given this to work with:
#include <iostream>
using namespace std;
int main(int argn, char *argv[]) {
int number, log;
cout << "Enter a number >";
cin >> number;
_asm {
// Calculate the log2 of number and store the result in log
}
cout << "The logarithm is " << log << endl;
return 0;
}
0
I'm new to assembly & I need help with this exercise which is parsing through a string of characters and create and print certain statistics regarding the string.

This is the string I need to define:
str1 byte 'rfDy8nNqbYv~RABAB%E86nBA@ABEgh86Abeg'


I need to create the following output:

Total number of characters processed:
(The number)

Number of uppercase characters:
(The number)

Number of lowercase characters:
(The number)

Digit Total:
(The total)

Digit Average:
(the average)

Number of character digits:
(the number)

Number of invalid characters:
(The number)
0
(gdb) disas
func4
Dump of assembler code for function phase_4:
   0x0000000000401108 <+0>: sub    $0x18,%rsp
   0x000000000040110c <+4>: lea    0xc(%rsp),%rcx
   0x0000000000401111 <+9>: lea    0x8(%rsp),%rdx
   0x0000000000401116 <+14>:    mov    $0x402931,%esi
   0x000000000040111b <+19>:    mov    $0x0,%eax
   0x0000000000401120 <+24>:    callq  0x400d00 <__isoc99_sscanf@plt>
   0x0000000000401125 <+29>:    cmp    $0x2,%eax
   0x0000000000401128 <+32>:    jne    0x401138 <phase_4+48>
   0x000000000040112a <+34>:    mov    0xc(%rsp),%eax
   0x000000000040112e <+38>:    cmp    $0x1,%eax
   0x0000000000401131 <+41>:    jle    0x401138 <phase_4+48>
   0x0000000000401133 <+43>:    cmp    $0x4,%eax
   0x0000000000401136 <+46>:    jle    0x40113d <phase_4+53>
   0x0000000000401138 <+48>:    callq  0x401642 <explode_bomb>
   0x000000000040113d <+53>:    mov    0xc(%rsp),%esi
   0x0000000000401141 <+57>:    mov    $0x8,%edi
   0x0000000000401146 <+62>:    callq  0x4010b2 <func4>
   0x000000000040114b <+67>:    cmp    0x8(%rsp),%eax
   0x000000000040114f <+71>:    je     0x401156 <phase_4+78>
=> 0x0000000000401151 <+73>:    callq  0x401642 <explode_bomb>
   0x0000000000401156 <+78>:    add    $0x18,%rsp
   0x000000000040115a <+82>:    retq
End of assembler dump.

0000000000401108 <phase_4>:
  401108:   48 83 ec 18             sub    $0x18,%rsp
  40110c:   48 8d 4c 24 0c          lea    0xc(%rsp),%rcx
  401111:   48 8d 54 24 08
0

Assembly

An assembly language (or assembler language) is a low-level programming language for a computer or other programmable device in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language is converted into executable machine code by a utility program referred to as an assembler; the conversion process is referred to as assembly, or assembling the code.

Top Experts In
Assembly
<
Monthly
>