1use DEBUG.EXE to create and trace assembly programs
Experiment 01
2shows or edits contents of registers
R Command
3accepts symbolic assembly instructions
A Command
4displays machine code for assembly instructions
U Command
5executes instructions one at a time with register display
T Command
6describe and use general-purpose registers
Experiment 02
7holds result of arithmetic operations, input/output
AX Register
8holds base address in memory or used for computations
BX Register
9controls loops, shifts, rotates, string byte counts
CX Register
10holds data, addresses, or high word of arithmetic result
DX Register
11adds register/value/memory contents
ADD Instruction
12transfers data between registers/memory/immediate
MOV Instruction
13use DEBUG to explore memory segmentation
Experiment 03
14starting address of program’s code segment
CS Register
15starting address of program’s data segment
DS Register
16starting address of program’s stack segment
SS Register
17starting address of extra segment for data
ES Register
18discuss behavior of flags and status register
Experiment 04
19indicates result too long for register
CF (Carry Flag)
20indicates even/odd parity of result
PF (Parity Flag)
21indicates carry into upper 4 bits
AF (Auxiliary Carry Flag)
22indicates result is zero
ZF (Zero Flag)
23indicates result is negative
SF (Sign Flag)
24enables/disables interrupts
IF (Interrupt Flag)
25controls string data transfer direction
DF (Direction Flag)
26indicates signed overflow occurred
OF (Overflow Flag)
27use EDIT, TASM, and TLINK to create and run programs
Experiment 05
28MS-DOS text editor for source code
EDIT.COM
29Borland assembler converting ASM → OBJ
TASM.EXE
30Borland linker converting OBJ → EXE/COM
TLINK.EXE
31display a single character using DOS interrupt
Experiment 06
32BIOS interrupt for screen handling
INT 10H
33DOS interrupt for input/output handling
INT 21H
34prints a single character (DL register)
INT 21H, Function 02H
35accept keyboard input using interrupts
Experiment 07
36accepts keyboard input with echo (AL stores char)
INT 21H, Function 01H
37accepts keyboard input without echo
INT 21H, Function 08H
38accept and display strings using interrupts
Experiment 09
39displays string terminated by “\$”
INT 21H, Function 09H
40accepts buffered keyboard input (with param list)
INT 21H, Function 0AH
41extended screen display of string
INT 21H, Function 40H
42loads effective memory address of variable/string
LEA Instruction
43displays characters with attributes (color, blinking)
INT 10H, Function 09H
44displays string with attributes and cursor options
INT 10H, Function 13H
45register for row position
DH
46register for column position
DL
47register for page number
BH
48register for color/attribute
BL
49sets cursor position on screen (row/col)
INT 10H, Function 02H
50resets screen, clears contents, sets cursor top-left
INT 10H, Function 00H (AL=03h)
51cursor row value register
DH
52cursor column value register
DL
53displays string terminated by “\$”
INT 21H, Function 09H
54accepts buffered keyboard input with parameter list
INT 21H, Function 0Ah
55displays data to screen using file handle (BX=01h)
INT 21H, Function 40H
56loads effective memory address
LEA Instruction
57transfers program control unconditionally
JMP Instruction
58jumps if equal/zero
JE / JZ
59jumps if not equal/not zero
JNE / JNZ
60loop instruction using CX counter
LOOP Instruction
61register used to control loop count
CX Register
62defines reusable set of instructions
Macro
63macro declaration syntax
macro_name macro(dummy_argument) … endm
64removes repetitive encoding of instructions
Purpose of macros
65unique identifier for instruction set substitution
Macro Name
66placeholder for values passed into macro
Dummy Argument
67What does .ORG do?
.ORG sets the starting memory address for code or data
68What does .DATA mean?
.DATA defines the data segment where variables and constants are stored
69What does .TINY mean?
.TINY specifies the tiny memory model used to create .COM files in a single 64KB segment
70What does .MODEL mean?
.MODEL defines the memory model arrangement of code and data (Tiny, Small, Large, etc.)
71What does .CODE mean?
.CODE marks the beginning of the program instructions
72What does END or END begin mean?
END indicates the end of the program, END begin specifies the starting point of execution
73What is TASM?
TASM is Turbo Assembler, which converts .ASM source code into .OBJ object files
74What is TLINK?
TLINK is Turbo Linker, which links .OBJ files into a final .EXE or .COM executable