汇编第六章习题

程序如下,编写code段中的代码,将a段和b段中的数据依次相加,将结果存到c段中。

a segment
    db 1,2,3,4,5,6,7,8
a ends

b segment
    db 1,2,3,4,5,6,7,8
b ends

c segment
    db 0,0,0,0,0,0,0,0
c ends

code segment
1
2
3
4
5
6
7
8
9
10
11
12
start:  mov ax,a
mov ds,ax
mov bx,0
mov cx,8
s: mov al,ds:[bx]
add al,ds:[16+bx]
mov ds:[32+bx],al
add bx,1
loop s

mov ax,4c00h
int 21h
code ends end start

程序如下,编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中。

assume cs: code
    a segment
        dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
    a ends

    b segment
        dw 0,0,0,0,0,0,0,0
    b ends

code segment
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
start:  mov ax,a
mov ds,ax

mov ax,b
mov ss,ax
mov sp,16

mov bx,0
mov cx,8
s: push ds:[bx]
add bx,2
loop s

mov ax,4c00h
int 21h
code ends end start