Articles & Videos



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

I'm programming Infineon TC29x Aurix Tricore Microcontroller based embedded system in 'C' language.  

Consider stack starting address 0x5000 0000.  The stack size is 0x2000.  

If I take current stack pointer minus 0x2000, will that create stack exception?  If yes, what might be 'C' or assembly language code that will achieve this?

My thought is if I subtract negative 0x2000 from current stack pointer or add 0x2000 to current stack pointer, I'll be outside stack and stack exception will occur ?

 I need to set program counter to illegal address, i.e. 0x00FF FFFC.  Can this be done with assembly language instructions?
 If yes, please instrument assembly language instruction that would set program counter to 0x00FF FFFC while code is running.
On Demand Webinar: Networking for the Cloud Era
On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

I am attempting to register a remote machine on team services with Powershell. When I enter the script on the remote machine and attempt to run it, I get the error below: Cannot add type. The assembly 'System.IO.Compression.FileSystem' could not be found. I have copied the registration script from the Deployment Groups section on team services online.

The server that I am using is windows server 2008 R2. The script is below:

$ErrorActionPreference="Stop";If(-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”)){ throw "Run command in Administrator PowerShell Prompt"};If(-NOT (Test-Path $env:SystemDrive\'vstsagent')){mkdir $env:SystemDrive\'vstsagent'}; cd $env:SystemDrive\'vstsagent'; for($i=1; $i -lt 100; $i++){$destFolder="A"+$i.ToString();if(-NOT (Test-Path ($destFolder))){mkdir $destFolder;cd $destFolder;break;}}; $agentZip="$PWD\";(New-Object Net.WebClient).DownloadFile('', $agentZip);Add-Type -AssemblyName System.IO.Compression.FileSystem;[System.IO.Compression.ZipFile]::ExtractToDirectory($agentZip, "$PWD");.\config.cmd --deploymentgroup --agent $env:COMPUTERNAME --runasservice --work '_work' --url '' --projectname 'xxxxxxxProjects' --deploymentgroupname "xxxxxxxxxDeploymentGroup" ; Remove-Item $agentZip;
I am trying to create this Function from the assembly code below
(I have several integer and string finctions that work... I am trying to essentially return the datatable list to SQL)
But I am getting this message
CREATE FUNCTION for "EverywareTemplates" failed because T-SQL and CLR types for return value do not match.

CREATE FUNCTION [dbo].[EverywareTemplates] (@user NCHAR(200), @token NCHAR(200))
RETURNS Table (TemplateID INT, TemplateType NCHAR(200), TemplateName NCHAR(300)) WITH EXECUTE AS CALLER
AS EXTERNAL NAME [HelloEveryware].[HelloEveryware.PassIn].[MessageTemplates];

Open in new window

From This .Net assembly function
    Public Shared Function MessageTemplates(user As String, token As String) As [b]DataTable[/b]
            Dim ret As New DataTable
            Dim api As New wsclientapi.Service
            ret = ConvertToDataTable(api.brkGetTemplates(user, token))
            Return ret
        Catch ex As Exception
            File.WriteAllText(Convert.ToString("D:\netAssemblies\errorfile.txt"), ex.Message + Environment.NewLine + Environment.NewLine + ex.StackTrace + Environment.NewLine + Environment.NewLine + ex.InnerException.Message + Environment.NewLine + ex.InnerException.StackTrace + Environment.NewLine + Environment.NewLine)
            Return Nothing
        End Try
    End Function

Open in new window

I have a CLR Assembly that I have loaded on two separate servers the exact same way.

On one server the function that calls the assembly works perfectly

On the other I get this message.
Makes no sense.

Cannot load dynamically generated serialization assembly. 
In some hosting environments assembly load functionality is restricted, consider using pre-generated serializer. 
Please see inner exception for more information.

Open in new window

Hide a control in a continuous form based on the value of the previous record?

The form has a Button call cmdEdit.  The cmdEdit represents the button, the value Service and the button are what should not show if the service value is the same.

