פורסם 2010 בנובמבר 2315 שנים שלום לכולם,נתקלתי בבעיה קטנה.הקדמה:זאת תוכנית שמקבלת מספרים הנמצאים במערך.התוכנית בודקת האם המספר שלילי או חיובי ומבצעת פולינום עבור כל אחד בהתאמה.לאחר כל פעולה כזאת אני רוצה שהתוכנית תציג לי פלט של התוכנית ופה נתקלתי בקושי.אני לא מצליח לגרום לה להדפיס את המספר. ההדפסה בלייבל PRINT: .MODEL SMALL .STACK 100h .DATAVAR1 DW 0NUSTR DB 10D,-10D,20D,-20D,30D,-30D,40D,-40D,50D,-50D,'$'RESULT DW , ,'$'Poli1 DB 13,10,'3x^2+5x+12=',13,10,'$'Poli2 DB 13,10,'-X^2+14=',13,10,'$' .CODE START: MOV AX,@DATA ; DS can be written to only through a register MOV DS,AX ; Set DS to point to data segment MOV AH,9 ; Set print option for int 21h MOV CX,1 MOV DI,0 BLOOP: XOR AX,AX MOV AL,NUSTR+[DI] INC DI CMP AL,0 JG POL1 CMP AL,0 JL POL2 LLOOP: LOOP BLOOP JMP TOEND POL1: XOR BX,BX MOV BX,AX SHL BX,2 ADD BX,AX ADD BX,12 MUL AX MOV VAR1,AX SHL AX,1 ADD AX,VAR1 ADD BX,AX MOV VAR1,BX PRINT: MOV AX,VAR1 MOV RESULT,AX MOV AH,9 MOV DX,OFFSET RESULT INT 21h JMP LLOOP POL2: IMUL AX ADD AX,14 MOV VAR1,AX JMP PRINT TOEND: MOV AH,4Ch ; Set terminate option for int 21h INT 21h ; Return to DOS (terminate program) END תודה לעוזרים
פורסם 2010 בנובמבר 2415 שנים מחבר ניסית לדבג? אתה מגיע לשורה של הINT?אני מגיע ל INT ואז הוא מדפיס לי סמלים.
פורסם 2010 בנובמבר 2415 שנים שים לב ש- mov ah,9 מצפה שיהיה מצביע למחרוזת שמסתיימת ב- $ ב- dx. מה שמת לו שם?ד.א. אתה יכול לדבג את התוכנית שלך ע"י שימוש בתוכנית debug שמגיעה עם windows.פשוט תקליד debug yourrogram.com כדי לדבג, ותרשום ? כדי להדפיס את העזרה. השימוש בזה ממש פשוט, ויעזור לך להבין מה בידיוק רץ שם.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.