0% found this document useful (0 votes)
17 views4 pages

Microprocessor Lab Oral Exam Questions

The document is a question bank for an oral exam in a Microprocessor Lab course at Sinhgad College of Engineering, covering various topics related to assembly language programming. It includes questions on assemblers, system calls, instructions, registers, and concepts such as segmentation, paging, and multitasking. The questions aim to assess students' understanding of microprocessor operations and assembly language syntax.

Uploaded by

123trialid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views4 pages

Microprocessor Lab Oral Exam Questions

The document is a question bank for an oral exam in a Microprocessor Lab course at Sinhgad College of Engineering, covering various topics related to assembly language programming. It includes questions on assemblers, system calls, instructions, registers, and concepts such as segmentation, paging, and multitasking. The questions aim to assess students' understanding of microprocessor operations and assembly language syntax.

Uploaded by

123trialid
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

SINHGAD COLLEGE OF ENGINEERING

VADAGAON, PUNE
DEPARTMENT OF COMPUTER ENGINEERING
SE COMPUTER, SEM II
SUBJECT: MOCROPROCESSOR LAB
ORAL EXAM QUESTION BANK

1. Which assemblers can be used for execution of assembly language programs? What is the long-
form of NASM?

2. Differentiate between compiler and assembler.

3. Which are three sections present in assembly language? What we write in all sections?

4. Write a system call for read, write and exit system call.

5. How to execute a program using NASM or Write an execution steps to execute assembly
language program.

6. What is the ASCII value for newline?

7. What is ASCII value for 0 to 9.

8. Explain BTC, BTR, BTS instruction with example.

9. Which instruction is used to check whether that number is positive or negative? How it works?

10. Explain directives in assembly.

11. What is meaning of global _start and _start.

12. Write equivalent instruction of ROL BX,1

13. Difference between SUB and CMP.

14. Differentiate between conditional & unconditional jump instruction

15. Write instructions to convert from hex to ascii.

16. Explain shift and rotate instructions with example.

17. If both the numbers are 32-bit then how many bits result u are getting for multiplication
operation.

18. What is the ASCII value for Space and enter?

19. Differentiate between macro and procedure.

20. Explain push and pop instructions.


21. What is the logic of non-overlapped block transfer with sting instructions?

22. Explain instructions: - a) MOVSB b) REP c) CLD

23. What is use of direction flag?

24. Write instructions to convert from ascii to hex

24. Explain flag control instructions


.
25. What is the logic of overlapped block transfer without sting instructions?

26 Explain instructions: - a) MOVSB b) REP c) STD

27. Differentiate between near & far procedure.

28. Differentiate between jmp and call

29. Execution steps for far procedure program?

30. Which contents are stored in rax register after opening a files?

31. Which contents are stored in rax register after reading a files?

32. what is an assembly language

33. What is meaning of command line argument.

34. What is first and second argument in a stack.

35. How many times pop instruction have to be used to get a actual argument?

36. list the names of different assembles.

37. What is difference between assembler and compiler

38. Advantages of defining a macro.

39. In multiplication, operation in which register a result is stored?

[Link] division, operation in which register a quotient & remainder is stored?

41. Enlist a single operand instructions with it's syntax.

42. Write any 5 double operand instructions with syntax.

[Link] the 32 bit registers and 64 bit registers.

44. what is difference between sub and cmp instruction

45. What is size of GDTR, LDTR and IDTR .Draw it's format.
[Link] rotate instruction with example

47. write a syscall for file operations:- read, write, open, close.

48. what is machine status word.

49. Explain control register.

[Link] is the use of IP.

51. In case of far procedure, how the processor knows which instruction is to be executed?

52. What is real and protected mode? Difference between them

53. how the user knows that the processor is working with real mode.

54. How processor switch from real to protected mode

55. What is segmentation and paging.

56. difference between segmentation and paging.

57. similarities between macro and procedure.

58. what is name of coprocessor for 80386.

59. Prepare all Flag registers.

