Skip to main content
Filter by
Sorted by
Tagged with
4 votes
1 answer
101 views

With the Intel 8088's segment:offset model, code and data reads will stay in the active segment unless the segment is changed. For example, take this instruction: ABCD:FFFF ADD AL,12 This ADD ...
calamari's user avatar
  • 415
3 votes
2 answers
163 views

In my computer architecture class, we learned about registers (intel 8086 microprocessor) and were given exercises about determining the physical address from a line of assembly. Something like: MOV [...
Jeremiah Boey's user avatar
1 vote
0 answers
46 views

I am working on a kernel virtualization driver for x86 CPUs. The driver uses Intel VT-x for virtualization of some guest code. I stumbled upon a piece of driver code that saves and restores VMM's ...
Grigory Rechistov's user avatar
1 vote
3 answers
380 views

I am learning assembly programming on the 8086 microprocessor, and I would like to understand the difference between the effective address and the physical address My teacher said that the effective ...
OLC Yousra's user avatar
1 vote
1 answer
141 views

The intel 8086 has a 20-line address bus. So, it can address 2^20 addresses. However, as it is easier to work with 16-bit words, the 8086 uses only 16 bits to access the memory addresses. How is it ...
tryingtobeastoic's user avatar
1 vote
1 answer
114 views

I am learning about some simple x86 bootloader code and having some trouble understanding how the assembler (nasm in my case) calculates the offsets of labels. It is my understanding that a data label ...
Frink's user avatar
  • 21
3 votes
1 answer
98 views

I've been working on the Lab1 of MIT6.828. I've got a question about the code used for switching to protection mode. Here is the assembly code # Switch from real to protected mode, using a bootstrap ...
QZero's user avatar
  • 43
0 votes
0 answers
241 views

I have been trying to set up a 0x9A, absolute far call using MASM syntax in 32 bit mode and despite my code assembling succesfully, the result will always be call far 0:0. The valid MASM syntax call ...
Theodoros Mpalis's user avatar
3 votes
1 answer
533 views

I was looking at some anti-disassembler techniques and came across the following snippet: push 0x33 call $+5 add [esp+0x10+var_10], 5 retf ; next instruction here So in a nutshell, this would ...
IRP_HANDLER's user avatar
3 votes
0 answers
233 views

The OSDev Wiki describes the general procedure of switching to unreal mode, with an example bootloader: ORG 0x7c00 ; add to offsets start: xor ax, ax ; make it zero ...
moehr1z's user avatar
  • 41
3 votes
1 answer
140 views

Recently, when I read the book "Computer Organization and Design: The Hardware/ Software Interface" by David A. Patterson and John L. Hennessy , it references one resource [Robin and Irvine, ...
An5Drama's user avatar
  • 774
0 votes
0 answers
48 views

This question specifically concerns the VR3000A and MIPS I instruction set, although it's more of a general MIPS question. I recently found a set of PlayStation 1 hardware tests about the behavior of ...
IDontKnowWhatToPutAsMyUsername's user avatar
0 votes
1 answer
143 views

The task is to write an assembly language program that finds the first file in the directory and shows the time of its creation. When you launch the program, nothing happens. Where can the error be? ...
Артем Лебідь's user avatar
0 votes
0 answers
93 views

in intel 8086 , given a physical adress how to find the possible sets of segment : offset for example : 5F173 = (5F17,3) = (578D,78A3) when the first is easy to find but what about the second ? and is ...
rayyya's user avatar
  • 21
1 vote
1 answer
90 views

I'm new to assembly. I'm trying to move some numbers into the memory locatons starting from 0800:0010 but couldn't figure it out. Here's the code: .data NUM0 DB 00H NUM1 DB 22H NUM2 DB ...
Coldcammey's user avatar
1 vote
1 answer
98 views

I had set the gdt table using this data uint16_t gdt_table[][4] = { { 0, 0, 0, 0 }, { 0xFFFF, 0x0000, 0x9a00, 0x00cf }, { 0xFFFF, 0x0000, 0x9200, ...
Markity's user avatar
  • 193
0 votes
0 answers
338 views

Seeing this in Intel Manual: "Conforming segments are used for code modules such as math libraries and exception handlers, which support applications but do not require access to protected ...
Liu's user avatar
  • 67
0 votes
0 answers
47 views

I'm studying old linux kernel source(linux-0.11), some macros defined in sched.h: #define FIRST_TSS_ENTRY 4 #define _TSS(n) ((((unsigned long) n)<<4)+(FIRST_TSS_ENTRY<<3)) #define ltr(n) ...
Li-Guangda's user avatar
0 votes
1 answer
125 views

But it just prints an empty string, unless I set the address to something like 0x00 or 0x20, then it prints some ascii characters . Also I am new to assembly and x86 segmentation so I barely know if I ...
Todor Yanev's user avatar
1 vote
1 answer
89 views

In real mode memory addressing there are 16 segments made with the size of 64KB, and there are 4 segment registers, so where system store those 16 addresses? 0. 00000 1. 10000 2. 20000 3. 30000 ...
Ali Niaz's user avatar
3 votes
1 answer
582 views

I am trying to create a simple BIOS boot sector, for which I use an x86 assembly language. I found out that the layout of memory throughout the booting process looks like the picture beneath this text....
Damian Kowalski's user avatar
1 vote
1 answer
100 views

I'm trying to make a floppy disk operating system, which right now is in its beta. I tried reserving 2 sectors for configuration, and loaded the data into 0x7100. But even though I made sure the ...
Chaise Manners's user avatar
-1 votes
1 answer
89 views

I am using the below code to solve the rat maze problem from geeksforgeeks.However I am getting the segmentation error and I am unable to debug it.Can someone guide me with the debugging? Here's the ...
19ECE1012 Grishma Karekar's user avatar
1 vote
1 answer
230 views

I am learning MS-DOS source code during that i am in difficulty with some line of code: BIOSSEG: EQU 40H BIOSLEN: EQU 2048 DOSLEN: EQU 8192 In the next page there are some lines of code, INIT: XOR BP,...
Shankar Tiwari ji's user avatar
0 votes
0 answers
97 views

P1 and P2 two processes that share a memory segment representing an integer N and running in parallel. the results is supposed to look something like : process 1 : 2 4 6 8 10 27 29 31 33 35 52 54 56 ...
Azz-alarab adnan's user avatar

1
2 3 4 5
7