汇编语言(一)之反转字符串输出

BASED ADDRESSING反转输出
程序运行:

代码:
datas segment
string db 'BASED ADDRESSING$'
count dw $-string-1 ;计算string的长度,$为当前地址,-1为去掉字符串结束符'$'
srcsTip db 'SRC string:$'
dstsTip db 0dh,0ah,'DST string:$' ;0dh,0ah回车换行
datas ends
stacks segment
stacks ends
codes segment
main proc far
assume cs:codes,ds:datas,ss:stacks
start:
push ds
sub ax,ax
push ax
mov ax,datas ;初始化ds
mov ds,ax
;输出源字符提示
lea dx,srcsTip
mov ah,9
int 21h
;输出源字符
lea dx,string
mov ah,9
int 21h
;输出目标字符提示
lea dx,dstsTip
mov ah,9
int 21h
;输出目标字符
mov cx,count
mov ah,2
mov bx,count
dec bx ;获得最后一个字符的下标
s1:
mov dl,string[bx]
int 21h
dec bx ;bx-1,移至前一个字符
loop s1
ret
main endp
codes ends
end main