60. What is use of Vmode? What is an interrupt.

61. Differentiate between IMUL and MUL instruction

62. Differentiate between Carry flag and Auxiliary carry flag.

63. What is the function of TR (Task Register)?

64. What is the ascii value for enter?

65. Which flag is useful for string operations?

66. What is the syntax for macro?

67. What is opcode and operand?

68. What is the size of double word and quad word?

69. What is ISR (Interrupt Service Routine)?

70. Which are the features of 80386?

71. What is protection and which are the privilege levels?


72. What is multitasking?
73. What is selector and descriptor? Which are the descriptors and their use?

Common questions

Powered by AI

Near procedures are utilized for calls within the same code segment, using short addresses which make them efficient for local calls. Far procedures involve calls crossing segment boundaries, requiring both segment and offset addresses, thus supporting calls over larger address spaces but with additional overhead. This distinction affects how functions interact with the memory model, impacting efficiency and flexibility in procedural programming.

PUSH and POP are fundamental stack operations used in low-level programming for data management. PUSH adds data onto the stack, decreasing the stack pointer, while POP removes data, restoring it to a register and increasing the stack pointer. These instructions enable effective temporary storage and retrieval of data, critical for managing function calls, local variables, and supporting complex algorithms by maintaining control over execution context.

The Instruction Pointer (IP) register plays a critical role in assembly language execution by holding the address of the next instruction to be executed. This ensures the orderly and sequential processing of instructions in the program, enabling the CPU to track where it is in the execution sequence. Any modification to the IP directly alters program flow, such as jumps or calls, making it vital for precise control over execution paths.

A compiler translates high-level programming language code into machine code or intermediate code all at once, optimizing and preparing it for execution by the CPU. Conversely, an assembler converts assembly language, which is closer to machine code, directly into machine language instructions. While a compiler operates with entire programs, an assembler works at a lower level, directly correlating assembly instructions to machine code."

Segmentation and paging are both memory management schemes that aim to increase memory efficiency. Segmentation divides the memory into varying-sized segments based on the logical divisions of a program, like code, data, and stack, allowing for flexible memory use. In contrast, paging divides memory into fixed-size pages, promoting efficient memory allocation and reducing fragmentation but doesn't preserve the logical layout of a program. Both facilitate protection and isolation between different program components but differ fundamentally in dividing memory.

Flag control instructions are used to modify, set, or clear flags in the CPU status register. They influence decision-making processes in the program by reflecting conditional states of execution, such as carry or zero result, affecting instructions like conditional jumps or function calls. By manipulating these flags, programs achieve more complex control flows and respond dynamically to various conditions and results produced during execution.

The direction flag (DF) in the CPU status register is crucial for string processing operations. It determines the direction in which string operations like MOVSB, MOVSW, and STOSB move through memory. A cleared DF (0) makes instructions process from lower to higher memory addresses, whereas a set DF (1) processes from higher to lower addresses, facilitating operations on data arrays located in sequential memory addresses.

In real mode, the processor operates with direct access to hardware and a simple memory model, relying on the segmented memory with a 1MB limit and lacking access restrictions. Protected mode allows multiple features like memory protection, larger address space, and multitasking, enabled by a more complex descriptor-based memory addressing which safeguards program memory regions. Mode switching changes the CPU's way of handling memory and executing commands, impacting system resource management.

Directives in assembly language provide instructions to the assembler on how to process the program. They are not converted to machine code but direct actions like reserving space, defining macros, or modifying the section of code. This facilitates organized and efficient coding by specifying the assembler’s behavior regarding the allocation and interpretation of data and instructions.

Multitasking allows multiple processes to appear to run concurrently by sharing CPU time slots amongst them through context switching. Key challenges include efficiently managing resources, ensuring process isolation, and maintaining performance without interference between tasks. This requires a sophisticated scheduler and can be hindered by resource contention, synchronization issues, and the need for prioritizing different processes for efficient CPU usage.

You might also like