求汇编程序 急急急急 十万火急
急求汇编程序 要求能实现输入,查找,统计,输出
如:输入一个字符串 查找有没有A(或60)要是有的话统计一共有几个A(或60)然后把结果输出
二进制的数转换成十六进制(或十进制)以ASCII码输出
“进制的数转换成十六进制(或十进制)以ASCII码输出”意思是
输入一个字符串(是二进制的籽) 然后把二进制的数转换成十六进制(或十进制)以ASCII码输出 能满足两位数的这样输出就行
还有 数据传递问题
如 A DB (..........)
B DB ..........
..........
合并后再传递给C 然后输出
[解决办法]
DATA SEGMENT
VAR DB 23,34,45,60,90,00;00为结束
NUM DB 0 ;取一个变量
N EQU $-VAR
STR1 DB 'FIND! ', '$ '
STR2 DB 'NOFIND! ' '$ '
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
BG: MOV AX,DATA
MOV DS,AX
MOV CX,N
LEA SI,VAR
NEXT:
CMP BYTE PTR[SI],00
JE FINDOVER ;检查是否结束查找
CMP BYTE PTR[SI],60 ;是否为A,
JNE NOEQ ;为不为A则转
INC NUM ;为A计数
NOEQ: INC SI
LOOP NEXT
FINDOVER:
CMP NUM,00 ;看看计数器里有没有值
JNE LP1 ;有A则转
MOV AH,9 ;没有A提示
LEA DX,STR2
INT 21H
JMP EXIT
LP1:
;假设最多9个
MOV AL,NUM ;显示个数
ADD AL,30H
MOV DL,AL
MOV AH,2
int 21H ;2号功能调用
MOV AH,9 ;输出提示
LEA DX,STR1
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END BG
;在你的程序基础上做的修改...
;没有调试工具,你还得自己试试哈