03345705890
contact this number for assignment
Question:View more random threads:
- MTH 603 3rd assignment
- MCM301 Communication Skills Assignment No.1 Semester Fall...
- CS615 Assignment No. 1 Fall 2011 full solution spring...
- cs501 Assignment no 3 Solution 20th January 2016
- CS401 Computer Architecture and Assembly Language...
- CS506 Web Design and Development Assignment No. 03...
- CS501 Advanced Computer Architecture Assignment No.2...
- CS402 assignment no 1 Spring 2011 Idea solution by vuhelp...
- CS402 Theory of Automata Assignment no 3 spring May 2012
- MKT610 Customer Relationship Management Assignment No.1...
DC motor (fig 1) is operated through two terminals, whenever the potential difference is created (through batteries, cells etc) across these terminals the motor starts its motion.
Suppose we have connected a DC motor to our system’s parallel port through a secure circuitry (fig 3).
Sponsored Links
We wish to operate the DC motor through our parallel port (fig 2) using some input through our keyboard. Like “F” key for running motor in “Forward Direction”, “R” for “Reverse Direction”, “S” for “Stop” and “E” for “Exit from code”.
We have suggested that we will use parallel port’s Pin 2 and Pin 3 (the last 2 pins of parallel port’s data check fig 2 and table 1).
Pin 2 Pin 3 Outcome
0 0 Stop
0 1 Forward
1 0 Reverse
1 1 No Operation
Table 1
You have to write a code in assembly language that take an input character from keyboard (S, F, R and E) and on the basis of these characters transmit the code (with respect to the truth table) to the parallel port to operate that connected DC motor.
03345705890
contact this number for assignment
; show scancode on external LEDs connected through parallel port
Code:[org 0x0100] jmp start oldisr: dd 0 ; space for saving old ISR ; keyboard interrupt service routine kbisr: push ax push dx in al, 0×60 ; read char from keyboard port mov dx, 0×378 out dx, al ; write char to parallel port pop ax pop dx jmp far [cs:oldisr] ; call original ISR start: xor ax, ax mov es, ax ; point es to IVT base mov ax, [es:9*4] mov [oldisr], ax ; save offset of old routine mov ax, [es:9*4+2] mov [oldisr+2], ax ; save segment of old routine cli ; disable interrupts mov word [es:9*4], kbisr ; store offset at n*4 mov [es:9*4+2], cs ; store segment at n*4+2 sti ; enable interrupts mov dx, start ; end of resident portion add dx, 15 ; round up to next para and keyboard comprisan code for this problems are e = 0×012 r= 0×13 f= 0×21 s=0x1f
There are currently 1 users browsing this thread. (0 members and 1 guests)