汇编语言,在线等,一道题,急
把字符串STRING中的'&'字符用空格符代替。STRINGDB'ThedateisFEB&03’,程序已经给出,请详细解释各个步骤原因,初学,请原谅datasegmen...
把字符串STRING中的'&'字符用空格符代替。STRING DB 'The date is FEB&03’ ,程序已经给出,请详细解释各个步骤原因,初学,请原谅
data segment
STRING DB 'The date is FEB&03'
count equ $-string
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
lea si,string
mov cx,count
next:
cmp byte ptr [si],'&'
jnz next1
mov byte ptr [si],20h
next1:
inc si
loop next
mov ax,4c00h
int 21h
code ends
end start 展开
data segment
STRING DB 'The date is FEB&03'
count equ $-string
data ends
code segment
assume ds:data,cs:code
start:
mov ax,data
mov ds,ax
lea si,string
mov cx,count
next:
cmp byte ptr [si],'&'
jnz next1
mov byte ptr [si],20h
next1:
inc si
loop next
mov ax,4c00h
int 21h
code ends
end start 展开
展开全部
data segment ;数据段开始
STRING DB 'The date is FEB&03' ;定义字符串
count equ $-string ;计算字符串的长度
data ends ;数据段结束
code segment ;代码段开始
assume ds:data,cs:code ;设置段寄存器与各段的关联
start: ;程序执行入口
mov ax,data
mov ds,ax ;设置数据段
lea si,string ;把字符串的偏移地址放在si中
mov cx,count ;把字符串的长度放在循环计数器CX中
next:
cmp byte ptr [si],'&' ;逐个字节比较字符是否是‘&’
jnz next1 ;当前字符不是‘&’时继续比较下一个字符
mov byte ptr [si],20h ;当字符为‘&’时,则用空格替换
next1:
inc si ;将偏移地址指向下一个字符
loop next ;字符串未结束时循环比较,结束时退出循环
mov ax,4c00h ;设置正常退出参数
int 21h ;调用DOS 21h中断,正常退出程序
code ends ;代码段结束
end start ;源代码结束,并指出程序入口
STRING DB 'The date is FEB&03' ;定义字符串
count equ $-string ;计算字符串的长度
data ends ;数据段结束
code segment ;代码段开始
assume ds:data,cs:code ;设置段寄存器与各段的关联
start: ;程序执行入口
mov ax,data
mov ds,ax ;设置数据段
lea si,string ;把字符串的偏移地址放在si中
mov cx,count ;把字符串的长度放在循环计数器CX中
next:
cmp byte ptr [si],'&' ;逐个字节比较字符是否是‘&’
jnz next1 ;当前字符不是‘&’时继续比较下一个字符
mov byte ptr [si],20h ;当字符为‘&’时,则用空格替换
next1:
inc si ;将偏移地址指向下一个字符
loop next ;字符串未结束时循环比较,结束时退出循环
mov ax,4c00h ;设置正常退出参数
int 21h ;调用DOS 21h中断,正常退出程序
code ends ;代码段结束
end start ;源代码结束,并指出程序入口
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询