|
mov ds, ax
mov dx, ofset qatori
|
bet | 17/64 | Sana | 13.05.2024 | Hajmi | 183,36 Kb. | | #230077 |
Bog'liq Системное программирование, практикаmov ds, ax
|
mov dx, ofset qatori
|
ma'lumotlar segmentining boshlanishiga nisbatan String yorlig'ining ofsetini joylashtiradi
|
|
mov ah, 9
|
; AN registriga DOS funksiyasining “chiqish liniyasi (9)” raqamini joylashtiramiz.
|
|
int 21 soat
|
; DOS funktsiyasi "chiziq chiqishi"
|
|
mov ax, 4C00h
|
; kabi dasturni tugatish -exe
|
|
int 21 soat
|
; DOS funktsiyasi "dasturni tugatish"
|
|
.ma'lumotlar
|
; ma'lumotlar segmentining boshlanishi
|
|
string db "Salom", 0Dh,0Ah,'$'
|
; chiqish ma'lumotlarini o'z ichiga olgan c qator.
|
|
oxiri boshlanadi
|
; dastur kodini tugatish belgisi
|
Misol uchta segmentni belgilaydi - 256 baytlik .STACK direktivasiga ega stek segmenti, .CODE direktivasi bilan boshlanadigan kod segmenti va .DATA bilan boshlanadigan ma'lumotlar segmenti . EXE dasturi ishga tushirilganda, DS registri endi satrli segment manzilini o'z ichiga olmaydi ( u PSP ma'lumotlar blokini o'z ichiga olgan segmentga ishora qiladi) va foydalanilgan DOS funktsiyasini chaqirish uchun ushbu registr segment manziliga ega bo'lishi kerak. ipdan. MOV AX,@DATA buyrug'i @DATA ma'lumotlar segmenti guruhining segment manzilini AX ga yuklaydi va MOV DS,AX uni DS ga ko'chiradi . EXE tipidagi dasturlar DOS 4Ch tizim chaqiruvi bilan tugashi kerak: 4Ch qiymati AH registriga , qaytarish kodi AL registriga joylashtiriladi (bu misolda qaytarish kodi 0 ga teng, AH va AL registrlari esa yuklangan. bitta ko'rsatma MOV AX,4C00h ), shundan so'ng uzilish 21 soat deb ataladi .
|
| |