ورود

View Full Version : توضیح یک برنامه ساده



alirah84
جمعه 01 آذر 1392, 13:25 عصر
سلام
این یک برنامه ساده به زبان اسمبلی است که دو عدد fldb و flda رو جمع میکنه و حاصل رو در fldc میریزه.
من بخشی از برنامه که سوالمه رو مینیویسم.

dts segment para 'data'
flda dw 250
fldb dw 125
fldc dw ?
dts ends
;
cds segment para 'code'
assume cs:cds , ds:dts, ss:stk
main proc far
mov ax,seg dts
mov ds,ax
mov ax,flda
add ax,fldb
mov fldc,ax
mov ah,4ch
int 21h
ret
main endp
cds ends
end main

اگه میشه سطر 10 و 11 رو یه توضیح بدید .من درست متوجه نشدم.
آدرس سگمنت dts در ax قرار داده میشه و بعد مقدار ax داخل رجیستر ds قرار داده میشه.خوب این چه ربطی به جمع flda و fldb داره؟

milad1340
شنبه 02 آذر 1392, 09:36 صبح
تو اسمبلی قبل شروع کد نویسی باید به سگمنت هامون ادرس بدیم و چون نمیشه اینکارو مستقیم انجام داد باید از یک رجیستر کمکی استفاده میکنیم. (معمولا از ax استفاده میکنن)