汇编语言 LOOP和[BX]的联合应用
要求
计算ffff:0~ffff:b单元中数据的和,结果存在DX中
答案
答案是0405
代码1 无循环
assume cs:code
code segment
mov ax,0ffffh
mov ds,ax
mov dx,0
mov al,ds:[0]
mov ah,0
add dx,ax
mov al,ds:[1]
mov ah,0
add dx,ax
mov al,ds:[2]
mov ah,0
add dx,ax
mov al,ds:[3]
mov ah,0
add dx,ax
mov al,ds:[4]
mov ah,0
add dx,ax
mov al,ds:[5]
mov ah,0
add dx,ax
mov al,ds:[6]
mov ah,0
add dx,ax
mov al,ds:[7]
mov ah,0
add dx,ax
mov al,ds:[8]
mov ah,0
add dx,ax
mov al,ds:[9]
mov ah,0
add dx,ax
mov al,ds:[0ah]
mov ah,0
add dx,ax
mov al,ds:[0bh]
mov ah,0
add dx,ax
mov ax,4c00h
int 21h
code ends
end
代码2 有循环
;loop和bx的联合应用
assume cs:code
code segment
mov ax,0ffffh
mov ds,ax ;数据段
mov dx,0 ;累加器清零
mov bx,0h ;偏移地址从0开始
mov cx,0ch ;循环次数为c???为什么不是b
s: mov al,[bx]
mov ah,0h
add dx,ax
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end