cmdEdit Service       ServiceType1
cmdEdit Service      ServiceType2
cmdEdit Service   ServiceType3

This is what the form needs to display

cmdEdit Service ServiceType1
I'm trying to run a test SSIS package using DTEXEC.EXE.   The package, which ONLY has an Execute SQL in it, runs fine in Visual Studio Version 12.

When I run from command line using DTEXEC.EXE, i get the following error:  Mixed Mode Assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information

I've searched the web and found the suggestion to add useLegacyV2RuntimeActivationPolicy="true".  If that's true for me in SSIS, I do not know how to do it.
I have an assembly I added to SQL
It has 4 parameters in the vb code that are all string

In SQL Server I added the assembly...
But when I try and run this...
CREATE PROCEDURE [dbo].[HelloEveryware] (@user VARCHAR(100), @token VARCHAR(100), @PID VARCHAR(100),@ProspectID VARCHAR(100) )
AS EXTERNAL NAME [HelloEveryware].[HelloEveryware.PassIn].[Confirmation];

I get this message
Msg 6552, Level 16, State 3, Procedure HelloEveryware, Line 1
CREATE PROCEDURE for "HelloEveryware" failed because T-SQL and CLR types for parameter "@user" do not match.

the VB side of this is...

Partial Public Class PassIn
    Public Shared Function Confirmation(user As String, token As String, PID As String, ProspectID As String) As Int32
I have an array that identifies the level in the Tree that I want.  I know that I need to do a recursive routine, but I keep getting stuck.  I have the first node created.  Now I need to recursively explode the subnodes of each of the level 1 nodes.  Here is the data:
Seq      bom_level      Node_text
0      1      1__1100-079__UMBRELLA SUPPORT
1      2      2__1100-079-003__SUPPORT UMBRELLA
2      3      3__1100-079-003-001__TUBE STAND
3      4      4__TR3C-0150.0009__TUBE_RND_CARBON-C_1.50_.095
4      3      3__1100-079-003-002__PLATE BASE
5      3      3__1100-079-003-003__ANGLE SUPPORT
6      4      4__UA1C-0250.0200.0025__ANGLE_CARBON-H_2.50X2.00_.25
7      4      4__UA1C-0250.0200.0025__ANGLE_CARBON-H_2.50X2.00_.25
8      3      3__1100-079-003-004__BAR SUPPORT
9      4      4__BS1C-0050__BAR_SQR_CARBON-H_.50
10      2      2__O-059-215__U-BOLT
11      2      2__O-060-003-A__WASHER HARD
12      2      2__O-061-003__WASHER LOCK
13      2      2__O-005-016__SCREW HEX
14      2      2__O-062-009__NUT HEX
15      2      2__O-060-005-A__WASHER HARD
16      2      2__O-059-216__PIN QUICK RELEASE
17      2      2__B-005-052__UMBRELLA W/BRACKET
18      1      1__1100-133__BRAKE ASSEMBLY
19      2      2__D-001-035__CALIPER BRAKE
20      2      2__1100-056-002__DISC BRAKE
21      2      2__1100-056-003__PLATE BLOCK MOUNTING
22      2      2__1100-056-004__SCREW HEX
23      2      2__O-076-024-1__SCREW SOC
24      2      2__O-063-012-A__NUT LOCK
25      2      2__O-063-012-A__NUT LOCK
26      2      2__O-060-006-A__WASHER HARD
27      2      2__K-002-292__BOLT FLANGE
28      2      2__K-002-292__BOLT FLANGE
29      1      1__1100-338__COOLER OIL ELECTRIC COLD WEATHER
30      2      2__K-006-037__COOLER OIL REMOTE
31      2      2__B-004-078__SWITCH
32      2      …
I don't know how to start this program. Can anyone help me on this or give some ideas to solve this problem
Have a user when a new computer who is using a Winforms application with Crystal Reports on it that was deployed.  An installer is NOT used.  Files are deployed.  When user runs the application they receive the above error.

