感謝を行使章VI優れたアセンブリ言語コード

手順は、コードの書き込みコード・セグメントに、以下の通りであった、データセグメントと順次結果を追加のセグメントBは、Cセグメントに格納されます。

assume cs:code
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
start:
?
code ends
end start

回答:

assume cs:code
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
 start:
   
    mov ax,a
    mov ds,ax
    ;注意ds里面应该放入的是第一个段a相应的地址

    mov cx,4
    mov bx,0
 
s: 
 
    mov dx, [bx];利用了汇编偏移量的特点
    ;同时利用了没有进位的特点,把0102与0102看成一个数字
    ;放到一个寄存器之中进行相加
    add dx, [bx+16];
    mov [bx+32],dx
    add bx,2
    ;每次两个字节相加,所以每次的偏移量加2
loop s
      mov ax,4c00h
      int 21h
code ends
end start
公開された17元の記事 ウォン称賛7 ビュー2994

おすすめ

転載: blog.csdn.net/znevegiveup1/article/details/85219148