View Full Version : سوال: کمک در مورد رسم لوزی
benyamin.ppl
شنبه 03 آبان 1393, 21:04 عصر
سلام من یه کد از یک سایت فارسی برداشتم در مورد رسم لوزی و یه کد هم نوشتم با استفاده از ماکرو برای رسم مستطیل الان میخوام با استفاده از کدی که خودم نوشتم یه لوزی رسم کنم اما نمیتونم نمیدونم ایراد کارم چیه؟؟؟؟؟
کدی که خودم نوشتم به همراه توضیحات کامل میزارم اگر میتونید دوستانی که حرفه ای تر از بنده هستن کمک کنن که این کد رو بنویسم
این ماکرو دارای دو متغییر x1,y1 هست که مختصات شروع را مشخص میکنه و متغیرهای x2,y2 نقطه پایان رو مشخص میکنن متغیر z نیز جهت خطوط رو مشخص میکنن که در چهار جهت مشخص شده اند یعنی اگر z=1 باشد x ثابت و y افزایش میابد یعنی خط افقی به راست اگر z=2 باشد y کاهش و x ثابت است حالا من هر کاری میکنم که بتونم یه لوزی رسم کنم نمیتونم خواهشا کمکم کنید با استفاده از کدی که ارائه دادم بتونم لوزی رو رسم کنم
ممنونم
http://uplod.ir/zgzlpbnuk52g/mycode.asm.htm
xman_1365_x
سه شنبه 06 آبان 1393, 23:26 عصر
باید x1 یک واحد کاهش یا افزایش بدین تا سطر ها هم تغییر کند(در کل برای جهت و سطر و ستون از هر دو پارامتر باید استفاده کنید)
مثلا:
cmp z,1
jne L2 ;if z<>1 then L2
L1:
mov bh,0 ;page number
mov dh,x1 ;row number
mov dl,y1 ;col number
mov ah,02h
int 10h ;set curser position(10,20)
mov dl,'a'
mov ah,02h
int 21h
inc y1
inc x1
mov al,y1
cmp al,y2
je L2
jmp L1
L2:
موفق باشید
benyamin.ppl
چهارشنبه 07 آبان 1393, 18:18 عصر
باید x1 یک واحد کاهش یا افزایش بدین تا سطر ها هم تغییر کند(در کل برای جهت و سطر و ستون از هر دو پارامتر باید استفاده کنید)
مثلا:
cmp z,1
jne L2 ;if z<>1 then L2
L1:
mov bh,0 ;page number
mov dh,x1 ;row number
mov dl,y1 ;col number
mov ah,02h
int 10h ;set curser position(10,20)
mov dl,'a'
mov ah,02h
int 21h
inc y1
inc x1
mov al,y1
cmp al,y2
je L2
jmp L1
L2:
موفق باشید
سلام من این کارها رو کردم هم افزایش دادم و هم کاهش اما در هر بار اجرا نتیجه چیز دیگری در امد اقا xman اینجا انگار کسی بدادم نمیرسه خواهشا کمکم کنید
masoud.8086
چهارشنبه 07 آبان 1393, 22:00 عصر
سلام
او ل مشخص کن که میخوای این لوزی رو با پیکسل بکشی یا در مد متنی بعدشم اگر میخوای با ماکرو انجام بدی طبق روش زیر عمل کن
بیا بالاتر از دیتا سگمنت
print macro x,y
mov ah,0ch
mov al,0111b
mov cx,x
mov dx,y
int 10h
endm
مد گرافیکی رو تعیین کن
mov al, 13h
mov ah, 0
int 10h
benyamin.ppl
پنج شنبه 08 آبان 1393, 18:35 عصر
سلام مد گرافیکی هست دوست عزیز تو کد خودم نوشتم متغییر z هم جهت خطوط رو تعیین میکنه
masoud.8086
پنج شنبه 08 آبان 1393, 22:19 عصر
این برنامه لوزی در مد گرافیکی(پیکسل) با ماکرو
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
print macro x,y
mov ah,0ch
mov al,00001010b
mov cx,x
mov dx,y
int 10h
endm
data segment
x dw 50
y dw 50
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov al, 13h
mov ah, 0
int 10h
mov cx,20
l:
push cx
print x,y
inc x
dec y
pop cx
loop l
;''''''''''''''''''''''
mov cx,20
l1:
push cx
print x,y
inc x
inc y
pop cx
loop l1
;''''''''''''''''''''''
mov cx,20
l2:
push cx
print x,y
dec x
inc y
pop cx
loop l2
;''''''''''''''''''
mov cx,20
l3:
push cx
print x,y
dec x
dec y
pop cx
loop l3
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
oliya24
جمعه 09 آبان 1393, 18:08 عصر
این برنامه لوزی در مد گرافیکی(پیکسل) با ماکرو
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;
print macro x,y
mov ah,0ch
mov al,00001010b
mov cx,x
mov dx,y
int 10h
endm
data segment
x dw 50
y dw 50
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
; set segment registers:
mov ax, data
mov ds, ax
mov es, ax
mov al, 13h
mov ah, 0
int 10h
mov cx,20
l:
push cx
print x,y
inc x
dec y
pop cx
loop l
;''''''''''''''''''''''
mov cx,20
l1:
push cx
print x,y
inc x
inc y
pop cx
loop l1
;''''''''''''''''''''''
mov cx,20
l2:
push cx
print x,y
dec x
inc y
pop cx
loop l2
;''''''''''''''''''
mov cx,20
l3:
push cx
print x,y
dec x
dec y
pop cx
loop l3
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
سلام ممنون و درود بر خودتون و تخصصتون اقا مسعود ببخشید این کدی که دادید با اینکه از کد من کمتره ولی پیچیده تره میشه توضیحش بدید؟؟یه توضیح جامع ...بازم ممنونم
شما واقعا حرفه ای هستید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.