عندي سؤال آخر:
برنامج يطلب من المستخدم ادخال حرف وعدد ويقوم البرنامج برسم مربع من الحرف المدخل وطول اضلاعه العدد...
اما ان يكون المربع فارغ من الداخل او ملئ_ممتلئ_ ...كيف راح يكون ماعرفت كيف اعمله..
عندي سؤال آخر:
برنامج يطلب من المستخدم ادخال حرف وعدد ويقوم البرنامج برسم مربع من الحرف المدخل وطول اضلاعه العدد...
اما ان يكون المربع فارغ من الداخل او ملئ_ممتلئ_ ...كيف راح يكون ماعرفت كيف اعمله..
تم تعديل هذه المشاركة بواسطة Xacker في 26 مايو 2009 في 23:18 — السبب: تم فصل هذه المشاركة والمشاركات اللاحقة في
حاولي كتابته كخوارزمية pseudo قبل البدء به بالأسمبلي
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
هذه محاولتي...لكنه لم يرسم المربع
.MODEL SMALL .STACK 100H .DATA LF DB 'Enter a character: $' RF DB 0AH,'Enter a number: $' C DB ? NUM DB ? .CODE MAIN PROC MOV AX,@DATA MOV DS,AX MOV AH,9 LEA DX,LF INT 21H MOV AH,1 LEA DX,C INT 21H MOV AH,9 LEA DX,RF INT 21H MOV AH,1 LEA DX,NUM INT 21H CMP DX,0 JG LOOP_ LOOP_: INT 21H DEC DX JG LOOP_ MOV AH,4CH INT 21H MAIN ENDP END MAIN
في انتظار الجواب
على أي أساس يرسم المربع؟
هذا بكامله خاطئ ولا معنى له
CMP DX,0 JG LOOP_ LOOP_: INT 21H DEC DX JG LOOP_
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
طيب انا مو عارفه كيف اعملها ...
ولا عارفه اتعامل مع اللوب..ياليت لو توضح لي اكثر..الإختبار غدا
هذا مثال، مجال الأرقام المقبولة من 0 - 9
* لا يتحقق من كون المدخل رقم أو شئ آخر. انتبهي
[color= #7f00ff;].model small [color= #0000ff;].[color= #7f00ff;]data num [color= #7f00ff;]dw [color= #7f7f7f;]0 char [color= #7f00ff;]db [color= #7f7f7f;]0[color= #0000ff;],[color= #0000a0;]"$" insert [color= #7f00ff;]db [color= #0000a0;]"Please insert a char: $" insert2 [color= #7f00ff;]db [color= #0000a0;]"Please insert a num: $" [color= #0000ff;].[color= #7f00ff;]code main [color= #7f00ff;]proc [color= #aa007f;]far [color= #ff007f;]mov [color= #7f7f40;]ax[color= #0000ff;],@[color= #7f00ff;]data [color= #ff007f;]mov [color= #7f7f40;]ds[color= #0000ff;],[color= #7f7f40;]ax [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]9 [color= #ff007f;]lea [color= #7f7f40;]dx[color= #0000ff;],insert [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]1 [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]mov char[color= #0000ff;],[color= #7f7f40;]al [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]2 [color= #ff007f;]call CRLF [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]9 [color= #ff007f;]lea [color= #7f7f40;]dx[color= #0000ff;],insert2 [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]1 [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]sub [color= #7f7f40;]al[color= #0000ff;],[color= #ff0000;]30h [color= #ff007f;]xor [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f40;]ah [color= #ff007f;]mov num[color= #0000ff;],[color= #7f7f40;]ax [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]2 [color= #ff007f;]call CRLF [color= #ff007f;]mov [color= #7f7f40;]ah[color= #0000ff;],[color= #7f7f7f;]2 [color= #ff007f;]call do_row [color= #007f00; font-style: italic;]; insert CRLF [color= #ff007f;]call CRLF [color= #007f00; font-style: italic;]; do columns [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],char [color= #ff007f;]mov [color= #7f7f40;]cx[color= #0000ff;],num [color= #ff007f;]mov [color= #7f7f40;]bx[color= #0000ff;],[color= #7f7f40;]cx [color= #ff007f;]sub [color= #7f7f40;]bx[color= #0000ff;],[color= #7f7f7f;]2 cols[color= #0000ff;]: [color= #ff007f;]cmp [color= #7f7f40;]cx[color= #0000ff;],num [color= #ff007f;]jne [color= #aa007f;]@F [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],char [color= #ff007f;]int [color= #ff0000;]21h @@[color= #0000ff;]: [color= #ff007f;]cmp [color= #7f7f40;]cx[color= #0000ff;],[color= #7f7f7f;]2 [color= #ff007f;]jne [color= #aa007f;]@F [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],char [color= #ff007f;]int [color= #ff0000;]21h [color= #007f00; font-style: italic;]; [color= #ff007f;]call CRLF [color= #ff007f;]jmp @[color= #7f7f7f;]1 @@[color= #0000ff;]: [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],[color= #ff0000;]20h [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]loop cols @[color= #7f7f7f;]1[color= #0000ff;]: [color= #ff007f;]mov [color= #7f7f40;]cx[color= #0000ff;],num [color= #ff007f;]dec [color= #7f7f40;]bx [color= #ff007f;]jnz cols [color= #ff007f;]call do_row [color= #ff007f;]mov [color= #7f7f40;]ax[color= #0000ff;],[color= #ff0000;]4c00h [color= #ff007f;]int [color= #ff0000;]21h main [color= #7f00ff;]endp [color= #007f00; font-style: italic;];################### do_row [color= #7f00ff;]proc [color= #aa007f;]far [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],char [color= #ff007f;]mov [color= #7f7f40;]cx[color= #0000ff;],num [color= #007f00; font-style: italic;]; do bottom row row[color= #0000ff;]: [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]loop row [color= #ff007f;]ret do_row [color= #7f00ff;]endp [color= #007f00; font-style: italic;];################### CRLF [color= #7f00ff;]proc [color= #aa007f;]far [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],[color= #ff0000;]0Ah [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]mov [color= #7f7f40;]dl[color= #0000ff;],[color= #ff0000;]0Dh [color= #ff007f;]int [color= #ff0000;]21h [color= #ff007f;]ret CRLF [color= #7f00ff;]endp [color= #7f00ff;]end main
تم تعديل هذه المشاركة بواسطة Xacker في 26 مايو 2009 في 04:20 — السبب: تحسين الخوارزمية
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget
شكرا يعطيك العافيه...
اممم فيه عبارات غريبه على ماشفتها في الدرس مثل
main proc far
far
call
CRLF proc far
على العموم لي عوده بإذن الله بعد الإختبارات...
الى ذلك الوقت استودعكم الله الذي لاتضيع ودائعه....
Do as I say, not as I do
We are Anonymous. We are Legion. We don't forgive. We don't forget