سلام
لطفا اگه كسي برنامه پيدا كردن ماكسيمم به زبان اسمبلي را بلده راهنماييم كنه
من خودم يه برنامه نوشتم ولي هميشه آخرين عدد را چاپ مي كنه
برنامه پيدا كردن ماكسيمم به زبان اسمبلي
مدیر انجمن: rosa_127
Re: برنامه پيدا كردن ماكسيمم به زبان اسمبلي
کد: انتخاب همه
.MODEL SMALL
.DATA
A DW 9
B DW 21
C DW 3
MAX DW ?
MIN DW ?
.CODE
.STARTUP
MOV AX, A
MOV MAX, AX ; MAX = A
MOV MIN, AX ; MIN = A
MOV BX, B
MOV CX, C
STEP1:
CMP BX, AX ;IF(B > A
JLE STEP2
CMP BX, CX ;&& B > C)
JLE STEP2
MOV MAX, BX ;MAX = B
JMP STEP3
STEP2:
CMP CX, AX ;IF(C > A
JLE STEP3
CMP CX, BX ;&& C > B)
JLE STEP3
MOV MAX, CX ;MAX = C
STEP3:
CMP BX, AX ;IF(B < A
JGE STEP4
CMP BX, CX ;&& B < C)
JGE STEP4
MOV MIN, BX ;MIN = B
STEP4:
CMP CX, AX ;IF(C < A
JGE STEP5
CMP CX, BX ;&& C < B)
JGE STEP5
MOV MIN, CX ;MIN = C
STEP5:
.EXIT
END
;
; MAX = A
; MIN = A
;
; IF(B > A && B > C)
; MAX = B
;
; IF(C > A && C > B)
; MAX = C
;
; IF(B < A && B < C)
; MIN = B
;
; IF(C < A && C < B)
; MIN = C
;
کد: انتخاب همه
seg1 segment
a dw 3
b dw 5
c dw 4
min dw ?
max dw ?
sum dw 0
avg dw 0
seg1 ends
seg2 segment
Assume CS:seg2,DS:seg1
L:mov ax,seg1
mov ds,ax
;shoroe jam shodan adad ba ham
mov ax,a
add ax,b
add ax,c
; be dast avardane miyangin
mov sum,ax
mov bx,3
div bx
mov avg,ax
;shoro mogayese barae taine min va max
mov ax,a
cmp ax,b
ja f1
mov ax,b
mov max,ax
mov cx,a
mov min,cx
cmp ax,c
ja f3
mov bx,c
mov max,bx
mov dx,sum
mov ax,avg
jmp end
f1:mov max,ax
mov bx,b
mov min,bx
mov cx,sum
mov dx,avg
cmp ax,c
ja f2
mov cx,c
mov max,cx
mov ax,sum
mov dx,avg
jmp end
f2:cmp c,bx
ja end
mov cx,c
mov min,cx
mov bx,avg
mov dx,sum
jmp end
f3:mov dx,avg
mov bx,c
cmp bx,min
mov bx,sum
ja end
mov min,bx
mov cx,sum
mov dx,avg
jmp end
end:mov ah,4ch
int 21h
seg2 ends
end L
...
Re: برنامه چاپ طول کاراکتر گرفته شده به زبان اسمبلي
سلام من یه برنامه ساده میخوام که یک رشته رو بگیره و طول آنرا چاپ کند.
ممنون
ممنون