PDA

View Full Version : سوال: استفاده از ماکرو ها و Directive ها



golroze
شنبه 04 دی 1389, 10:09 صبح
با عرض سلام
من به سورس یک برنامه ی قابل اجرایی نیازدارم که درآن برنامه ازماکرو استفاده شده باشدوهمانطورکه مامی دانیم ماکروها دارای یکسری دایرکتیوهایی هستند مثل IFBیاIFNBیاLOCALیاREPTو...
من برنامه قابل اجرایی رامی خواهم که این ماکرو از یکی از این دایرکتیوها استفاده کرده باشد درواقع این دایرکتیوها کمک می کنند که نوشتن برنامه راحتتر شود.
من این سوال ازهرسایتی که عضوشدم پرسیدم ولی هیچ کس نتوانست این برنامه رادراختیارمن قرار دهد تااینکه یکنفر این سایت رابه من معرفی کرد خواهش می کنم اگرواقعا اسمبلی بلدهستید سورس همچین برنامه ای رادراختیارمن قراردهید ممنونتان می شوم وموجب می گرددکه بازهم به این سایت مراجعه کنم.:ناراحت:

xman_1365_x
شنبه 04 دی 1389, 10:52 صبح
اينجا كسي برنامه براي شما نمي نويسه
شما كه به اين خوبي توضيح دادي ماكرو هارو چطور نمي توني بنويسي؟
من يك نمونه ساده گذاشتم كه سه بار فراخواني ميكنم كه كار ماكرو نمايش يك رشته و ايجاد خط جديد هست


; multi-segment executable file template.

mac macro

; add your code here

lea dx, pkey
mov ah, 9
int 21h ; output string at ds:dx

;new line = Enter
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h

endm

data segment
; add your data here!
pkey db "press any key...$"
ends

stack segment
dw 128 dup(0)
ends

code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax

; add your code here

;call macro
mac
mac
mac

; wait for any key....
mov ah, 1
int 21h

mov ax, 4c00h ; exit to operating system.
int 21h
ends

end start ; set entry point and stop the assembler.


موفق باشي

golroze
شنبه 04 دی 1389, 12:18 عصر
خیلی ممنون ولی دراین برنامه ازهیچ دایرکتیو ی استفاده نشده است ازت خواهش می کنم می توانی دراین برنامه کاری کنی که ازیکی ازاین دایرکتیوها مثلا localاستفاده کند localباعث می شو د که اگرمادربرنامه یمان مثلا ازحلقه loopاستفاده کردیم هربارکه ماکرو رافراخوانی می کنیم یک lableمنحصربه فرد ایجادمی کند مثلا اگر lableماnext باشد برای باراول که ماکرو فراخوانی می شود next1باردوم next2وهمین طور الی اخر من از شما خواهش می کنم کاری کنید که تو برنامه یتان از یکی ازاین دایرکتیوها استفاده شود قول می دهم که دیگر تقاضای برنامه ندهم این آخرین باراست خواهش می کنم.

xman_1365_x
شنبه 04 دی 1389, 13:46 عصر
ممنون که به منم یاد دادین:لبخند:
اگر من براتون ماکرو ساده نوشتم به این دلیل بود که شما بدونی چطور باید استفاده کنی و بعد خودت انجام بدی در اول صحبتم گفتم کسی ‍پروژه شما رو انجام نمیده
حالا شما که می دونی چجوری باید کار کنی کافیه خودت از اونا در سورس نمونه استفاده کنی
موفق باشی