汇编语言程序设计题目,在线等答案!!!急!

9.统计字符串‘CHINABEIJING$’的长度(假定串以‘$’结束)... 9. 统计字符串‘CHINA BEIJING $’的长度(假定串以‘$’结束) 展开
 我来答
mmocean
2011-12-02 · TA获得超过113个赞
知道答主
回答量:75
采纳率:0%
帮助的人:82.5万
展开全部
;----------------------------------
;我帮你写了个可以输入的然后统计长度
;若直接统计你题目给定的字符串也可以写一个

;********************************数据段
data segment
array db 100 DUP(0) ;数组开辟空间
string1 db "Please input a string ended with $" ;字符串以$结束
string2 db "The length of string is: $"
crlf db 13,10,13,10,"$" ;13回车,10换行
data ends
;**********************************
;**********************************代码段
code segment
assume ds:data,cs:code ;段对应关系的说明
main proc far ;far子程序调用时的参数
;-----------------------------------------
start:
push ds
sub ax,ax
push ax
;-------------------------------------------------
mov ax,data ;将数据传送如数据段
mov ds,ax
;---------------------------------------
;主程序开始
;---------------------------------------------------------
;显示"Please input a string ended with $"的内容
mov ah,09h
lea dx,string1
int 21h
mov dl,24h ;显示'$'
mov ah,02h
int 21h
mov dl,3ah ;显示':'
mov ah,02h
int 21h
;----------------------------------------------------------
;键盘输入字符串以$结束
mov bx,offset array ;设定基址
mov di,0
input:
mov ah,01h
int 21h
cmp al,24h ;和'$'进行比较
je next
mov [bx+di],al
inc di
jmp input
next:
mov [bx+di],24h ;存储$符号
;--------------------------------
;统计
mov si,0
mov cl,0
again:
mov al,[bx+si]
cmp al,24h
je next2
inc cl
inc si
jmp again
next2:
mov ah,09h
lea dx,crlf
int 21h
mov ah,09h
lea dx,string2
int 21h

add cl,30h
mov dl,cl
mov ah,02h
int 21h

ret

main endp ;主函数结束
;********************************************
code ends ;代码段定义结束
end start ;这个程序段全部结束,程序段不但有代码段还有其他段
做而论道
高能答主

2011-12-03 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
DATA SEGMENT
NUM DB 'CHINA BEIJING DLKL;@#!^%*%^$' ;在这里写入字符传,以$结尾
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX

LEA SI, NUM
MOV CL, 0
LOP:
MOV AL, [SI]
CMP AL, '$'
JE DISP
INC CL
INC SI
JMP LOP
DISP:
MOV AL, CL
MOV AH, 0
MOV BL, 16
DIV BL
PUSH AX
CMP AL, 10
JB A30
ADD AL, 7
A30:
ADD AL, 30H
MOV DL, AL
MOV AH, 2
INT 21H

POP AX
CMP AH, 10
JB A302
ADD AH, 7
A302:
ADD AH, 30H
MOV DL, AH
MOV AH, 2
INT 21H

MOV DL, 'H'
MOV AH, 2
INT 21H

MOV AH, 4CH
INT 21H

CODE ENDS

END START

程序运行后,将以16进制形式显示长度。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式