Shouldn't the EXE solve the issue?  Or download the MSI?  Which file should be installed on the computer.
Free Tool: Subnet Calculator
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.


When attempting to access a DLL file using code below,

 Dim frm1 As New AOP40A.Form1

(Dll file was added in the Reference section.)

I receive the following error:

An unhandled exception of type 'System.BadImageFormatException' occurred in System.Windows.Forms.dll

Additional information: Could not load file or assembly 'AOP40SearchA, Version=1.0.6233.29534, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.

Also received a message indicating:

The call stack contains only external code:

You need to turn off Just My Code and load symbols in order  view source for this location. How do I disable Just My Code? Perhaps that would fix the error.


I have a desktop application developed in VS 2010 with a SqlServer 2008 R2 back end which utilizes the Microsoft.SqlServer.Types assembly as a reference (copy local).  The application was working as expected.  I have just migrated to VS 2015 and SQL Server 2016.
I have set the .net framework to 4.6 and corrected the References within the project to the newest versions.  This would be Microsoft.SqlServer.Types (13.0) the old one was version 10.0.  The forms that utilize the tables with the HierarchyID data types fail with the datareader.getfieldtype error.  
So just for sanity I removed the version 13.0 assembly from the references and copied the older version 10 from another machine and added that one in as a reference where I had copied it (C: root directory).  And the application worked as expected.  Unfortunately, I don't want to have an older version of an assembly if I can avoid it.  Additionally, with the old version the deployment fails with an error of looking for the new version of the assembly.  
I have looked through many forums from VB to VS to SqlServer and although it seems folks have had similar problems, it does not appear there is a definitive answer to why the most current version of the Microsoft.SqlServer.Types is not functioning in the same manner as the version 10.
Any help would be greatly appreciated.
This code works on my local machine, but not the server.

