马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在编写的时候出现以下调试错误:
1、字符串中的单引号',造成编译错误,提前结束了字符串的定义
2、要用字节型比较,al,非axassume cs:code
data segment
db 'Beginner',39,'s All-purpose Symbolic Instruction Code.',0
data ends
stack segment
dw 16 dup(0) ;32B
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,32
mov ax,data
mov ds,ax
mov si,0
call letterc
mov ax,4c00h
int 21h
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
letterc:
;参数:ds=要转换的字符串段地址,si=要转换的字符串的起始地址,字符串要以0结束
;返回值:将字符串转换为全大写,遇0结束转换
;此程序要求栈段的长度为32B
push ds
push si
push ax
lt_chge:
mov al,ds:[si]
cmp al,0
je lt_ok
cmp al,61h
jb lt_s
cmp al,7ah
ja lt_s
sub al,20h
mov byte ptr ds:[si],al
lt_s: inc si
jmp lt_chge
lt_ok:
pop ax
pop si
pop ds
ret
code ends
end start
|