汇编语言 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
		

猜你喜欢

转载自blog.csdn.net/sinat_42483341/article/details/88647837