汇编的宏问题,请大家帮个忙!

jihuaikui 2007-11-30 05:05:57
我利用宏编了一个指令CLRB
该宏是用空格将字符区的替换掉!
可是我在调用时出现了错误!提示我:
这条指令clrb ary,count 上有个错误:EXTRA CHARACTERS ON LINE
程序如下,请问怎么改正!
;This is a Macro program for use blank
;**********************************************************
clrb macro addr,len ;define a macro
mov ax,' ' ;blank
mov ax,&len ;get the times of loop
div ax,2
mov ah,0
mov cx,ax
lea bx,&addr ;get the first address of string
next:
mov bx,ax ;replace char with blank
add bx,2
loop next
endm
;**********************************************************

;This is a main program for repalce string

.386
data segment
ary db "String is null"
count dw 12
data ends

code segment
assume cs:code,ds:data
main proc far
mov ax,data
mov ds,ax

clrb ary,count

mov dl,ary[4]
mov ah,2
int 21h
mov ah,4ch
int 21h
main endp
code ends
end main
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jihuaikui 2007-12-01
  • 打赏
  • 举报
回复
恩非常感谢,我已经改过来了
BAYNPU 2007-11-30
  • 打赏
  • 举报
回复
请试一试:
clrb macro addr,len ;define a macro
mov ax,' ' ;blank
mov ax,&len ;get the times of loop
div ax,2
mov ah,0
mov cx,ax
lea bx,&addr ;get the first address of string
next:
mov bx,ax ;replace char with blank
add bx,2
loop next
endm
;**********************************************************

;This is a main program for repalce string

.386
data segment
ary db "String is null"
count dw 12
data ends

code segment
assume cs:code,ds:data
main proc far
mov ax,data
mov ds,ax
mov dl,ary[4]
mov ah,2
int 21h
mov ah,4ch
int 21h
main endp
code ends
end main

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