Questions tagged [irvine32]

A 32-bit MASM library and macros targeting the Win32 Console

Irvine32 is a library that was made available in Kip Irvine's book Assembly Language for x86 Processors. The book is regularly used in academia as a teaching tool.

The library is simple in design and is meant to take make certain low level tasks that students encounter easier to handle. The library is designed to be used in 32-Bit protected mode targeting Win32 console applications.

The library itself and the macros require MASM or MASM compatible assembler capable of generating 32-bit code.

There is a reference online that can be downloaded as .chm file (self-extracting exe: IrvineLibHelp.exe).

617 questions
3
votes
2 answers

Assembly Language New Line

I'm brand new to assembly language programming, and I would like my output to have separate lines so that it is easier to read, however, I wrote my code and had it working, but was then informed that I could not in fact use the Irvine procedure to…
Moxy
  • 171
  • 1
  • 3
  • 12
3
votes
1 answer

Move char left or right in Assembly

I working on a simple game in assembly and for the moment I'm just trying to move the player icon (in this case it is a char X) left or right depending on whether the number 1 or 2 is hit on the keyboard. Currently I just have two if thens to move…
user4027720
3
votes
1 answer

Kip Irvine- Assembly Language for X86 Processors- how relevant for Linux?

How relevant would the book by Kip Irvine Assembly Language for x86 Processors be for the Linux operating system? In other words, the fact this is a book on x86 is there really much difference than learning x86 on Linux? Surely the operating system…
user997112
  • 29,025
  • 43
  • 182
  • 361
2
votes
1 answer

read file in assembly

First: This code in assembly can't open the file which I enter it's name Second: I don't know how to merge this code to my code which I use it to open file TITLE Reading a File (ReadFile.asm) ; Opens, reads, and…
Kyara Programmer
  • 93
  • 1
  • 2
  • 4
2
votes
2 answers

Test if value in EAX is the same as any value in a array x86

I am attempting to test if the random value generated in eax is the same as any value in an array I have allocated. The outer loop generates the array and writes it to the screen and in to the array, The inner loop is then supposed to test if the…
user670595
2
votes
1 answer

How to print a multiplication result in EDX:EAX in Assembly

When multiplying 32-bit numbers in assembly, the result will be put in EDX:EAX combination. The upper half of the result goes into EDX and the lower half goes into EAX. If both EDX and EAX have two parts of a result, how can I print these values to…
Justin k
  • 1,104
  • 5
  • 22
  • 33
2
votes
1 answer

Error code A4011 multiple .MODEL directives, but I only have one in my code

I am using Visual studio 2022 Community using MASM and Kip Irvine's libs and such. I have to use them for the class I am in currently ( both VS and Kip ) It took me days to figure out how to just get all the file pathing right, now the only problem…
Dkeane1
  • 23
  • 2
2
votes
0 answers

How to initialize an array of custom structs in Assembly

I'm working on an assembly language project where I need to define a custom struct COORD which defines a 3-D coordinate and then define an array of COORD objects Here is my code so far: INCLUDE Irvine32.inc COORD STRUCT X WORD ? Y …
JonGrimes20
  • 115
  • 9
2
votes
1 answer

Using 16-bit addresses like foo[si] with Irvine32 (in 32-bit mode)?

For some reason, while I was debugging it stopped at mov al,data1[si] and gave me an exception Exception thrown at 0x00D53668 in Week 5.exe: 0xC0000005: Access violation reading location 0x01AA6000. May I know what was the reason? INCLUDE…
Joshua Tabi
  • 143
  • 9
2
votes
2 answers

how do I use the sign extension from multiplication?

I'm learning assembly right now and I'm completely lost on how the sign extension is used. I understand that if you have a value in AX and do MUL value it multiplies the value times AX and the result is in DX:AX, but how do I access and use the…
Sean Meyer
  • 21
  • 1
2
votes
1 answer

Reverse String MASM

I have this code designed to take a string in "originString" and put it in reverse order in "destinationString". I can't figure out how to make destinationString fill up and not just hold one value and then also print out with writeString and not…
2
votes
1 answer

Assembly wrong result of exponent power procedure

This was a 2 part assignment. first I had to figure out how to send a reference parameter to a procedure called pow using the stack which I think I did correctly using push offset result The second part of this assignment has me completely clueless,…
darko
  • 2,438
  • 8
  • 42
  • 54
2
votes
2 answers

Need help to display number with decimal places in assembly language using visual studio .asm file

Need help to display number with decimal places in assembly language using visual studio .asm file. For instance, 10 divide 4 will be 2.5 but it only displays 2 mov eax, 10 mov ebx, 4 xor edx, edx div ebx call WriteDec
CW_2434
  • 156
  • 10
2
votes
0 answers

Rotating an array by 1 Index in assembly language

I am new to assembly language and am having a problem with the ecx register and looping it seems, the purpose of this program is to Input 10 signed integers into a DWORD array Print the array Rotate the array right by 1 index [1,2,3,4] ->…
2
votes
1 answer

How to take string input in Assembly

I tried searching the forum for answer but all I got was taking input in 16bit or nasm. I tried using push ecx push edx mov edx, offset myVar mov ecx, sizeof myVar call readstring but it is not working as i expected. I am trying to take a…
Danial Ahmed
  • 856
  • 1
  • 10
  • 26
1 2
3
41 42