Page 1 of 1

QUESTION 5 An 8086/8088 assembly program, as given in the following, has been entered and emulated in emu8086. DSEG SEGM

Posted: Thu May 26, 2022 10:32 am
by answerhappygod
Question 5 An 8086 8088 Assembly Program As Given In The Following Has Been Entered And Emulated In Emu8086 Dseg Segm 1
Question 5 An 8086 8088 Assembly Program As Given In The Following Has Been Entered And Emulated In Emu8086 Dseg Segm 1 (180.65 KiB) Viewed 36 times
QUESTION 5 An 8086/8088 assembly program, as given in the following, has been entered and emulated in emu8086. DSEG SEGMENT VAR1 DW 1 VAR2 DW 2 MSG STRING DB 'Test 1!',0Dh,0Ah,'$' DB 'ABCD' ENDS SEGMENT START: MOV AX, SEG STRING MOV DS, AX MOV DX, OFFSET MSG MOV BX, OFFSET VAR2 MOV AX, 4C00H INT 21H ENDS END START a) A copy of the emulation screenshot of the program on the previous page is obtained and shown in Figure Q5a. Determine the contents and addresses of the memory locations holding all the data and message strings defined in the DSEG segment. Addresses should be expressed in 20-bit format, i.e., the combination of two 16-bit numbers such as 11D2:001D should be written as 11D2DH (=11D20+001D). emulator: noname.exe_ JOX file math debug view external virtual devices virtual drive help 2 >>> Al step back ID single step Load reload run step delay ms: 100 0712:0000 0712:0000 00004h registers HL AX 00 00 BX 00 00 X 00 30 DX 00 00 CS 0712 IP 0000 07120: B8 184 07121: 10 016 ► 07122: 07 007 BI 07123: 8E 142 A 07124: D8 216 I 07125: BA 186 || 07126: 04 004 MOV AX, 00710h MOV DS, AX MOV DX, MOV BX, MOV AX, INT 021h 00002h 04C00h screen source reset aux vars debug stack flags SS 0710 Figure Q5a To do Question (5a), you need to know the ASCII codes for some letters and symbols. They can be found from the following segment of a list file. DSEG SEGMENT VAR1 DW 1 ; 0000 01 00 VAR2 DW 2 0002 02 00 MSG DB 'Assignment 3!',0Dh,0Ah,'$' ; 0004 41 73 73 69 67 6E 6D 65 ; 000C 6E 74 20 33 21 OD OA 24 STRING DB 'ABCD' ; 0014 41 42 43 44 ENDS ; 0018 CSEG
b) The circuit in Figure Q5c can be used to generate interrupt type numbers for 4 prioritized interrupts. Interrupt register Interrupt acknowledge from CPU 3 D3 0 0 0 0 0 0 Highest priority Lowest priority 1 1 Y 1 A 2 0 3 2 D₂ D₁ Do Ao Priority encoder A₁ V A A 0 Mask register VAD Interrupt to CPU Figure Q5b If both the 3rd and 1st interrupts have issued interrupt requests and no any interruptis masked, what interrupt type number will be produced?