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

I have a clr assembly installed on SQL Server 2008R2
It has been working flawlessly for 4 months
Not 1 iota of code has been changed
If calls a web service
Not one thing has been changed on the web service

Out of the blue I am getting this message on the invoke

Msg 6522, Level 16, State 2, Line 2
A .NET Framework error occurred during execution of user-defined routine or aggregate "MyGTG": 
System.NullReferenceException: Object reference not set to an instance of an object.
System.NullReferenceException: 
   at HelloEveryware.PassIn.GTG(String user, String token, String PID, String OID, String TSW_ID, String FirstName, String LastName, String IsOwner, String EmailAddress, String AccomName, String AccomAddress, String AccomState, String CheckinDate, String CheckinTime, String CheckoutTime, String AccomNights, String TourDate_Disp, String TourWave, String TourLocation, String ContactUsPhone, String DateAdded, String SendNow, String AccomCreationDate, String AccomPhone, String ActivitySeason, String CampaignName, String CancellationPeriod, String CheckinDate_Disp, String CheckInDayOfWeek, String CheckoutDate, String CheckoutDate_Disp, String ContactUsEmail, String ContactUsSignature, String OpenDate, String OpenExpirationDate, String OpenExpirationDate_Unix, String OpenMonths, String OwnerAgentName, String OwnerLottoPreferenceLevel, String OwnerLottoRequest, String OwnerLottoUse, String OwnerNumber, String OwnershipSeason, String OwnershipUnitSize, String 

Open in new window

0
Free Tool: SSL Checker
LVL 10
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

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.

In my code below...
What happens if a null value is passed in?

On my "far end" api I handle the null value  (api.brkEditProspect)

    <Microsoft.SqlServer.Server.SqlFunction>
    Public Shared Function UpsertProspect(user As String, token As String, PID As String, FirstName As String, middlename As String, LastName As String,
    EmailAddress As String, Address1 As String, Address2 As String, City As String, state As String, country As String,
    zipcode As String, Occupation As String, spousefirstname As String, spouselastname As String, spouseoccupation As String, DateOfBirth As String,
    Gender As String, WorkPhone As String, HomePhone As [String], CellPhone As String, MaritalStatus As String, HouseHoldIncome As String, ReferingOwnerID As String, SalesAgent As String) As Int32
        Dim ret As Int32 = 0
        Try
            Dim api As New wsclientapi.Service
            Dim rett As String = ""
            rett = api.brkEditProspect(user, token, PID, FirstName, middlename, LastName, EmailAddress, Address1, Address2, City, state, country, zipcode, Occupation, spousefirstname, spouselastname, spouseoccupation, DateOfBirth, Gender, WorkPhone, HomePhone, CellPhone, MaritalStatus, HouseHoldIncome, ReferingOwnerID, SalesAgent)
            ret = 1
        Catch ex As Exception
            File.WriteAllText(Convert.ToString("D:\netAssemblies\errorfile.txt"), ex.Message + Environment.NewLine + Environment.NewLine + ex.StackTrace + Environment.NewLine + 

Open in new window

0
Hey there guys.

I have been given a chunk of C++ Code that I need to turn into assembly for 3 Processors.

The, 6805, DS89C420 & ARM7

Below is the code.
Any Help would be amazing.

void BubbleSort (void) {
 unsigned char tmp;
 int i, j;
 for (i=0; i<sizeof(Data)-1; i++) {
 for (j=0; j<sizeof(Data)-1-i; j++) {
 if (Data[j+1] < Data[j]) {
 tmp = Data[j];
 Data[j] = Data[j+1];
 Data[j+1] = tmp;
 }
 }
 }
 }
0
Am attempting to install a modified version of an open source project using an installer built using Visual Studio Community 2017.
I had to use a Temporary  Testing Certificate in order for the solution to build.

Solution builds and publishes with no errors however the following error message is shown when attempting to use the installer.
(Application is an MS Outlook extension)

Name: Out2Share
From: file:///J:/Out2Share_cbm/Out2Share.vsto

************** Exception Text **************
System.Deployment.Application.InvalidDeploymentException: Strong name signature not valid for this assembly Out2Share.dll.
   at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.DownloadAddIn(TimeSpan timeout)
   at Microsoft.VisualStudio.Tools.Applications.Deployment.ClickOnceAddInDeploymentManager.InstallAddIn()
0
Hi EE,

What the below error says? And how do I resolve it?

mysql-data-adapter.JPG
I am using:
Visual Studio 2015
MySQL Server 5.7
ODBC Connector 5.3
MySQL for Visual Studio 1.2

and have added the following Nugets...
installed-nugets.JPGPlease help.

Regards.
D Patel
0
i have already  ( ferst drive ) access,
but now i need to get to the (second drive ) access
but stumbled into a problem.

need to put a
AH = 00
DL = drive number
http://stanislavs.org/helppc/int_13-0.html

	
start:

	call os_hide_cursor
	
	mov ax, .title_msg
	mov bx, .footer_msg
	
	mov cx, 10011111b	; Collor
	call os_draw_background


   
	mov cx, 1				; Load first disk sector into RAM
	mov dx, 0
	mov bx, disk_buffer
	
	mov ah, 2
	mov al, 1
	stc
	int 13h					; BIOS load sector call

    mov si, disk_buffer + 2Bh		; Disk label starts here

	mov di, .tmp_string1
	mov cx, 11				; Copy 11 chars of it
	rep movsb

		mov byte [di], 0			; Zero-terminate it

	mov si, disk_buffer + 36h		; Filesystem string starts here

	mov di, .tmp_string2
	mov cx, 8				; Copy 8 chars of it
	rep movsb

	mov byte [di], 0			; Zero-terminate it

	mov ax, .label_string_text		; Add results to info strings
	mov bx, .tmp_string1
	mov cx, .label_string_full
	call os_string_join

	mov ax, .fstype_string_text
	mov bx, .tmp_string2
	mov cx, .fstype_string_full
	call os_string_join



	mov ax, .label_string_full		; Show the info
	mov bx, .fstype_string_full
	mov cx, 0
	mov dx, 0
	call os_dialog_box


	.title_msg	db 'Setup', 0
	.footer_msg	db 'Setup ...', 0
	.tmp_string1		times 15 db 0
	.tmp_string2		times 15 db 0
	.label_string_text	db 'Filesystem label: ', 0
	.label_string_full	times 30 db 0
	.filename_tmp1		times 15 db 0
	.filename_tmp2		times 15 db 0
	.fstype_string_text	db 'Filesystem type: 

Open in new window

0
At work today where we support an SDK (.net one) someone asked if the C# SDK was a "signed" .NET SDK.

I wasn't 100% sure what they were talking about but I thought this was on the right track:
https://docs.microsoft.com/en-us/dotnet/framework/app-domains/how-to-sign-an-assembly-with-a-strong-name

Can someone explain to me what this is about and why they would need it? And also how difficult would it be to turn my unsigned SDK into a signed SDK?

Thank you
0
I'm programming Infineon TC29x Aurix Tricore Microcontroller based embedded system in 'C' language.
 
Consider stack starting at address 0x5000 0000.  The stack size is 0x1000.  

If I add 0x1000 to current stack pointer(Register A10) and store result in A10, then I should get underflow error.

What might be the code in assembly to change stack pointer?  something like following:

stw a10, 0x1000(a10)   # I'm not sure if stw is correct opcode ?

what are other options to create stack undeflow exception?
0
Do any one knows what HEX code i need to get the C: drive label

for diskette (a) i uze
 disk_buffer + 3h		; Disk label from Drive A:

Open in new window


but drive C: is harder to get.

disk_buffer	equ	24576
..
.
mov cx, 1				; Load first disk sector into RAM
mov dx, 0
mov bx, disk_buffer
	
mov ah, 2
mov al, 1
stc
int 13h					; BIOS load sector call

mov si, disk_buffer + 3h		; Disk label from Drive A:
call os_print_string
	

Open in new window


Tnx.
0
I inherited a C# application.  The development environment is Win10 64 bit, VS 2012 and the development machine has Microsoft Office Pro 2016 installed.  The problem is that the C# application has a lot of references to Microsoft.Office.Interop.Word which utilizes MS Office 2003 if I recall correctly (version 11 as opposed to version 14).

I can't get past this build error which states:

Assembly 'Microsoft.Office.Interop.Word, Version 14.0.0.0, culture = neutral, Public Key Token.......' which is a higher version than referenced assembly 'Office, Version=11.0.0.0, Culture neutral....."

I cannot remove the reference to either assembly without breaking a significant amount of the existing code.  I originally tried installing both and setting the 'Embed Interops Types = False' at the recommendation of .Net but that did not resolve the issue.

Any suggestions?
0
How to Use the Help Bell
LVL 10
How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Hi Experts! I have no idea how to debug this issue.... Any help would be appreciated!

I have a client who sends shipments to UPS to get Tracking information and status, etc. Occasionally they have to void an airbill... all the functions work as desired with the exception of the "void" switch.

For example:

Z:\UPS\NewUPS.exe track << works great

Z:\UPS\NewUPS.exe ship << works great

Z:\UPS\NewUPS.exe void << Throws the error (was working a few months ago)


Error Message

 .Net Framework Error:


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

************** Exception Text **************
System.Runtime.InteropServices.SEHException: External component has thrown an exception.
   at System.Data.Common.UnsafeNativeMethods.IDBInitializeInitialize.Invoke(IntPtr pThis)
   at System.Data.OleDb.DataSourceWrapper.InitializeAndCreateSession(OleDbConnectionString constr, SessionWrapper& sessionWrapper)
   at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
   at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at …
0
I have a table that has 4 triggers on it.
An api does an insert or update on the table and these triggers fire.

On that same server I have an assembly installed... which a function calls

How can I add a call to that assembly function after the LAST trigger fires?
Is there a way to determine the ORDER of the triggers...
And then should I add that function to the Trigger...??
0
HI All,

I have this powershell script and I need find a secure way of storing the password. I've tried :

$response = Read-host "What's your password?" -AsSecureString 
$Password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($response)

Open in new window


and this will not work.

below is my script, how do I load the assembly, it prompts and error saying :

Unable to find type [Microsoft.VisualBasic.Interaction]. Make sure that the assembly that contains this type is loaded.
At line:1 char:1

this is the code
#Specifiy Local admin account name
$user = "mcadmin"
  
Add-Type -Assembly System.Web
$pass=[Web.Security.Membership]::GeneratePassword(20,0)
NET USER $user "$pass" /ADD /y
#Add user to local admin group
NET LOCALGROUP "Administrators" "$user" /add
#set password to never expire
WMIC USERACCOUNT WHERE "Name='$user'" SET PasswordExpires=FALSE
  
Write-Host "Username: $user" -foregroundcolor green -backgroundcolor black
Write-Host "Password: $pass" -foregroundcolor green -backgroundcolor black
Write-host "Server: $env:computername" -foregroundcolor green -backgroundcolor black

# Load the classes from KeePass.exe:
cd "\\smile01\Infrastructure\KeePass-2.34" | out-null
(Get-ChildItem -recurse $script:myinvocation.mycommand.path | Where-Object {($_.Extension -EQ ".dll") -or ($_.Extension -eq ".exe")} | ForEach-Object { $AssemblyName=$_.FullName; Try {[Reflection.Assembly]::LoadFile($AssemblyName) } 

Open in new window

0
He, i wanna add a .newmessage line under

	.message	db 'Hallo en welkom to installasie van pirom client', 0

Open in new window

but when adding jest a new line .      .message      db '....' ,0
do not works

: error: symbol `.message' redefined

;------------------------------------------------------
; Install screens 1 
;------------------------------------------------------
	BITS 16
	ORG 32768
	%INCLUDE 'pirom_dev.inc'

start:

        mov ax, .title_msg
	mov bx, .footer_msg
	mov cx, 10011111b	; Colour
	call os_draw_background

	mov si, .message
;	mov ax, .buffer
	call os_print_string
	
	.message	db 'Hallo en welkom voor de installasie van pirom', 0
	
	.title_msg	db 'Pirom Setup', 0
	.footer_msg	db 'Setup', 0

Open in new window

0
I have a dll .Net class that is loaded on SQL Server 2008R2

A function calls the dll and passes in parameters
How can I change those parameters to allow incoming nulls on a few of them?

<Microsoft.SqlServer.Server.SqlFunction>
    Public Shared Function GTNG(user As String, token As String, PID As String, OID As String, TSW_ID As String, FirstName As String,
    LastName As String, IsOwner As String, EmailAddress As String, AccomName As String, ... etc...etc...
0
Dear community,
We have Problems with active sync in Exchange 2016 CU5.
After a Migration from Exchange 2010 to Exchange 2016 CU5 the following error occours when we connect with active sync:

OWA is working!

exchange analyzer
Event code: 3008
Event message: A configuration error has occurred.
Event time: 07.07.2017 08:10:45
Event time (UTC): 07.07.2017 06:10:45
Event ID: d049c0dd0f3b4cc4986b58ec61b74869
Event sequence: 1
Event occurrence: 1
Event detail code: 0
 
Application information:
    Application domain: /LM/W3SVC/2/ROOT/Microsoft-Server-ActiveSync-4285-131438814449264551
    Trust level: Full
    Application Virtual Path: /Microsoft-Server-ActiveSync
    Application Path: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\sync\
    Machine name: XXX
 
Process information:
    Process ID: 18536
    Process name: w3wp.exe
    Account name: IIS APPPOOL\DefaultAppPool
 
Exception information:
    Exception type: ConfigurationErrorsException
    Exception message: Could not load file or assembly 'Microsoft.Exchange.Security, Version=15.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. (C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\sync\web.config line 251)
   at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
   at …
0
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.
0
I'm trying to create illegal instruction reset.  

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

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.
0
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\agent.zip";(New-Object Net.WebClient).DownloadFile('https://github.com/Microsoft/vsts-agent/releases/download/v2.116.1/vsts-agent-win7-x64-2.116.1.zip', $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 'https://aaosprojects.visualstudio.com/' --projectname 'xxxxxxxProjects' --deploymentgroupname "xxxxxxxxxDeploymentGroup" ; Remove-Item $agentZip;
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.

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
    <Microsoft.SqlServer.Server.SqlFunction>
    Public Shared Function MessageTemplates(user As String, token As String) As [b]DataTable[/b]
        Try
            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

0
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

0
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
                         ServiceType2
                          ServiceType3
0
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.
0
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) )
--RETURNS BIT WITH EXECUTE AS CALLER
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
    <Microsoft.SqlServer.Server.SqlFunction>
    Public Shared Function Confirmation(user As String, token As String, PID As String, ProspectID As String) As Int32
0
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      …
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
>