Dim Odrive As System.IO.DriveInfo
Odrive = My.Computer.FileSystem.GetDriveInfo("H:\")

The code is enclosed in a try catch block, but I still get an unhandled error exception "Input string not in the correct format".  Here is the stack information.  

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

************** Exception Text **************
System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at System.Convert.ToInt32(String value)
   at DiskRoom.Form1.Form1_Load(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at …
When I disassemble my assembly code with gdb, the two pointers that point to the data section 0x1000 up are with the .text section. However there are these two: strheq and andeq in front of it.  Will the two addresses be loaded into the memory or will there be some other instructions?


I can't find the answer to this question anywhere.

I know the Control Unit takes the opcode (6-bit field) from the instruction to generate the control signals in the datapath. What I don't understand is how the opcode determines all of the control signals (e.g. MemRead, RedDet, ALUop, MemWrite...)

Please help me understand this since I'm working on an assignment that simulates a processor and a single-cycle datapath (written in C). There is a function where I need to assign values to all the control signals and the only information given is the opcode.


P.S. Do I need to know the opcode for every MIPS instruction in order to know the values of the control signals?
I had successfully built a project in VS2013 using  I added the CRforVS_13_0_17.  I deployed in a clients server with no problems.
When I installed on the next server the client already has CR2008 installed.  I receive an error during the setup process of my app.

Unable to install or run the application.  The application requires that assembly CrystalDecisions.ReportAppServer.CommonObjectModel Version 13.0.2000.0 be installed in the Global Assembly Cache (GAC) first.

I have searched this error and for the version "problem" and only see where the most common answer seems that I need to install CRVS2010 on the clients server.  I can not locate where to get this so that I can download it.

My project has the following references:

Although these are installed from CRforVS_13..., they show the version as 13.0.2000.0

I have tried to overcome this by installing
CRRuntime_64bit_13_0_17 on the clients server with same result.
The server is 2008 r2 64bit.
I develop on Windows 7 Professional N
also 64bit.
Is it possible to store a clr assembly in a SQL Table.... and call it form there instead of a folder?
How hard is to change the top cover? Also is it possible I can put something around it which covers the crack instead of tear a part everything.

Renesas RH850F1L Microcontroller has number of pins that can be configured as general purpose inputs or outputs.

What might the following statement mean?

A particular pin is configured as Digital Output, Logic Low, but it does not have continuity to ground?
Free Tool: IP Lookup
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

I would like learn the assembly bare-metal programming for ARM systems,  would a Raspberry Pi be a good choice for this?

I would like to be able to write codes that blink the LEDs on the pi, without any operating systems -- just my codes  and making the pi  work like a microcontroller. Is this  easily possible with Raspberry? If the answer is yes, I would appreciate some guidance on what's the bestapproach, as far as cross compilers, platforms, and tools/hardware needed.

Thank you for your comments.
We are using CRM 2011, RU14 and a lot of custom code.  We use Visual Studio and Solution Packager to build a package to copy and install on other servers.  

The builds are going good but I have started getting this error, which causes my build to fail.  If anyone has encountered this in CRM 2011 custom development, let me know how you got by it.  Note: we don't use the GAC

The error is: Cannot generate serialization assembly {AssemblyName}.XmlSerializers.dll because it already exists. Use /force to force an overwrite of the existing assembly.

I bought used cylinder head driver side with 6 months warranty for no cracks. My question is when i take it to the machine shop what kind of work I will be ask them to do on it?  The old one driver side has issues of spitting spark plug. It does it twice and the dealer told me it needs to replace. I just dont know any thing about the cylinder heads. Does it needs just to resurface it and put all the other pieces from the old one into it? What is the average cost of this kind of work at machine shop.


2000 ford expedition 5.4 4WD
I want to include following two dll's in my .Net Project.

CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0
CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0

On searching in the internet, I was able to find cr2008_redist_fp31.msi file

Along with the .Net Framework, file CRRedist2008_x86.msi is installed. In addition this, I have installed newly found redist file.

I am able to find these two dll's in C:\Windows\Assembly

CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0
CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0

However, I couldnt add it through my Project Reference. In normal scenario, any Global Assembly would be visible in Project Reference. I am not sure, why i couldnt find these or not able to refer these dll's.

Having some issues building a DLL that must be registered for "COM interop",  COM visible so it can be called from VB6

Visual Studio says:"Cannot register the assembly" Access to the registry key is denied.

Only when I disable the check "Register for COM interop" it can be compiled but then the .tlb file is not created

I already reinstalled VS2013 and updated to version 5 but it doesn't do the trick
Visual Studio 2015
This code has been working for a few months and has suddenly stopped.

Passing a Queue to be written out to an Excel file:

		public bool WriteCells(string fileName, Queue xlmeas)
			int firstrow = Properties.Settings.Default.FirstRow;
			int newValCol = Properties.Settings.Default.NewValCol;
			int noteCol = Properties.Settings.Default.NoteCol;

			xlApp = new Microsoft.Office.Interop.Excel.Application();
			xlApp.Visible = false;
			var db = new MyDb();

				xlWb = xlApp.Workbooks.Open(fileName);
				xlWs = (Worksheet)xlWb.Sheets[shtNo];
				xlWb.CheckCompatibility = false;
				int idRow = firstrow;

				foreach(string idPoint in xlmeas)
					string[] words = idPoint.Split(';');
					string meas = words[0];
					string note = words[1];
					string SomeCode = db.FetchSomeCode(note);
					xlWs.Cells[idRow, newValCol] = meas;
					xlWs.Cells[idRow, noteCol] = note;

				return true;

			catch(Exception ex)
				MessageBox.Show("Error writing to Excel file " + fileName + "\r\n" + "\r\n" + ex.ToString(), "Excel file write error",              MessageBoxButtons.OK, MessageBoxIcon.Error);
				return false;


Open in new window

System.IndexOutOfRangeException was unhandled
  Message=Index was outside the bounds of the array.

There are 75 rows in this Queue





Articles & Videos



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