Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

explain line code by code e by line explanation to the program. (35%) Explain wh

ID: 3901945 • Letter: E

Question

explain line code by code

e by line explanation to the program. (35%) Explain what the program does. (35%) what will be displayed on the screen? (30%) model small .stack 100h ffh db 3ah 32 20 040 : Space! 64 4 33 21 041 ! ! 34 22 042 34. " | 65 | 66 35 23 043 # # 167 36 24 044 6#36: 168 37 25 045 37; 169 main proc ??, @data up data segment ; set | 3826 0466#38 ;G 39 27 047 ' ' 170 40 28 050 ( ( 41 29 051 ) ) 42 2A 052 * t 43 2B 053 +: + 44 2C 054 , , 45 2D 055 - - 46 2E 056 . 47 2F 057 / / mov ah, 1 cmp al, ffh JNS LP1 sub ffh, Ah cmp al, ffh 48:0 49 31 061 1: 1 50 32 062 2 2 48 30 060 mov dl, al cmp dl, 13 jz short skip push dx 51 33 063 3:3 52 34 064 52: 4 53 35 065 5 ; 54 36 066 6 mov dl, 10 mov ah, 6 int 21h CMP SC, 0 55 37 067 7 56 38 070 8 57 39 071 9 58 ?? 072 : 59 3B 073 7 60 3C 074 f6 61 3D 075  mov ??, 4c00h

Explanation / Answer

.code

main proc

mov ax,@data ; It moves location of .data in ax

mov ds , ax ; Moves value in ax to ds i.e. data segment

lp1 :

mov ah , 1

int 21 ; Single character input from user

cmp al , ffh ; compare al with ff h. In cmp instruction we find difference between two

JNS LP1 ; Jump to LP1 if SF =0

sub ffh , Ah ; subtract Ah from ffh

cmp al , ffh ; Compare al and ffh by finding difference

jz lp1 ; Jump to lp1 if ZF = 1

mov dl , al ; move al to dl

cmp dl , 13 ; compare dl with 13

jz short skip ; Jumo to skip if ZF = 1

push dx ; Push value in dx in stack

inc sc ; Increment sc by 1

jmp lp1 ;Jump back to lp1

skip :

mov dl , 10 ; move 10 to dl

mov ah , 6

int 21h ; take input from user

CMP SC , 0 ; Compare SC with 0

jz r ; jump to r if ZF = 1

pop dx ; pop the value from stack and store it in dx

mov ah , 6

int 21h ; take input from user

dec sc ; decrement sc by 1

jnz skip ; Jump to skip if ZF =0

R :

mov ax , 4c00 h ; store 4c00 in ax