IBM-PC ASSEMBLY-LANGUAGE LECTURE NOTESPAGE 2/
361TABLE OF CONTENTS
Lecture 3Comments.Review.More DEBUG Commands.How DEBUG stores programs. Name (N). Load (L). Write (W). Arithmetic Instructions. ADD, SUB. Timing. INC, DEC. Carry Flag. ADC, SBB.INTEGER*8 addition sample program.Flags.PF, AF, ZF, SF, OF.Jumps and Conditional Jumps.JMP. Labels. JC, JNC, JZ, JNZ, ... JP, JPE. JCXZ. Asimulated Pascal for-loop, programmed using DEBUG.
ASSIGNMENT #3.
Write two simple assembler programs in DEBUG.HandoutSample INTEGER*8 Addition Program.Lecture 4Comments.BYTE PTR, WORD PTR.Review.
ASSIGNMENT #4.
Read portions of chapter 3. Addressing Modes.Immediate, register, direct, register indirect modes.OFFSET. Index registers (SI, DI). Base registers (BX, BP).INTEGER*8 addition example. Base relative and direct indexedmodes. INTEGER*8 addition example. The CLC and LOOPinstructions. Base indexed mode. ASCII.Character representation. Control characters (bell,backspace, tab, line feed, form feed, carriage return,escape). Use of a character data type in assembly language."0"-"9". "A"-"Z". "a"-"z". Example program to convert two ASCII hexadecimal digits in DH and DL to a byte in AL.Lecture 5Review.System Calls.MS-DOS interrupt 21H. Character input (functions 1 and 8).Character output (functions 2 and 5). CMP. Carriage returnsas opposed to carriage-return/line-feeds. Displayingmessages (function 9).Segments.Segment:offsets. Segment registers. Default segments.Pseudo-ops and the Format of .ASM Programs.SEGMENT, ENDS, ASSUME, EQU.
ASSIGNMENT #5.
Write two "typewriter" programs using MASM and LINK.Running the Assembler and the Linker.Logical Instructions.NOT, AND, OR, XOR, TEST.HandoutTemplate Program. Assignment #5.