pouya.iranzad
2nd December 2011, 03:41 PM
فرض کنید شماره دانششجویی و شماره ملی شما درمتغییر های StdID, StdNO به ترتیب ذخیره شده برنامه کاملی بنویسید که پیغام “Enter a Number:” چاپ کند و یک کاراکتر بگیرد اگر کاراکتر با اول شماره دانششجویی شما برابر بود شماره دانششجویی شما را چاپ کند. اگر کاراکتر با حرف شماره ملی شما برابر بود شماره ملی را چاپ کند. در غیر اینصورت پیغام "Not found" را چاپ کند.
برنامه زبان را به زبان اسمبلی بنویسید.
برنامه زبان را به زبان اسمبلی بنویسید.
Y=0; X=500;
for (m=10;m>0;m--)
for (n=m; n>0;n--)
{
if ((n>1)&&(m<3))
Y= Y+ 2*X+5;
Else
Y= Y- 2*X+5;
}
Y=0; X=500;
for (m=10;m>0;m--)
for (n=m; n>0;n--)
{ switch (n) {
Case 1:
Case 2: Y= Y+ 2*X+5; break;
Case 3:
Case 4: Y= Y- 2*X+5; break;
} }
پس از اجرای قطعه برنامه زیرمقادیر موجود در CX,BX,SI را بنویسید.
پس از اجرای قطعه برنامه زیرمقادیر موجود در CX,BX,SI را بنویسید.
ORG 104h
N DB 4,3
X1 DW 1,2,3,4,5
MOV CX,4
XOR CX, CX
MOV CL,N
LEA SI,N
MOV BX,0
L1:
INC SI
INC SI
ADD BX, [SI]
LOOP L1
ORG 100h
X1 DW 0,2,4,6
N DB 4,3
MOV CX,4
XOR CX, CX
MOV CL,N
LEA SI,X1
MOV BX,0
L1:
ADD BX, [SI]
INC SI
INC SI
LOOP L1
خطا های برنامه زیر را بیابید ودرست شده برنامه را دوباره بنویسید.
خطا های برنامه زیر را بیابید ودرست شده برنامه را دوباره بنویسید.
data segment
msg db "hello, world!", 0dh,0ah, '$'
place1 db 123
place2 db 400
ends
stack segment
db 30 dup(0)
ends
code segment
start: ; set segment registers:
pushax
mov ax, data
mov ds, ax
mov es, ax
mov bx, offset placce1
mov place2,bx
mov [BX],place2
; print "hello, world!":
lea dx, msg
mov ah, 09h
int 21h
mov place1,place2
mov ah, 0
inc 21h
;return control to os
mov ah, 4ch
int 21h
popax
ends
end start ; set entry point and stop
Cseg data segment
msg db "hello, world!", 0dh,0ah, '$'
place1 dw 123
place2 dw 400
Cseg ends
stack segment
db 5 dup(‘ ‘)
ends
code segment
start: ; set segment registers:
pusha
mov ax, Cseg
push ds
mov ds, ax
mov es, ax
mov bx, offset placce1
mov place2,bx
mov [BX],place2
; print "hello, world!":
lea dx, msg
mov ah, 09h
int 21h
mov place1,place2
mov ah, 0
inc 21h
;return control to os
ret
popa
ends
end start ; set entry point and stop
برنامه زبان را به زبان اسمبلی بنویسید.
برنامه زبان را به زبان اسمبلی بنویسید.
Y=0; X=500;
for (m=10;m>0;m--)
for (n=m; n>0;n--)
{
if ((n>1)&&(m<3))
Y= Y+ 2*X+5;
Else
Y= Y- 2*X+5;
}
Y=0; X=500;
for (m=10;m>0;m--)
for (n=m; n>0;n--)
{ switch (n) {
Case 1:
Case 2: Y= Y+ 2*X+5; break;
Case 3:
Case 4: Y= Y- 2*X+5; break;
} }
پس از اجرای قطعه برنامه زیرمقادیر موجود در CX,BX,SI را بنویسید.
پس از اجرای قطعه برنامه زیرمقادیر موجود در CX,BX,SI را بنویسید.
ORG 104h
N DB 4,3
X1 DW 1,2,3,4,5
MOV CX,4
XOR CX, CX
MOV CL,N
LEA SI,N
MOV BX,0
L1:
INC SI
INC SI
ADD BX, [SI]
LOOP L1
ORG 100h
X1 DW 0,2,4,6
N DB 4,3
MOV CX,4
XOR CX, CX
MOV CL,N
LEA SI,X1
MOV BX,0
L1:
ADD BX, [SI]
INC SI
INC SI
LOOP L1
خطا های برنامه زیر را بیابید ودرست شده برنامه را دوباره بنویسید.
خطا های برنامه زیر را بیابید ودرست شده برنامه را دوباره بنویسید.
data segment
msg db "hello, world!", 0dh,0ah, '$'
place1 db 123
place2 db 400
ends
stack segment
db 30 dup(0)
ends
code segment
start: ; set segment registers:
pushax
mov ax, data
mov ds, ax
mov es, ax
mov bx, offset placce1
mov place2,bx
mov [BX],place2
; print "hello, world!":
lea dx, msg
mov ah, 09h
int 21h
mov place1,place2
mov ah, 0
inc 21h
;return control to os
mov ah, 4ch
int 21h
popax
ends
end start ; set entry point and stop
Cseg data segment
msg db "hello, world!", 0dh,0ah, '$'
place1 dw 123
place2 dw 400
Cseg ends
stack segment
db 5 dup(‘ ‘)
ends
code segment
start: ; set segment registers:
pusha
mov ax, Cseg
push ds
mov ds, ax
mov es, ax
mov bx, offset placce1
mov place2,bx
mov [BX],place2
; print "hello, world!":
lea dx, msg
mov ah, 09h
int 21h
mov place1,place2
mov ah, 0
inc 21h
;return control to os
ret
popa
ends
end start ; set entry point and stop