:::::::::: ::::::::::::: proc nearax, 0e0dh; функція виводу сімвола10h; виводимо сімвіл 13 на екранax, 0e0ah; функція виводу сімвола10h; виводимо символ 10 на екранendp
; ::::::::::::::::::::::::::::::::::::::::: :
; ::: вивід на екран активного каталогом ::::
; ::::::::::::::::::::::::::::::::::::::::: : proc nearah, 9; функція виводу стрічкіdx, stringC; У DX - адреси стрічкі21h; виводимо стрічку 'Tekyshi katalog'si, pathah, 19h; отрімаємо активний діск21hal, 41h; перекладається его в літеру [si], alsial, 58; додаємо сімвіл ':' [si], alsial, 92; додаємо сімвіл '' [si], alah, 47h; функція Отримання активного каталогуdl, 00si, path +3; додаємо до диску каталог21hsi, path; посимвольний виводимо повний шляхloop: byte ptr [ si], 0a20exital, [si] dl, alah, 0221hsia10loopexit:
; додаємо до активного шляху маску *. * для поиска каталогів и файлівsi; зменшуємо адресою на 1 і отрімуємо останнійal, [si]; сімвіл, а не NULsi; Повертаємо назат SIal, 92; перевіряємо ЯКЩО останій сімвіл - слеш, то вихідskip_slashal, 92; інакше додаємо сімвіл '' [si], alsi_slash: al, 42; додаємо сімвіл '*' [si], alsial, 46; додаємо сімвіл '.' [si], alsial, 42 ; додаємо сімвіл '*' [si], alsial, 0; додаємо сімвіл NUL [si], alcrlfdb 13,10, 'Tekyshi katalog $' endpproc nearcx, 10: shr ax, 1dx, 1dd30ah, 10000000b: loop dd20endpproc nearsi, outst ; очіщаємо стрічкуcl, 0 [si], cl [si +1], clsi, outstcl, 48 [si], clcx, 0010si, outst +1: cmp ax, 0010a30dx, dxcxdl, 30h [si], dlsia20: or al, 30h [si], alah, 40h; виводимо стрічкуbx, 01cx, 02dx, outst21hdb '' endpprocax, 1024ddo01ah, 9dx, bite21h: Div1024ah, 9dx, kbite21h: db '/ B $' db '/ KB $' endpproc nearaxcsdssi, offset dodat +5: cx, 10dx, dxcxdl, 48sics: [si], dlax, 0do1do: ah, 09dx, si21haxdup (''), '$' endpbegin
ДОДАТОК Б
Блок-схема програми
В
В