汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了代码如下:DATA SEGMENTDD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12COUNT db $-dD1m1 db '1,4,-5,-2,23,4

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 10:43:30
汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了代码如下:DATA SEGMENTDD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12COUNT db $-dD1m1 db '1,4,-5,-2,23,4

汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了代码如下:DATA SEGMENTDD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12COUNT db $-dD1m1 db '1,4,-5,-2,23,4
汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了
代码如下:
DATA SEGMENT
DD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12
COUNT db $-dD1
m1 db '1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12',0dh,0ah,'gz= '
gz db 0
db 0dh,0ah,'z= '
z db 0
db 0dh,0ah,'lz= '
lz db 0
db 0dh,0ah,'11041905 12','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET DD1
MOV CH,0
MOV CL,COUNT
AGAIN:
MOV AL,[SI]
CMP AL,0
JG GG
JL LL
INC Z
JMP N1
GG:
INC GZ
JMP N1
LL:
INC LZ
N1:
INC SI
LOOP AGAIN
MOV AL,30H
ADD GZ,AL
ADD Z,AL
ADD LZ,AL
MOV AH,9
MOV DX,OFFSET M1
INT 21H
MOV AH,4CH ;返回DOS
INT 21H
MAIN ENDP
CODE ENDS
END START
怎么才能显示正确的数字呢?

汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了代码如下:DATA SEGMENTDD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12COUNT db $-dD1m1 db '1,4,-5,-2,23,4
0到9的ASCII码是30H-39H 大于这个数就应该是显示其它的字符.
需要用函数进行转换再写入,先把GZ Z IZ定义为2字节,函数参数共两个:
bx为要写入的地址,al为要转换的数字.
这样调用:mov bx,offset gz
mov al,gz
call display
display:
push ax ;保护现场
push cx
push dx
mov dh,al ;暂时存放al的值
mov ch,2
mov cl,4
shr al,cl ;先写入高位
d1:
and al,0fh
cmp al,10
jb d2
add al,7
d2:
add al,48
mov dl,al
mov [bx],dl ;写入dl
mov al,dh
inc bx
dec ch
jnz d1
pop dx ;恢复现场
pop cx
pop ax
ret

汇编语言:统计从20H单元开始的10个带符号的数中,正数.负数.零的个数 汇编语言统计一组数中的正数,负数和零的个数并显示.为什么输出超过10的时候显示的是ASCII码了代码如下:DATA SEGMENTDD1 db 1,4,-5,-2,23,43,24,-12,0,25,-56,0,-64,0,83,52,58,0,9,12COUNT db $-dD1m1 db '1,4,-5,-2,23,4 编写汇编程序统计BUF字数据区第一个零数据后的个数据中正数及负数的个数汇编语言 汇编语言:一组有符号整数,编写程序分别统计正数的个数、负数的个数和0的个数 13、 以下程序是统计一组数据中正数的和、正数的个数;零的个数;负数的和,负数的个数.数据以-999为结束 用java语言解答输入10个整数,统计其中的正数,负数和零的个数 输入10个整数,统计并输出其中正数、负数和零的个数. 已知array为字数组,有10个元素,试统计正数,负数,0的个数的汇编语言程序 任意输入100个整数,分别统计其中的正数、负数和零的个数.这是一道编写程序的作业题! c语言解输入n和相应的n个数,统计输入的数中负数、零及正数的个数输入n和相应的n个数,统计输入的数中负数、零及正数的个数 输入一组非零整数(以输入零作为输入结束标志)到一维数组中,设计程序,求出这组数的平均值,并统计出正数和负数个数 填空,统计一组数据中正数的和、正数的个数;零的个数;负数的和,负数的个数.数据以-999为结束.int sign( ) {int b;if(a>0) b=1;else if(a==0) b=0;else b=-1;return b;}main(){int sum[3]={0},x; /*sum[0]为负数的和,sum[ 汇编语言 输入10-20个有符号的十进制数,并统计大于零,小于零,等于零的个数 编一个程序,输入10个整数,统计并输 出其中正数、负数和零的个数. 编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数.用指针方式 汇编语言问题 判断BUF中的数是正数,负数,还是0,并分别统计它们的个数判断BUF中的数是正数,负数,还是0,并分别统计它们的个数DATA SEGMENTBUF DB 1,-1,-2,-3,-0 A DB 0B DB 0D DB 0N EQU 5DATA ENDSCODE SEGMENTASSUME 跪求大神用C语言写下面的程序T^T急求 输入n和相对应的n个数,统计输入的数中的负数,零及正数的个跪求大神用C语言写下面的程序T^T急求输入n和相对应的n个数,统计输入的数中的负数,零及正 c++求一组非0整数的平均值,并统计出这一组数中正数和负数的个数.求一组非0整数的平均值,并统计出这一组数中正数和负数的个数.具体要求如下:定义一维数组int a[20]:输入一组非0整数(以