Vous êtes sur la page 1sur 3

Microprocessor _MIC-Assembly Language Program Sheet:

Class:CO4I ;Author : Roll no.90 Name: Sarthak Hemant Kadam


;Instruction : Write Every program in notebook with description of
Division: B each instruction starting with ";" add lines if required?

;Program: To count ODD and/or EVEN numbers in array


Memory OPCODE from
Address debug screen
CODE SEGMENT ;start of code segment
CS:0000 ASSUME CS:CODE,DS:DATA
CS:0000 B8B048 MOV AX,DATA
CS:0004 8ED8 MOV DX,AX
CS:0006 BA0000 MOV DX,0000H
CS:0009 B90400 MOV CX,04H
CS:000C BE0000 MOV SI,OFFSET NUM
CS:000E 8A07 NEXT: MOV AL,[BX]
CS:0010 DOCB ROR AL,1
CS:0012 7205 JC ODD
CS:0014 FEC2 INC DL
CS:0016 EB03 JMP AGAIN
CS:0020 FEC6 ODD : INC DH
CS:001B 46 AGAIN: INC SI
CS:001C E2F0 LOOP NEXT
CS:001E 88360400 MOV ODDCOUNT,DH
CS:0022 88160500 MOV EVENCOUNT,DL

CS:0026 B44C MOV AH,4CH ;terminate program execution


CS:0028 CD21 INT 21H ;relevant software input
CODE ENDS ;End of code segment

DATA SEGMENT ;start of data segement


DS:0004 NUM DB 44H,55H,66H,77H
ODDCOUNT DB ?
DS:0005 EVENCOUNT DB ?
DATA ENDS ;End of data segment
END ;End of the program
Microprocessor _MIC-Assembly Language Program Sheet:

Contents of DATA Segment BEFORE Execution


DS:0000 DS:0001 DS:0002 DS:0003 DS:0004 DS:0005 DS:0006 DS:0007
DS:0000
CD 20 FF 9F 00 EA FF FF
DS:0008 DS:0009 DS:000A DS:000B DS:000C DS:000D DS:000E DS:000F
DS:0008
AD DE E0 01 C5 15 AA 01
DS:0010 DS:0011 DS:0012 DS:0013 DS:0014 DS:0015 DS:0016 DS:0017
DS:0010
C5 15 89 02 20 10 92 01
DS:0018 DS:0019 DS:001A DS:001B DS:001C DS:001D DS:001E DS:001F
DS:0018
01 03 01 00 02 FF FF FF
DS:0020
DS:0020
FF

May add more lines if required


Contents of DATA Segment AFTER Execution
Enter this when BLUE line is on MOV AH,4CH
DS:0000 DS:0001 DS:0002 DS:0003 DS:0004 DS:0005 DS:0006 DS:0007
DS:0000
44 55 66 77 00 04 00 00
DS:0008 DS:0009 DS:000A DS:000B DS:000C DS:000D DS:000E DS:000F
DS:0008
00 00 00 00 00 00 00 00
DS:0010 DS:0011 DS:0012 DS:0013 DS:0014 DS:0015 DS:0016 DS:0017
DS:0010
00 00 00 00 00 00 00 00
DS:0018 DS:0019 DS:001A DS:001B DS:001C DS:001D DS:001E DS:001F
DS:0018
00 00 00 00 00 00 00 00
DS:0020
DS:0020
00

May add more lines if required

Status of following after execution


Register FLAGS Status
AH AL OF 0
AX
48 BB DF 0
BH BL IF 1
BX
00 00 TF 0
CH CL SF 0
CX
00 00 ZF 0
DH DL X
DX
00 04 AC-F 0
CS 48 AD X
DS 48 BO PF 0
ES 48 9D X
SS 48 AC CF 1
BP 00 00
SP 00 00
SI 00 04
DI 00 00
IP 00 26
Microprocessor _MIC-Assembly Language Program Sheet:

Vous aimerez peut-être aussi