题目:4.请编写程序完成: DS:6000H开始存放字符串 " How are you! “,把该字符串从后往前传送DS:6030H 开始的内存区域中(即传送结束后,DS:6030H 开始的内容为”! uoy era woH "),试编写程序并上机调试。
程序:
code segment
start:
; set segment registers:
mov ax, 0
mov ds, ax
mov es, ax
mov di,6000H
mov al,'H'
stosb
mov al,'o'
stosb
mov al,'w'
stosb
mov al,' '
stosb
mov al,'a'
stosb
mov al,'r'
stosb
mov al,'e'
stosb
mov al,' '
stosb
mov al,'y'
stosb
mov al,'o'
stosb
mov al,'u'
stosb
mov al,'!'
stosb
mov ax,600BH
mov bx,6030H
mov cx,12
again: mov si,ax
mov di,bx
movsb
sub ax,1
inc bx
loop again
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.
程序结果
在字符串操作指令中,DS:SI 指向源串,ES:DI 指向目的串。