View Full Version : سوال: چند سوال در مورد برنامه نویسی اسمبلی
Farhad M
چهارشنبه 17 خرداد 1391, 18:00 عصر
درود بر دوستان.
همانطور که میدونید امتحانات پایان ترم نزدیکه و همانطور هم که میدونید زبان بی ارزش (از نظر من) اسمبلی همچنان 3 واحد از کاردانی کامپیوتر را تسخیر کرده! من و دوستانم دور هم جمع شده بودیم و سوال های جزوه رو چک می کردیم. هرچقدر که جلوتر میرفتیم به بی ارزش بودن این زبان بیشتر پی می بردیم!
بعضی از دوستانم هنوز مباحث پایه ای کامپیوتر رو هم بلد نیستند (و قبلا هم در دروس نخوانده اند!) اما باید با این زبان برنامه بنویسند!
به تعدادی مشکل بر خوردیم و تقاضای کمک دارم که راهنماییمون بکنید. راستش 6تا از سوال های درس رو نتونستیم حل کنیم! من سوال هارو مینویسم اگه امکان داره کمکمون کنید. فرصت زیادی به امتحان باقی نمونده (کمتر از چند روز) و ما باید آماده باشیم...
لیست سوال ها:
1- برنامه ای بنویسید که یک رشته را از ورودی دریافت کرده و سپس کاراکتر های A و a آن را از ریشه حذف کند.
2- برنامه ای بنویسید که یک رشته را از ورودی دریافت کرده و سپس بزرگترین کاراکتر عددی را در خروجی چاپ کند (منظور کاراکتری که بزرگترین Ascii را دارد)
3- برنامه ای بنویسید که نمره ی 100 دانشجو را گرفته و میانگین آنها را در متغیری به نام Temp قرار دهد.
4- برنامه ای بنویسید که یک رشته از ورودی دریافت کند و معادل عددی آن را چاپ کند (به شدت نامفهوم برای ما!!)
5- برنامه ای بنویسید که دو کاراکتر را از ورودی دریافت کند و آن کاراکتر را به عدد تبدیل کند و دو عدد را از همدیگر کم کند.
6- برنامه ای بنویسید که یک رشته را از ورودی دریافت کند و به تعداد آن کاراکتر در رشته چاپ کند.
ما با نرم افزار EMU8086 ورژن 4 کار میکنیم. نکته ای که هست این برنامه ها رو سر جلسه باید روی کاغذ پیاده کنیم! کاملا تئوریه امتحان...
از نظر روش ساخت و طراحی برنامه چون قبلا با زبان های سطح بالا کار کردیم میتونیم طراحی و پیاده سازی کنیم اما ترجمه طراحیمون به زبان اسمبلی رو..... :ناراحت: اگر لطف کردید و سوال های بالارو حل کردید واسمون برنامه ی کامل رو Paste کنید که مشکلی نداشته باشیم.
پیشاپیش بسیار ممنونم...
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 19:20 عصر
1- برنامه ای بنویسید که یک رشته را از ورودی دریافت کرده و سپس کاراکتر های A و a آن را از ریشه حذف کند.
; ------------------------------
; | 1- Introducing the program |
; ------------------------------
TITLE 'REMOVEA.ASM' Gets an string and removes its 'A's and 'a's
;
; ---------------------------------
; | 2- Defining the stack segment |
; ---------------------------------
SSEG SEGMENT STACK
DB 128 DUP(0)
SSEG ENDS
;
; --------------------------------
; | 3- Defining the data segment |
; --------------------------------
DSEG SEGMENT
MSG1 DB 'Please enter an string: ', '$'
MSG2 DB 'Here is your string wihout 'A's and 'a's : ', '$'
MSG3 DB 'Do you want to continue? (Y=Yes, N=No): ', '$'
STR1 DB 32 DUP(0)
STR2 DB 32 DUP(0)
DSEG ENDS
;
; --------------------------------
; | 4- Defining the code segment |
; --------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG, SS:SSEG
START PROC FAR
MOV AX, DSEG
MOV DS, AX
;
; --------------------------
; | 5- Clearing the screen |
; --------------------------
REPEAT: MOV AH, 07h
MOV AL, 00h
MOV BH, 07h
MOV CX, 0000h
MOV DX, 184Fh
INT 10h
;
; --------------------------------
; | 6- Going to line 0, column 0 |
; --------------------------------
MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
;
; -----------------------------------------
; | 7- Asking the user to enter an string |
; -----------------------------------------
MOV AH, 09h
LEA DX, MSG1
INT 21h
;
; --------------------------------------
; | 8- Getting an string from keyboard |
; --------------------------------------
LEA SI, STR1
NX1: MOV AH, 1h
INT 21h
CMP AL, 13
JE DONE1
CMP AL, '$'
JE NX1
MOV [SI], AL
INC SI
JMP NX1
DONE1: MOV BYTE PTR [SI], '$'
;
; --------------------------------------
; | 9- Removing 'A' and 'a' charactes |
; --------------------------------------
LEA SI, STR1
LEA DI, STR2
NX2: CMP [SI], '$'
JE DONE2
CMP [SI], 'A'
JE SKIP2
CMP [SI], 'a'
JE SKIP2
MOV AL, [SI]
MOV [DI], AL
INC DI
SKIP2: INC SI
JMP NX2
DONE2: MOV BYTE PTR [DI], '$'
; ----------------------------
; | 10- Going to the next line |
; ----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; -------------------------
; | 11- Printing the MSG2 |
; -------------------------
MOV AH, 09h
LEA DX, MSG2
INT 21h
;
; -------------------------
; | 12- Printing the STR2 |
; -------------------------
MOV AH, 09h
LEA DX, STR2
INT 21h
; -----------------------------
; | 13- Going to the next line |
; -----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; ------------------------------------------------------
; | 14- Asking the user if he wants to continue or not |
; ------------------------------------------------------
ASK: MOV AH, 09h
LEA DX, MSG3
INT 21h
WAIT1: MOV AH, 0h
INT 16h
CMP AL, 89
JE Y1
CMP AL, 121
JE Y1
CMP AL, 78
JE N1
CMP AL, 110
JE N1
JMP WAIT1
Y1: MOV AL, 'Y'
MOV AH, 0Eh
INT 10h
JMP REPEAT
N1: MOV AL, 'N'
MOV AH, 0Eh
INT 10h
;
; --------------------------
; | 15- End of the program |
; --------------------------
MOV AX, 4C00h
INT 21h
START ENDP
CSEG ENDS
END START
END
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 19:21 عصر
2- برنامه ای بنویسید که یک رشته را از ورودی دریافت کرده و سپس بزرگترین کاراکتر عددی را در خروجی چاپ کند (منظور کاراکتری که بزرگترین Ascii را دارد)
; ------------------------------
; | 1- Introducing the program |
; ------------------------------
TITLE 'GREATESTDIGIT.ASM' Gets a numeric string and print its greatest digit
;
; ---------------------------------
; | 2- Defining the stack segment |
; ---------------------------------
SSEG SEGMENT STACK
DB 128 DUP(0)
SSEG ENDS
;
; --------------------------------
; | 3- Defining the data segment |
; --------------------------------
DSEG SEGMENT
MSG1 DB 'Please enter a number: ', '$'
MSG2 DB 'The greatest digit is: ', '$'
MSG3 DB 'Do you want to continue? (Y=Yes, N=No): ', '$'
STR1 DB 32 DUP(0)
MAX1 DB 0
DSEG ENDS
;
; --------------------------------
; | 4- Defining the code segment |
; --------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG, SS:SSEG
START PROC FAR
MOV AX, DSEG
MOV DS, AX
;
; --------------------------
; | 5- Clearing the screen |
; --------------------------
REPEAT: MOV AH, 07h
MOV AL, 00h
MOV BH, 07h
MOV CX, 0000h
MOV DX, 184Fh
INT 10h
;
; --------------------------------
; | 6- Going to line 0, column 0 |
; --------------------------------
MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
;
; -----------------------------------------
; | 7- Asking the user to enter an string |
; -----------------------------------------
MOV AH, 09h
LEA DX, MSG1
INT 21h
;
; ---------------------------------------------
; | 8- Getting a numeric string from keyboard |
; ---------------------------------------------
LEA SI, STR1
NX1: MOV AH, 0h
INT 16h
CMP AL, 13
JE DONE1
CMP AL, '0'
JB NX1
CMP AL, '9'
JA NX1
MOV [SI], AL
MOV AH, 0Eh
INT 10h
INC SI
JMP NX1
DONE1: MOV BYTE PTR [SI], '$'
;
; -----------------------------------------------
; | 9- Finding the greatest digit in the string |
; -----------------------------------------------
MOV AL, 0
LEA SI, STR1
NX2: CMP [SI], '$'
JE DONE2
CMP [SI], AL
JB SKIP2
MOV AL, [SI]
SKIP2: INC SI
JMP NX2
DONE2: MOV MAX1, AL
; -----------------------------
; | 10- Going to the next line |
; -----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; -------------------------
; | 11- Printing the MSG2 |
; -------------------------
MOV AH, 09h
LEA DX, MSG2
INT 21h
;
; -------------------------
; | 12- Printing the MAX1 |
; -------------------------
MOV AL, MAX1
MOV AH, 0Eh
INT 10h
; -----------------------------
; | 13- Going to the next line |
; -----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; ------------------------------------------------------
; | 14- Asking the user if he wants to continue or not |
; ------------------------------------------------------
ASK: MOV AH, 09h
LEA DX, MSG3
INT 21h
WAIT1: MOV AH, 0h
INT 16h
CMP AL, 89
JE Y1
CMP AL, 121
JE Y1
CMP AL, 78
JE N1
CMP AL, 110
JE N1
JMP WAIT1
Y1: MOV AL, 'Y'
MOV AH, 0Eh
INT 10h
JMP REPEAT
N1: MOV AL, 'N'
MOV AH, 0Eh
INT 10h
;
; --------------------------
; | 15- End of the program |
; --------------------------
MOV AX, 4C00h
INT 21h
START ENDP
CSEG ENDS
END START
END
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 23:23 عصر
3- برنامه ای بنویسید که نمره ی 100 دانشجو را گرفته و میانگین آنها را در متغیری به نام Temp قرار دهد.
; ------------------------------
; | 1- Introducing the program |
; ------------------------------
TITLE 'AVERAGE.ASM' Gets grades of 1 to 100 students and calculate the average of their grades
;
; ---------------------------------
; | 2- Defining the stack segment |
; ---------------------------------
SSEG SEGMENT STACK
DB 128 DUP(0)
SSEG ENDS
;
; --------------------------------
; | 3- Defining the data segment |
; --------------------------------
DSEG SEGMENT
MSG1 DB 'How many student do you have? (you must have at least 1 student and at most 100 students): ', '$'
ERROR1 DB 'ERROR! You must have at least 1 student!', '$'
ERROR2 DB 'ERROR! You must have at most 100 students!', '$'
ERROR3 DB 'ERROR! This number is not valid!', '$'
MSG2 DB 'Please enter the grade of student number ', '$'
MSG3 DB ' : ', '$'
NUMBER DB 0
STR1 DB 6 DUP(0)
GRDS DB 101 DUP(0)
COUNTER DB 0
TEMP DB 0
MSG4 DB 'The average of grades of theses students is: ', '$'
MSG5 DB 'Do you want to continue? (Y=Yes, N=No): ', '$'
DSEG ENDS
;
; --------------------------------
; | 4- Defining the code segment |
; --------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG, SS:SSEG
START PROC FAR
MOV AX, DSEG
MOV DS, AX
;
; --------------------------
; | 5- Clearing the screen |
; --------------------------
REPEAT: MOV AH, 07h
MOV AL, 00h
MOV BH, 07h
MOV CX, 0000h
MOV DX, 184Fh
INT 10h
;
; ---------------------------------
; | 6- Going to line 0, column 0 |
; ---------------------------------
MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
;
; ------------------------------------------------
; | 7- Asking the user how many student there is |
; ------------------------------------------------
;
MOV AH, 09h
LEA DX, MSG1
INT 21h
;
; ---------------------------------------------
; | 8- Getting a numeric string from keyboard |
; ---------------------------------------------
LEA SI, STR1
NX1: MOV AH, 0h
INT 16h
CMP AL, 13
JE DONE1
CMP AL, '0'
JB NX1
CMP AL, '9'
JA NX1
MOV AH, 0Eh
INT 10h
MOV [SI], AL
INC SI
JMP NX1
DONE1: MOV BYTE PTR [SI], '$'
;
; -----------------------------------------
; | 9- Converting numeric string to number |
; -----------------------------------------
MOV AX, 0
MOV DX, 0
MOV CX, 10
MOV DI, 0
NX2: CMP STR1[DI] , '$'
JE DONE2
MOV BL, STR1[DI]
XOR BH, BH
SUB BX, 48
MUL CX
CMP DX, 0
JNE ERR2
ADD AX, BX
JB ERR2
INC DI
JMP NX2
DONE2: MOV NUMBER, AL
;
; ----------------------------------------------------------
; | 10- Checking if the number of students is valid or not |
; ----------------------------------------------------------
CMP NUMBER, 1
JB ERR1
CMP NUMBER, 100
JA ERR2
JMP CNT1
;
; -----------------------
; | 11- Printing ERROR1 |
; -----------------------
ERR1: MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
MOV AH, 09h
LEA DX, ERROR1
INT 21h
JMP ASK
;
; -----------------------
; | 12- Printing ERROR2 |
; -----------------------
ERR2: MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
MOV AH, 09h
LEA DX, ERROR2
INT 21h
JMP ASK
;
; ------------------------------------------
; | 13- Setting the counter and SI register |
; ------------------------------------------
CNT1: MOV COUNTER, 1
MOV SI, 0
;
; -----------------------------
; | 14- Going to the next line |
; -----------------------------
NXGRD1: MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; -------------------------------------------------------------
; | 15- Checking if we have got enough number of grade or not |
; -------------------------------------------------------------
MOV AL, NUMBER
INC AL
CMP COUNTER, AL
JE CAL1
; ----------------------------------------
; | 16- Asking the user to enter a grade |
; ----------------------------------------
MOV AH, 09h
LEA DX, MSG2
INT 21h
;
; ------------------------------------------
; | 17- Printing the number of the student |
; ------------------------------------------
XOR CX, CX
MOV AL, COUNTER
CBW
XOR DX, DX
MOV BX, 10
L3: DIV BX
PUSH DX
INC CX
CMP AX, 0
JE L4
XOR DX, DX
JMP L3
L4: POP DX
MOV AX, DX
ADD AX, 48
MOV AH, 0Eh
INT 10h
LOOP L4
;
; ---------------------
; | 18- Printing MSG3 |
; ---------------------
MOV AH, 09h
LEA DX, MSG3
INT 21h
;
; ----------------------------------------------
; | 19- Getting a numeric string from keyboard |
; ----------------------------------------------
LEA DI, STR1
NX4: MOV AH, 0h
INT 16h
CMP AL, 13
JE DONE4
CMP AL, '0'
JB NX4
CMP AL, '9'
JA NX4
MOV AH, 0Eh
INT 10h
MOV [DI], AL
INC DI
JMP NX4
DONE4: MOV BYTE PTR [DI], '$'
;
; ------------------------------------------
; | 20- Converting numeric string to number |
; ------------------------------------------
MOV AX, 0
MOV DX, 0
MOV CX, 10
XOR DI, DI
NX5: CMP STR1[DI] , '$'
JE DONE5
MOV BL, STR1[DI]
XOR BH, BH
SUB BX, 48
MUL CX
CMP DX, 0
JNE ERR3
ADD AX, BX
JB ERR3
INC DI
JMP NX5
DONE5: MOV BYTE PTR GRDS[SI], AL
INC SI
INC COUNTER
JMP NXGRD1
ERR3: MOV AH, 09h
LEA DX, ERROR3
INT 21h
JMP NXGRD1
; ------------------------------
; | 21- Calculating the average |
; ------------------------------
;
CAL1: MOV BYTE PTR GRDS[SI], '$'
MOV TEMP, 0
LEA SI, GRDS
NXGRD2: CMP [SI], '$'
JE DONE6
MOV AL, [SI]
ADD TEMP, AL
INC SI
JMP NXGRD2
DONE6: MOV AL, TEMP
XOR AH, AH
DIV NUMBER
MOV TEMP, AL
;
; ---------------------
; | 22- Printing MSG4 |
; ---------------------
MOV AH, 09h
LEA DX, MSG4
INT 21h
; -----------------------------
; | 23- Pringting the average |
; -----------------------------
XOR CX, CX
MOV AL, TEMP
CBW
XOR DX, DX
MOV BX, 10
L6: DIV BX
PUSH DX
INC CX
CMP AX, 0
JE L8
XOR DX, DX
JMP L6
L8: POP DX
MOV AX, DX
ADD AX, 48
MOV AH, 0Eh
INT 10h
LOOP L8
;
; ------------------------------------------------------
; | 24- Asking the user if he wants to continue or not |
; ------------------------------------------------------
ASK: MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
MOV AH, 09h
LEA DX, MSG5
INT 21h
WAIT1: MOV AH, 0h
INT 16h
CMP AL, 89
JE Y1
CMP AL, 121
JE Y1
CMP AL, 78
JE N1
CMP AL, 110
JE N1
JMP WAIT1
Y1: MOV AL, 'Y'
MOV AH, 0Eh
INT 10h
JMP REPEAT
N1: MOV AL, 'N'
MOV AH, 0Eh
INT 10h
;
; --------------------------
; | 25- End of the program |
; --------------------------
MOV AX, 4C00h
INT 21h
START ENDP
CSEG ENDS
END START
END
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 23:27 عصر
4- برنامه ای بنویسید که یک رشته از ورودی دریافت کند و معادل عددی آن را چاپ کند (به شدت نامفهوم برای ما!!)
یا استاد اشتباه گفته (که بعید میدونم) یا شما صورت سوال رو اشتباه یادداشت کردی، در هر صورت این جمله معنی نمیده.
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 23:56 عصر
5- برنامه ای بنویسید که دو کاراکتر را از ورودی دریافت کند و آن کاراکتر را به عدد تبدیل کند و دو عدد را از همدیگر کم کند.
; ------------------------------
; | 1- Introducing the program |
; ------------------------------
TITLE 'SUBTRACTION.ASM' Gets two one digit numbers and subtract them
;
; ---------------------------------
; | 2- Defining the stack segment |
; ---------------------------------
SSEG SEGMENT STACK
DB 128 DUP(0)
SSEG ENDS
;
; --------------------------------
; | 3- Defining the data segment |
; --------------------------------
DSEG SEGMENT
MSG1 DB 'Please enter the first number: ', '$'
A DB 0
B DB 0
C DB 0
MSG2 DB 'Please enter the second number: ', '$'
ERR1 DB 'ERROR! The first number must be greater than the second one', '$'
MSG3 DB ' - ', '$'
MSG4 DB ' = ', '$'
MSG5 DB 'Do you want to continue? (Y=Yes, N=No): ', '$'
STR1 DB 32 DUP(0)
NUMBER DW 0
DSEG ENDS
;
; --------------------------------
; | 4- Defining the code segment |
; --------------------------------
CSEG SEGMENT
ASSUME CS:CSEG, DS:DSEG, SS:SSEG
START PROC FAR
MOV AX, DSEG
MOV DS, AX
;
; --------------------------
; | 5- Clearing the screen |
; --------------------------
REPEAT: MOV AH, 07h
MOV AL, 00h
MOV BH, 07h
MOV CX, 0000h
MOV DX, 184Fh
INT 10h
;
; --------------------------------
; | 6- Going to line 0, column 0 |
; --------------------------------
MOV AH, 2h
MOV BH, 00h
MOV DH, 0
MOV Dl, 0
INT 10h
;
; ------------------------------------------------
; | 7- Asking the user to enter the first number |
; ------------------------------------------------
MOV AH, 09h
LEA DX, MSG1
INT 21h
;
; ---------------------------------------------
; | 8- Getting the first number from keyboard |
; ---------------------------------------------
WAIT1: MOV AH, 0h
INT 16h
CMP AL, '0'
JB WAIT1
CMP AL, '9'
JA WAIT1
MOV AH, 0Eh
INT 10h
SUB AL, '0'
MOV A, AL
;
; ----------------------------
; | 9- Going to the next line |
; ----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; --------------------------------------------------
; | 10- Asking the user to enter the second number |
; --------------------------------------------------
MOV AH, 09h
LEA DX, MSG2
INT 21h
;
; ----------------------------------------------
; | 11- Getting the second number from keyboard |
; ----------------------------------------------
WAIT2: MOV AH, 0h
INT 16h
CMP AL, '0'
JB WAIT2
CMP AL, '9'
JA WAIT2
MOV AH, 0Eh
INT 10h
SUB AL, '0'
MOV B, AL
;
; ---------------------------------------------------------------------
; | 12- Checking if the first number is greater than first one or not |
; ---------------------------------------------------------------------
CMP A, AL
JA CAL1
;
; -----------------------------
; | 13- Going to the next line |
; -----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; --------------------
; | 14- Printing ERR1 |
; --------------------
MOV AH, 09h
LEA DX, ERR1
INT 21h
JMP ASK
;
; ----------------------------------
; | 15- Calculating the subtraction |
; ----------------------------------
CAL1: MOV AL, A
SUB AL, B
MOV C, AL
;
; -----------------------------
; | 16- Going to the next line |
; -----------------------------
MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
;
; --------------------------------
; | 17- Printing the first number |
; --------------------------------
MOV AL, A
ADD AL, '0'
MOV AH, 0Eh
INT 10h
;
; --------------------
; | 18- Printing MSG4 |
; --------------------
MOV AH, 09h
LEA DX, MSG3
INT 21h
;
; ---------------------------------
; | 19- Printing the second number |
; ---------------------------------
MOV AL, B
ADD AL, '0'
MOV AH, 0Eh
INT 10h
;
; --------------------
; | 20- Printing MSG5 |
; --------------------
MOV AH, 09h
LEA DX, MSG4
INT 21h
;
; --------------------------
; | 21- Printing the result |
; --------------------------
MOV AL, C
ADD AL, '0'
MOV AH, 0Eh
INT 10h
;
; ------------------------------------------------------
; | 22- Asking the user if he wants to continue or not |
; ------------------------------------------------------
ASK: MOV AH, 2h
MOV DL, 13
INT 21h
MOV AH, 2h
MOV DL, 10
INT 21h
MOV AH, 09h
LEA DX, MSG5
INT 21h
WAIT3: MOV AH, 0h
INT 16h
CMP AL, 89
JE Y1
CMP AL, 121
JE Y1
CMP AL, 78
JE N1
CMP AL, 110
JE N1
JMP WAIT3
Y1: MOV AL, 'Y'
MOV AH, 0Eh
INT 10h
JMP REPEAT
N1: MOV AL, 'N'
MOV AH, 0Eh
INT 10h
;
; --------------------------
; | 23- End of the program |
; --------------------------
MOV AX, 4C00h
INT 21h
START ENDP
CSEG ENDS
END START
END
MostafaMohammadi
چهارشنبه 17 خرداد 1391, 23:59 عصر
6- برنامه ای بنویسید که یک رشته را از ورودی دریافت کند و به تعداد آن کاراکتر در رشته چاپ کند.
این سوال هم مثل سوال 4 گنگه، جمله اش معنی نمیده.
Farhad M
پنج شنبه 18 خرداد 1391, 04:11 صبح
آقای محمدی بسیار سپاسگذارم... ممنون بابت پاسخاتون :لبخندساده:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.