Write a program which collects in data samples, Computer Engineering

Assignment Help:

Write a program which collects in data samples from a port at 1 ms interval. The upper 4 bits collected data same as mastered and stored in an array in successive locations.

; REGISTERS: Uses CS, SS, DS, AX, BX, CX, DX, SI, SP

; PROCEDURES: Uses WAIT

DATA_SEG       SEGMENT

            PRESSURE DW 100 DUP (0); Set up array of 100 words

NBR_OF_SAMPLES EQU 100    

            PRESSURE_PORT EQU 0FFF8h     ; hypothetical input port

DATA_SEG       ENDS

STACK_SEG SEGMENT STACK

            DW 40    DUP (0)    ; set stack of 40 words

STACK_TOP   LABEL WORD

STACK_SEG   ENDS

 

CODE_SEG SEGMENT

            ASSUME CS: CODE_SEG, DS: DATA_SEG, SS: STACK_SEG

START:           MOV   AX, DATA_SEG; Initialise data segment register

MOV DS, AX  

MOV AX, STACK_SEG   ; Initialise stack segment register

MOV SS, AX  

MOV SP, OFFSET STACK - TOP    ; initialise stack pointer top of 

                                                ; stack

LEA SI, PRESSURE; SI points to start of array 

     ; PRESSURE

MOV BX, NBR_OF_SAMPLES   ; Load BX with number

                        ; Of samples

MOV DX, PRESSURE_PORT   ; Point DX at input port

                                                ; It can be any A/D converter or 

                                                ; Data port.

READ_NEXT: IN AX, DX   ; Read data from port

            ; Please note use of IN instruction

            AND AX, 0FFFH; Mask upper 4 bits of AX

            MOV [SI], AX   ; Store data word in array

            CALL WAIT   ; call procedures wait for delay  

INC SI; Increment SI by two as dealing with 

INC SI; 16 bit words and not bytes

DEC BX; Decrement sample counter

JNZ READ_NEXT   ; Repeat till 100

      ; Samples are collected

STOP: NOP    

WAIT   PROC NEAR  

            MOV CX, 2000H   ; Load delay value

                                     ; Into CX

HERE:   LOOP HERE   ; Loop until CX = 0

            RET    

WAIT   ENDP    

CODE_SEG ENDS    

END    

Discussion:

Please consider that CALL to the procedure as above doesn't specify whether the call is to a FAR procedure or a NEAR procedure. This distinction is made at the time of defining the procedure. 

 

The procedure above can be converted in a FAR procedure by changing the definition of procedure as below:

WAIT              PROC FAR

 .

 .

WAIT             ENDS

The procedure can now be statedin another segment if the need to be, in same assembly language file.


Related Discussions:- Write a program which collects in data samples

Differentiate between rom test and the ram test, Probelm : a) What is t...

Probelm : a) What is the purpose of "Jumps" in the 8051 Microcontroller? Describe three types of "Jumps". b) What is the purpose of a "call"? c) Differentiate between ROM

Objectives of parallel computing, Objectives of Parallel Computing Aft...

Objectives of Parallel Computing After reading this topic, you would be able to: Tell historical details of parallel computing; Explain the fundamental ideas of dis

E- commerce technology and web design, In this assignment, you are required...

In this assignment, you are required to develop part of a B2C e-Commerce site which is an online movie reservation system for a multiplex theatre. Through the developed site, the u

Logistics planning, During the Persian Gulf crisis of 1991, U .S forces dep...

During the Persian Gulf crisis of 1991, U .S forces deployed a Dynamic Analysis and Re planning Tool, DART ( Cross and Walker, 1994) to do automated logistics planning and schedu

Differences between one hot and binary encoding, What are differences betwe...

What are differences between one hot and binary encoding? Common classifications used to explain the state encoding of an FSM is Binary or highly encoded and one hot. A bina

Retina - biometric computer security systems, Retina - Biometric Computer S...

Retina - Biometric Computer Security Systems The next security technology that explained in this report is retina security technology which is very famous in a lot of spy movi

Optical resolution of scanner, Optical resolution or hardware resolution is...

Optical resolution or hardware resolution is mechanical limit on resolution of Scanner. For scanning the sensor has to advance after every line it scans. Smallness of this advancem

How can i pass parameters to my simulation, How can I pass parameters to my...

How can I pass parameters to my simulation? A  test  bench  and  simulation  would likely  need  many  different  parameters  and  settings  for  various sorts of tests and con

Explain characteristics of prototyping, Question: (a) List five main c...

Question: (a) List five main characteristics of ‘Prototyping'. (b) Describe briefly why ‘Prototyping' is essential to Rapid Application Development. (c) Describe the 2 t

Avantages of oopl in a programming language, Object oriented programming la...

Object oriented programming languages directly show the real life objects. The features of OOPL as inheritance, polymorphism, and encapsulation makes it strong.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd