1、有一个字数组a,编程将其复制到b数据区。
data segment
a dw 1,2,3,4,5
b dw ?,?,?,?,?
data ends
stack segment para stack
dw 10h dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov si,0
mov cx,5
again:
mov bx,a[si];
mov b[si],bx;
add si,2
loop again
mov ax,4ch
int 21h
code ends
end start
2、有a、b是2个字节数据区,其长度都相同,编程将a、b数据区对应元素作为字的高、低两字节存入字数据区c中对应位置。
data segment
a db 1,2,3,4
b db 5,6,7,8
c dw ?,?,?,?
data ends
stack segment para stack
db 10h dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov si,0
mov di,0
mov cx,4
again:
mov bh,a[si];
mov bl,b[si];
mov c[di],bx;
inc si
add di,2
loop again
mov ax,4ch
int 21h
code ends
end start
3、编程求字数据区a中所有正数之和,结果存于字x中。
data segment
a dw 1,-2,5,4,-5
x dw ?
count equ x-a;count
data ends
stack segment para stack
db 10h dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov bx,0
mov si,-2;
mov cx,count
shr cx,1
lop:
add si,2
mov ax,a[si];
cmp ax,0
jng ee;
add x,ax
ee:
loop lop
mov ax,4ch
int 21h
code ends
end start