PDA

View Full Version : چند نمونه سوال در مورد اسمبلی .



poricoder
دوشنبه 04 بهمن 1389, 00:12 صبح
سلام دوستان چند تا سوال دارم میخواستم اگه میشه راهنمایی کنید :
سوال 1 :
برنامه ای بنویسید که یک رشته را دریافت کرده و و در سطر 12 و ستون 25 با رنگ متن قرمز و زمینه ی آبی و به صورت چشمک زن نمایش دهد .؟

فقط قسمت رنگ متن و رنگ زمینه اش مشکل دارم . اینم کدم .


.model small
.Data
list label byte
max db 21
len db ?
buffer db 21 dup(?),'$'
.stack
.code
main proc

mov ah,0ah
int 21h

mov ah,02h
mov dh,12
mov dl,25
mov bh,0
int 10h

؟?رنگ متن و رنگ زمینه ؟؟

mov ah,4ch
int 21h
main endp
end main



سوال دو
برنامه ای بنویسید که نشانگر ماوس رو فعال کند ؟ (این برام جدیده )

xman_1365_x
دوشنبه 04 بهمن 1389, 04:15 صبح
خب همش اشتباه هست چرا فكر ميكنيد درسته، مثل كامنت قبل خوابم مياد نوشتنش برام ساده تر از توضيح هست

.model small
.stack
.Data
.code

main proc far
.STARTUP

;set video mode.
mov ax, 3 ; text mode 80x25, 16 colors, 8 pages (ah=0, al=3)
int 10h ; do it!


; cancel blinking and enable all 16 colors:
;BL = write mode:
;0: enable intensive colors.
;1: enable blinking (not supported by the emulator and windows command prompt).
mov ax, 1003h
mov bx, 1
int 10h


; set segment register:
mov ax, 0b800h
mov ds, ax



mov di,1980
mov cx,21
for1:
mov ah,7
int 21h


mov [di],al
add di,2
loop for1

; color all characters:
mov cx, 21 ; number of characters.
mov di,1981 ; start from byte after one input
c: mov [di], 00010100b ; light red(1100) on blue(0001)
add di, 2 ; skip over next ascii code in vga memory.
loop c

; wait for any key press:
mov ah, 0
int 16h


mov ah,4ch
int 21h
main endp
end main


براي كرسر ماوس هم


;show mouse pointer.
mov ax, 1
int 33h

PHAMED
سه شنبه 22 آذر 1390, 18:50 عصر
چرا سیستم من حالت گرافیکی را پشتیبانی نمی کنه؟

xman_1365_x
چهارشنبه 23 آذر 1390, 10:28 صبح
چرا سیستم من حالت گرافیکی را پشتیبانی نمی کنه؟
اگر این کد منظورتون هست بخاطر خط 19 چون در command prompt ویندوز و امولاتور ، چشمک زدن در این وقفه پشتیبانی نمیشه کافیه bl=0 قرار بدین

ضمنا این کدی که من نوشتم دسترسی مستقیم به کارت گرافیک هست بدون استفاده از وقفه روی صفحه نمایش میده