C语言问题求助,求注解一段程序,新人表示看不懂

C语言问题求助,求注解一段程序,新人表示看不懂,第1张

键盘输入一个数

如果是负数就取其绝对值,如果是0就打印出ling

先统计这个数是几位数

再按这个位数建立一个数组m

然后从个位开始逐个取出每一位的数字,从后往前填写到m里面

最后从0开始遍历数组m

并用拼音打印出m中的每一个数字

----------------

所以,这个程序就是接收一个数字,然后翻译成拼音。

比如输入235,输出 er san wu

1数组中求最大数

DATAS SEGMENT

max dw 14h,65h,454h,9h,87,248

num dw $-max

DATAS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS

main proc far

START:

push ds

mov ax,0

push ax

MOV AX,DATAS

MOV DS,AX

mov si,offset max;将数组的首地址送给si,以便用si对数组 *** 作

mov ax,num;算出数组的个数,控制循环次数

mov cl,2

div cl

mov cx,ax

mov bx,0

next:

push bx;压入栈,保护数据

push cx

mov bx,[si]

call output;调用子程序,输出数组中的数据

mov dl,32;输出空格

int 21h

pop cx

pop bx

cmp bx,[si];判断比较,以找出最大值

jl dig

jmp l1

dig:

mov bx,[si]

l1:

add si,2

loop next

call crlf;回车换行

call output;输出最大值

ret

main endp

output proc near;是个将bx中二进制数转换为十六进制的子程序

mov cl,4

mov di,4

shift:

rol bx,cl

mov ax,bx

and al,0fh

cmp al,09h

jg l2

add al,30h

jmp l3

l2:add al,37h

l3:mov dl,al

mov ah,2

int 21h

dec di

jnz shift

ret

output endp

crlf proc near;回车换行的子程序

mov dl,0dh

mov ah,2

int 21h

mov dl,0ah

mov ah,2

int 21h

ret

crlf endp

CODES ENDS

END main

2求数组中负数的个数

DATA SEGMENT

array DW 12H,14,-5,-10H,33,40,48,-22,-32,10H

NDATA DW 10 DUP(0)

N DW 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

main proc far

START: push ds

mov ax,0

push ax

MOV AX,DATA

MOV DS,AX

mov cx,10

mov si,offset array

l1:mov bx,[si]

push cx

call output;输出数组里的数据

mov dl,32

int 21h

pop cx

add si,2

loop l1

MOV BX,0

MOV SI,0

MOV DI,0

MOV CX,10

NEXT: MOV AX,ARRAY[BX]

TEST AX,8000H;判别是否为负数

JZ L

INC N ;统计负数的个数

MOV NDATA[DI],AX

ADD DI,2

L: ADD BX,2

LOOP NEXT

MOV DL,0AH

MOV AH,2

INT 21H

MOV DL,0DH

MOV AH,2

INT 21H

MOV DX,N

ADD DL,30H

MOV AH,2

INT 21H

ret

main endp

output proc near

mov cl,4

mov di,4

shift:

rol bx,cl

mov ax,bx

and al,0fh

cmp al,09h

jg l2

add al,30h

jmp l3

l2:add al,37h

l3:mov dl,al

mov ah,2

int 21h

dec di

jnz shift

ret

output endp

CODE ENDS

END main

@Resource(name="myarray")

String[] arrayData;

在配置文件里这样定义

<util:list id="myarray">

<value>hhhh</value>

<value>kkkk</value>

<value>oooo</value>

</util:list>

注意引入namingspace

xmlns:util=">

以上就是关于C语言问题求助,求注解一段程序,新人表示看不懂全部的内容,包括:C语言问题求助,求注解一段程序,新人表示看不懂、汇编语言 编程:数组中求最大数 求数组中负数的个数 (最好注解说明下一些重要语句)、java注解如何实现 spring 的数组的定义和注入等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10120923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存