ورود

View Full Version : استفاده از ah,02



alirah84
جمعه 29 آذر 1392, 12:10 عصر
برنامه ای بنویسید برای انتقال کاراکترهای A-Z به استک و سپس با استفاده از آدرس دهی Base و با استفاده از فانکشن int 21h 02 کاراکتر ها را به ترتیب از استک خوانده و نمایش دهید.

stk segment
dw 32 dup(?)
stk ends
cds segment
assume cs:cds ,ss:stk
main proc far
mov bp,sp
mov ah , 'A'
mov al , 'B'
L1: push ax
add ah,02
add al,02
cmp al,'Z'
jne L1
push ax
mov ah,02
L2:dec bp
mov dl,byte ptr[bp]
int 21h
cmp dl,'Z'
jne L2
mov ah,4ch
int 21h
main endp
cds ends
end main
سوالم اینه چجوری باید از فانکشن 02 ، int 21 h استفاده کرد؟
اگر mov ah,02 را که در خط 16 تعریف شده در بعد از خط 17 بیاریم چی میشه؟
اگه یکم در مورد اینکه در کجا باید در کدمون از اینها استفاده کنیم توضیح بدید ممنون میشم.

Delphi Coder
دوشنبه 02 دی 1392, 17:49 عصر
هیچی استفاده از اون تابع اینجوریه که مقدار کاراکتر رو در dl قرار میدید و وقفه رو با شماره تابع در ah فراخوانی میکنید. اگر اون دستور رو به جای خط 16 در خط 17 میاوردید هیچ اتفاق خاصی نمیافتاد فقط در هر بار اجرای حلقه یک بار اون دستور اجرا میشد در صورتی که داخل حلقه ما به مقدار ah دست نزدیم پس یک کار بیهوده ای بود وقتی یک بار میشه مقدار دهی کرد و نیازی به مقدار دهی مجدد نیست بهتره این کار رو نکنیم.