8086汇编语言上机考试题(20道)

  1. 请任意输入一个字符串,将其中A换成CC,并将结果显示在屏幕上。

DATAS SEGMENT

    buf db 100

     db ?

     db 100 dup(?)  

    replace db 'C'

    output db 100 dup(?)

    Stop db '$'

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H        ;输入字符串

    

    lea si,buf+1   ;si指向字符串长度

    mov cx,[si]

    mov ch,0

    lea di,output  ;di指向输出空间

    

repeat_loop:       ;依次读取字符,判断字符是否为A

mov al,[si+1]  ;si指向字符串首字符

cmp cx,0

je end_loop

cmp al,'A'

jne copy_char

mov bl,replace ;将A替换为CC

mov [di],bl

inc di

mov [di],bl

jmp oo

copy_char:          ;复制字符

mov [di],al;

oo:

inc si

inc di

loop repeat_loop

   

end_loop: ;结束循环,输出

mov bl,Stop

mov [di],bl

lea dx,output

mov ah,09H

int 21H   

    

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 请任意输入一个字符串,将其中大写字母换成小写字母,并将结果显示在屏幕上。

DATAS SEGMENT

    buf db 100

     db ?

     db 100 dup(?)  

    output db 100 dup(?)

    Stop db '$' 

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

lea dx,buf    ; 输入字符串

mov ah,0AH

int 21H

    lea si,buf+1   ;si指向字符串长度

    mov cx,[si]

    mov ch,0

    lea di,output  ;di指向输出空间

    

repeat_loop:       ;依次读取字符,判断字符是否为A

mov al,[si+1]  ;si指向字符串首字符

cmp cx,0

je end_loop

cmp al,40H

jbe copy_char

cmp al,5BH

jae copy_char

mov bl,al ;将大写字母替换为小写字母

add bl,20H

mov [di],bl

jmp next_char

copy_char:          ;复制字符

mov [di],al;

next_char:

inc si

inc di

loop repeat_loop

   

end_loop: ;结束循环,输出

mov bl,Stop

mov [di],bl

lea dx,output

mov ah,09H

int 21H       

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 请任意输入一个字符串,将其中的英文字母全部删除,并将结果显示在屏幕上。

DATAS SEGMENT

    buf db 100

     db ?

     db 100 dup(?)  

    output db 100 dup(?)

    Stop db '$' 

    cr_1 db 0ah,0dh,'$'

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf    ; 输入字符串

mov ah,0AH

int 21H

lea dx,cr_1

mov ah,09h

int 21h

    

    lea si,buf+1    ;si指向字符串长度

    mov cx,[si]

    mov ch,0

    lea di,output   ;di指向输出空间

    

repeat_loop:    ;依次读取字符,判断字符是否为英文字母

mov al,[si+1]   ;si指向字符串首字符

cmp cx,0

je end_loop

cmp al,'A'      ;41判断小于A(非字母)

jb copy_char

cmp al,'z' ;7A判断大于z(非字母)

ja copy_char

cmp al,'Z' ;5A判断小于Z(字母)

jbe next_char

cmp al,'a' ;61判断大于a(字母)

ja next_char

jmp copy_char

next_char:

inc si

cmp cx,1

je end_loop

loop repeat_loop

copy_char:          ;复制字符

mov [di],al

inc si

inc di

cmp cx,1

je end_loop

loop repeat_loop

end_loop:

mov bl,Stop

mov [di],bl

lea dx,output

mov ah,09H

int 21H       

      

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其修改为disk, 并将结果在显示器上显示。

DATAS SEGMENT

    buf db 5

     db ?

     db 5 dup(?)  

    

    sign db 0dH,0aH

    data_str db 'data'

    name_str db 'name'

    time_str db 'time'

    file_str db 'file' 

    code_str db 'code' 

    path_str db 'path' 

    user_str db 'user' 

    exit_str db 'exit' 

    quit_str db 'quit'

    text_str db 'text' 

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    MOV ES,AX

    lea dx,buf    ;输入字符串

mov ah,0AH

int 21H    

    

    mov cx,10 ;计数器

    mov ch,0

lea bx,data_str ;bx取第一个单词首地址

waixxunhuan:

push cx ;循环CX入栈

mov cx,4 ;设置内循环CX

    mov ch,0

mov si,bx ;si指向每个单词首地址

lea di,buf+2 ;di始终指向被查单词首地址

repz cmpsb ;长度为4进行串查找

jz modify_string ;相等跳到更改程序modify_string

add bx,4 ;更改bx使其指向下一个单词首地址

pop cx ;循环CX出栈

cmp cx,1

je end_loop

loop waixxunhuan

modify_string:

sub si,4 ;cmpsb后si自动加4,所以要减4

mov al,'d'

mov [si],al

mov al,'i'

mov [si+1],al  

mov al,'s'

mov [si+2],al   

mov al,'k'

mov [si+3],al      

end_loop:

mov al,'$'

lea si,text_str

add si,4 ;将$存进单词末尾

mov [si],al

lea si,data_str

mov dx,si ;此时bx变了,但si没变,仍指向此次循环单词末尾

mov ah,09H ;输出单词

int 21H

 

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 现有一组字符串为data,name,time,file,code,path,user,exit,quit,text,请编写程序从键盘输入4个字符的字符串,若存在将其删除, 并在显示器上显示。

DATAS SEGMENT
    buf db 5
        db ?
        db 5 dup(?)  
    output db 50 dup(?)
    
    data_str db 'data';003C
    name_str db 'name'
    time_str db 'time'
    file_str db 'file' 
    code_str db 'code' 
    path_str db 'path' 
    user_str db 'user' 
    exit_str db 'exit' 
    quit_str db 'quit'
    text_str db 'text' 
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV ES,AX

    lea dx,buf               ;输入字符串
    mov ah,0AH
    int 21H    
    
    mov cx,10                ;计数器
    mov ch,0
    lea si,data_str            ;bx取第一个单词首地址
    lea ax,output            ;ax取输出缓冲区output首地址
    
waixunhuan:
    push cx                    ;循环CX入栈
    
    mov cx,4                ;设置内循环CX
    mov ch,0
    mov dx,si                ;用dx保存当次单词首地址
    lea di,buf+2            ;di始终指向被查单词首地址
    repz cmpsb                ;长度为4进行串查找
    jnz copy_letter            ;不相等就将字符串搬到output中
    
    pop cx                    ;循环CX出栈
    
    cmp cx,1
    jbe end_loop
    
    loop waixunhuan
    
copy_letter:    
    mov si,dx        ;由于执行cmpsb,si已不再指向单词首地址,用之前存的dx使si重新指向首地址
    pop cx            ;由于跳转,使第50行未执行,补上一遍
    push cx            ;存上外循环次数
    mov cx,4
    mov ch,0
    mov di,ax
    rep movsb                ;字符串移动,si自动加4
    
    add ax,4                ;只需要改output地址
    pop cx                    ;即将loop,让cx出来
    cmp cx,1
    jbe end_loop    
    loop waixunhuan

end_loop:    

    mov al,'$'
    lea si,output
    cmp cx,1
    je    add2            ;如果cx=1,说明没有相同单词,所以output中存了10个单词(40个字母)
    jne add1            ;如果cx>1,说明有相同单词,所以output中存了9个单词(36个字母)
add1:
    add si,36            
    jmp end3        
    
add2:
    add si,40    
    jmp end3    
end3:    
    mov [si],al            ;将$存进单词末尾
    lea si,output        ;取output首地址
    mov dx,si            
    mov ah,09H            ;输出单词
    int 21H

         
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

  1. 键盘输入一个十进制数(字类型),以十六进制的形式输出。

DATAS SEGMENT

    buf dw 6

     dw ?

     dw 6 dup(?)

    mulnum dw 10000,1000,100,10,1

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    lea si,buf+1

    mov cx,[si]

    mov ch,0

    lea si,buf+2

    

change_num: ;将字符转为数字

mov ax,[si]

sub ax,30H

mov [si],ax

inc si

loop change_num

    lea si,buf+1

    mov cx,[si] ;计数器重置

    mov ch,0

    lea si,buf+2 ;si指向字符串

    

    lea di,mulnum ;因输入位数不同对di进行操作

    add di,10

    mov al,cl

    mov bl,2

    mul bl

    sub di,ax ;使di指向相应位数对应的位置

    

    mov bx,0 ;bx置零用于存累加结果

    mov ax,0

    

multi_num: ;乘法得到字符串代表的值

push bx

mov ax,[si]

mov ah,0

mov dx,0

mov bx,[di]

mul bx ;乘法结果存到dx中

pop bx

add bx,ax ;将乘法结果累加到bx中

add si,1

add di,2

loop multi_num

shuchu:

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

;输出第1个数字

mov cx,4

mov ch,0

mov dh,bh

shr dh,cl ;得到高8位中的高位

and dh,0FH

cmp dh,09H

jbe shuzi1

ja  zimu1

shuzi1:

add dh,30H

jmp shuchu1

zimu1:

add dh,37H

jmp shuchu1

shuchu1:

mov dl,dh

mov ah,02H ;输出高8位中的高位

int 21H

;输出第2个数字

mov dh,bh

and dh,0FH ;得到高8位中的低位

cmp dh,09H

jbe shuzi2

ja  zimu2

shuzi2:

add dh,30H

jmp shuchu2

zimu2:

add dh,37H

jmp shuchu2

shuchu2:

mov dl,dh

mov ah,02H ;输出高8位中的低位

int 21H

;输出第3个数字

mov dl,bl

shr dl,cl ;得到低8位中的高位

and dl,0FH

cmp dl,09H

jbe shuzi3

ja  zimu3

shuzi3:

add dl,30H

jmp shuchu3

zimu3:

add dl,37H

jmp shuchu3

shuchu3:

mov ah,02H ;输出低8位中的高位

int 21H

;输出第4个数字

mov dl,bl

and dl,0FH ;得到低8位中的低位

cmp dl,09H

jbe shuzi4

ja  zimu4

shuzi4:

add dl,30H

jmp shuchu4

zimu4:

add dl,37H

jmp shuchu4

shuchu4:

mov ah,02H ;输出低8位中的低位

int 21H

mov dl,48H

mov ah,02H

int 21H

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 键盘输入一个十进制数(字类型),以二进制的形式输出。

DATAS SEGMENT

    buf dw 6

     dw ?

     dw 6 dup(?)

    mulnum dw 10000,1000,100,10,1

    num dw 4 dup(?)

    divider db 2

    output db 16 dup(?),'$'

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    lea si,buf+1

    mov cx,[si]

    mov ch,0

    lea si,buf+2

    

change_num: ;将字符转为数字

mov ax,[si]

sub ax,30H

mov [si],ax

inc si

loop change_num

    lea si,buf+1

    mov cx,[si] ;计数器重置

    mov ch,0

    lea si,buf+2 ;si指向字符串

    

    lea di,mulnum ;因输入位数不同对di进行操作

    add di,10

    mov al,cl

    mov bl,2

    mul bl

    sub di,ax ;使di指向相应位数对应的位置

    

    mov bx,0 ;bx置零用于存累加结果

    mov ax,0

    

multi_num: ;乘法得到字符串代表的值

push bx

mov ax,[si]

mov ah,0

mov dx,0

mov bx,[di]

mul bx ;乘法结果存到dx中

pop bx

add bx,ax ;将乘法结果累加到bx中

add si,1

add di,2

loop multi_num

shuchu:

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

;得到第1个数字

lea si,num

mov cx,4

mov ch,0

mov dh,bh

shr dh,cl ;得到高8位中的高位

and dh,0FH

mov [si],dh

;得到第2个数字

add si,2

mov dh,bh

and dh,0FH ;得到高8位中的低位

mov [si],dh

;得到第3个数字

add si,2

mov dl,bl

shr dl,cl ;得到低8位中的高位

and dl,0FH

mov [si],dl

;得到第4个数字

add si,2

mov dl,bl

and dl,0FH ;得到低8位中的低位

mov [si],dl

mov ax,0

mov bx,0

mov dx,0

    mov cx,4 ;计数器重置

    mov ch,0

    lea si,num ;si指向字符串,一次+2

    lea di,output ;di指向输出output,一次+1

    add di,3 ;di指向第13位

    mov ax,[si]

    

;存16-13位    

erjinzhi1:

push di

lea di,divider

mov bh,[di] ;di指向除数2

div bh

pop di

cmp al,0

je Atiaozhuan1

ja Atiaozhuan2

  Atiaozhuan1:

    mov [di],ah ;存余数

    dec di

    cmp cx,1

    je zhongji1

  

    loop erjinzhi1

    

  Atiaozhuan2:

mov [di],ah

dec di

mov ah,0 ;存余数

cmp cx,1

    je zhongji1

loop erjinzhi1

zhongji1:

mov ax,0

mov bx,0

mov dx,0

    mov cx,4 ;计数器重置

    mov ch,0

    add si,2

    add di,8

mov ax,[si]

;存12-9位    

erjinzhi2:

push di

lea di,divider

mov bh,[di] ;di指向除数2

div bh

pop di

cmp al,0

je Btiaozhuan1

ja Btiaozhuan2

  Btiaozhuan1:

    mov [di],ah ;存余数

    dec di

    cmp cx,1

    je zhongjie2

    

    loop erjinzhi2

    

  Btiaozhuan2:

mov [di],ah

    dec di

mov ah,0

cmp cx,1

    je zhongjie2

    

loop erjinzhi2

zhongjie2:

mov ax,0

mov bx,0

mov dx,0

    mov cx,4 ;计数器重置

    mov ch,0

    add si,2

    add di,8

mov ax,[si]

;存8-5位    

erjinzhi3:

push di

lea di,divider

mov bh,[di] ;di指向除数2

div bh

pop di

cmp al,0

je Ctiaozhuan1

ja Ctiaozhuan2

  Ctiaozhuan1:

    mov [di],ah ;存余数

    dec di

    cmp cx,1

    je zhongji3

    

    loop erjinzhi3

    

  Ctiaozhuan2:

mov [di],ah

    dec di

mov ah,0

    cmp cx,1

    je zhongji3

    

loop erjinzhi3

zhongji3:

mov ax,0

mov bx,0

mov dx,0

    mov cx,4 ;计数器重置

    mov ch,0

    add si,2

    add di,8

mov ax,[si]

;存4-1位    

erjinzhi4:

push di

lea di,divider

mov bh,[di] ;di指向除数2

div bh

pop di

cmp al,0

je Dtiaozhuan1

ja Dtiaozhuan2

  Dtiaozhuan1:

    mov [di],ah ;存余数

    dec di

    cmp cx,1

    je zhongji4

    

    loop erjinzhi4

    

  Dtiaozhuan2:

mov [di],ah

dec di

mov ah,0

    cmp cx,1

    je zhongji4

    

loop erjinzhi4

zhongji4:

lea si,output

mov cx,16

mov ch,0

zhuanshuzi:

mov al,[si]

add al,30H

mov [si],al

inc si

loop zhuanshuzi

lea si,output

mov dx,si;输出

mov ah,09H

int 21H

mov dl,42H

mov ah,02H

int 21H

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 键盘输入一个二进制数(字类型),以十六进制的形式输出。

DATAS SEGMENT

    buf dw 17

     dw ?

     dw 17 dup(?)

    mulnum dw 32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    lea si,buf+1

    mov cx,[si]

    mov ch,0

    lea si,buf+2

    

change_num: ;将字符转为数字

mov ax,[si]

sub ax,30H

mov [si],ax

inc si

loop change_num

    lea si,buf+1

    mov cx,[si] ;计数器重置

    mov ch,0

    lea si,buf+2 ;si指向字符串

    

    lea di,mulnum ;输入位数固定为16位

    ;add di,10

    ;mov al,cl

    ;mov bl,2

    ;mul bl

    ;sub di,ax ;使di指向相应位数对应的位置

    

    mov bx,0 ;bx置零用于存累加结果

    mov ax,0

    

multi_num: ;乘法得到字符串代表的值

push bx

mov ax,[si]

mov ah,0

mov dx,0

mov bx,[di]

mul bx ;乘法结果存到dx中

pop bx

add bx,ax ;将乘法结果累加到bx中

add si,1

add di,2

loop multi_num

shuchu:

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

;输出第1个数字

mov cx,4

mov ch,0

mov dh,bh

shr dh,cl ;得到高8位中的高位

and dh,0FH

cmp dh,09H

jbe shuzi1

ja  zimu1

shuzi1:

add dh,30H

jmp shuchu1

zimu1:

add dh,37H

jmp shuchu1

shuchu1:

mov dl,dh

mov ah,02H ;输出高8位中的高位

int 21H

;输出第2个数字

mov dh,bh

and dh,0FH ;得到高8位中的低位

cmp dh,09H

jbe shuzi2

ja  zimu2

shuzi2:

add dh,30H

jmp shuchu2

zimu2:

add dh,37H

jmp shuchu2

shuchu2:

mov dl,dh

mov ah,02H ;输出高8位中的低位

int 21H

;输出第3个数字

mov dl,bl

shr dl,cl ;得到低8位中的高位

and dl,0FH

cmp dl,09H

jbe shuzi3

ja  zimu3

shuzi3:

add dl,30H

jmp shuchu3

zimu3:

add dl,37H

jmp shuchu3

shuchu3:

mov ah,02H ;输出低8位中的高位

int 21H

;输出第4个数字

mov dl,bl

and dl,0FH ;得到低8位中的低位

cmp dl,09H

jbe shuzi4

ja  zimu4

shuzi4:

add dl,30H

jmp shuchu4

zimu4:

add dl,37H

jmp shuchu4

shuchu4:

mov ah,02H ;输出低8位中的低位

int 21H

mov dl,48H

mov ah,02H

int 21H

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 键盘输入一个二进制数(字类型),以十进制的形式输出。

DATAS SEGMENT

    buf dw 17

     dw ?

     dw 17 dup(?)

    mulnum dw 32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1

    divnum dw 10000,1000,100,10,1

    output db 5 dup(?)

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    lea si,buf+1

    mov cx,[si]

    mov ch,0

    lea si,buf+2

    

change_num: ;将字符转为数字

mov ax,[si]

sub ax,30H

mov [si],ax

inc si

loop change_num

    lea si,buf+1

    mov cx,[si] ;计数器重置

    mov ch,0

    lea si,buf+2 ;si指向字符串

    

    lea di,mulnum ;输入位数固定为16位

    

    mov bx,0 ;bx置零用于存累加结果

    mov ax,0

    

multi_num: ;乘法得到字符串代表的值

push bx

mov ax,[si]

mov ah,0

mov dx,0

mov bx,[di]

mul bx ;乘法结果存到dx中

pop bx

add bx,ax ;将乘法结果累加到bx中

add si,1

add di,2

loop multi_num

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

mov ax,bx ;将乘法结果存到ax中

mov bx,0

mov dx,0

mov cx,5

mov ch,0

lea si,divnum

lea di,output

;按位输出

xunhuan:

mov bx,[si] ;bx为除数

div bx

add ax,30H ;转为输出用数字

mov [di],al

mov ax,0

mov ax,dx

mov dx,0

add si,2

inc di

loop xunhuan

mov cx,5

mov ch,0

lea si,output

shuchu:

mov dl,[si]

cmp dl,30H ;看output当前第一位是否是0,若是判断下一位,若不是进行输出

ja step2

je nextshu

nextshu:

inc si

cmp cx,1 ;若output为0,直接输出0

je zero

loop shuchu

step2:

mov dl,[si]

mov ah,02H

int 21H

inc si

cmp cx,1 ;若输出到最后一位,直接结束

je jieshu

loop step2

zero:

mov dl,30H

mov ah,02H

int 21H

jieshu:

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 键盘输入一个十六进制数(字类型),以十进制的形式输出。
  2. 键盘输入一个十六进制数(字类型),以二进制的形式输出。(在一起)

DATAS SEGMENT

    buf dw 5

     dw ?

     dw 5 dup(?)

    erjinzhi dw 16 dup(?),'$'

    mulnum dw 32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1

    divnum dw 10000,1000,100,10,1

    output db 5 dup(?)

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    lea si,buf+1

    mov cx,[si]

    mov ch,0

    lea si,buf+2

    

change_num: ;将字符转为数字

mov al,[si]

mov ah,0

cmp ax,39H

jbe tiaozhuan1

ja tiaozhuan2

tiaozhuan1: ;小于等于9

sub ax,30H

jmp tiaozhuan3

tiaozhuan2: ;大于等于A

sub ax,37H

jmp tiaozhuan3

tiaozhuan3:

mov [si],al

inc si

loop change_num

;转二进制

mov ax,0

mov dx,0

mov bx,0

mov cx,4

lea si,buf

add si,2 ;si指向16进制buf

lea di,erjinzhi ;di指向2进制输出空间erjinzhi

add di,3

zhuan_2:

push cx

mov cx,4

mov al,[si]

mov bl,2

  chufa:

   div bl

   mov [di],ah

   mov ah,0

   dec di

   loop chufa

   pop cx

   inc si

   add di,8

   loop zhuan_2

  

    mov cx,16 ;计数器重置

    mov ch,0

    lea si,erjinzhi ;si指向字符串

    

    lea di,mulnum ;输入位数固定为16位

    mov dx,0

    mov bx,0 ;bx置零用于存累加结果

    mov ax,0

    

multi_num: ;乘法得到字符串代表的值

push bx

mov ax,[si]

mov ah,0

mov dx,0

mov bx,[di]

mul bx ;乘法结果存到dx中

pop bx

add bx,ax ;将乘法结果累加到bx中

add si,1

add di,2

loop multi_num

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

mov ax,bx ;将乘法结果存到ax中

mov bx,0

mov dx,0

mov cx,5

mov ch,0

lea si,divnum

lea di,output

;按位输出

xunhuan:

mov bx,[si] ;bx为除数

div bx

add ax,30H ;转为输出用数字

mov [di],al

mov ax,0

mov ax,dx

mov dx,0

add si,2

inc di

loop xunhuan

mov cx,5

mov ch,0

lea si,output

shuchu:

mov dl,[si]

cmp dl,30H ;看output当前第一位是否是0,若是判断下一位,若不是进行输出

ja step2

je nextshu

nextshu:

inc si

cmp cx,1 ;若output为0,直接输出0

je zero

loop shuchu

step2:

mov dl,[si]

mov ah,02H

int 21H

inc si

cmp cx,1 ;若输出到最后一位,直接结束

je jieshu

loop step2

zero:

mov dl,30H

mov ah,02H

int 21H

jieshu:

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

lea si,erjinzhi

mov cx,16

mov ch,0

zhuan01:

mov bl,[si]

add bl,30H

mov [si],bl

inc si

loop zhuan01

lea dx,erjinzhi

mov ah,09H

int 21H

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 键盘输入下列两组十进制数,求其和,并将结果显示在屏幕上

         35789418

         46531425

DATAS SEGMENT

    buf1 db 9

     db ?

     db 9 dup(?)

    buf2 db 9

     db ?

     db 9 dup(?)    

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf1

    mov ah,0AH

    int 21H

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H     

    lea dx,buf2

    mov ah,0AH

    int 21H

   

    mov cx,8

    mov ch,0

    lea si,buf1

    add si,2   

zhuanshuzi1:

mov al,[si]

sub al,30H

mov [si],al

inc si

loop zhuanshuzi1

lea si,buf2

add si,2  

    mov cx,8

    mov ch,0

zhuanshuzi2:

mov al,[si]

sub al,30H

mov [si],al

inc si

loop zhuanshuzi2

    

    mov ax,0

    mov bx,0

    mov dx,0

    mov cx,8

    mov ch,0

    lea si,buf1

    lea di,buf2

    add si,2

    add di,2

    

changjiafa:

mov ah,[si]

mov al,[di]

add ah,al

mov [si],ah

inc si

inc di

loop changjiafa

    lea si,buf1

    add si,9 ;指向末尾

    mov bh,0 ;bh作为进位标志

    mov cx,8

    mov ch,0

panduan:

mov bl,[si]

add bl,bh

cmp bl,10

jae tiaozheng

jb budong

  tiaozheng:

sub bl,10

mov [si],bl

mov bh,1

dec si

cmp cx,1

je end_loop

loop panduan

    

  budong:

   mov [si],bl

mov bh,0

dec si

cmp cx,1

je end_loop

loop panduan

end_loop:

lea si,buf1

add si,2

mov cx,8

mov ch,0

  shuchu:

mov dl,[si]

add dl,30H

mov [si],dl

inc si

loop shuchu

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

lea si,buf1

add si,10

mov dl,[si]

mov dl,'$' ;将回车换为dollar

mov [si],dl

lea dx,buf1

add dx,2

mov ah,09H

int 21H

    

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 输入一个字符串,判断该字符串是否为回文串。如果是回文串,输出yes,否则输出no。回文串就是正读和反读都一样的字符串,如level和noon。

DATAS SEGMENT

    buf db 100

        db ?

        db 100 dup(?)

    Yes db 'yes$'

    No  db 'no$'  

         

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0AH

    int 21H

    

    mov ax,0

    mov bx,0

    mov dx,0

    lea si,buf

    mov al,[si+1]

    mov dh,2

    div dh

    lea si,buf+1 ;取字符串长度

    mov bl,[si]

    lea di,buf+2

    lea si,buf+2 ;取字符串首地址

    add di,bx

    dec di ;取字符串尾地址

    mov cx,0

    add cl,ah

    add cl,al ;设定循环次数

    

    cmp ah,0

    je oushu

    jne jishu

    

oushu:

mov al,[si]

mov bl,[di]

cmp al,bl

jnz butong

inc si

dec di

cmp cx,1

je xiangtong

loop oushu

jishu:    

    

mov al,[si]

mov bl,[di]

cmp al,bl

jnz butong

inc si

dec di

cmp cx,1

je xiangtong

loop jishu

xiangtong:

mov dl,13

mov ah,02H

int 21H

mov dl,10

mov ah,02H

int 21H

lea si,Yes

mov dx,si

mov ah,09H

int 21H

jmp jieshu

butong:

mov dl,13

mov ah,02H

int 21H

mov dl,10

mov ah,02H

int 21H

lea si,No

mov dx,si

mov ah,09H

int 21H

jmp jieshu

jieshu:   

    MOV AH,4CH

    INT 21H

CODES ENDS

END START

  1. 从键盘输入一串可显示字符(以回车符结束),并按字母、数字、空格分类计数,然后显示出这三类统计的结果。

已完成

  1. 将一组有符号数中的负数求和,并统计负数的个数,并在屏幕上以十进制的形式显示结果。

38H,4AH,0C5H,83H,9CH,0B4H,7FH,0C4H,05H,0F5H

DATAS SEGMENT

    num  db 50

        db ?

        db 50 dup(?)    

    nozero_num db 20 dup(?)

    fushu db 20 dup(?)

fushugeshu db 10

    code_2 db 12 dup(0) ;二进制数临时存放

    divnum dw 10000,1000,100,10,1

    output db 5 dup(?)

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    mov ES,AX

    

    lea dx,num

    mov ah,0AH

    int 21H

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

    lea si,num

    inc si

    mov cx,[si]

    mov ch,0

    inc si

change_num: ;将字符转为数字

mov bl,[si]

cmp bl,0DH ;判断回车

je tiaozhuan3

cmp bl,20H ;判断空格

je tiaozhuan3

cmp bl,39H

jbe tiaozhuan1

ja tiaozhuan2

   tiaozhuan1: ;小于等于9

sub bx,30H

jmp tiaozhuan3

   tiaozhuan2: ;大于等于A

sub bx,37H

jmp tiaozhuan3

   tiaozhuan3:

mov [si],bl

inc si

loop change_num

;删除占位的0与空格

  lea di,nozero_num

    lea si,num

    inc si

    mov bx,0

    mov cx,[si]

    mov ch,0

    inc si

delete_0:

mov bl,[si]

push si

cmp bl,20H ;判断空格

je endloop

cmp bl,0 ;判断占位0

jne nextletter1

je zhongji

zhongji:

add si,2

mov bl,[si]

cmp bl,20H

je nextletter2

jne endloop

nextletter1:

mov [di],bl

inc di

jmp endloop

nextletter2:

sub si,2

mov bl,[si]

mov [di],bl

inc di

jmp endloop

endloop:

pop si

inc si

loop delete_0

;删除正数

mov cx,10

mov ch,0

lea si,nozero_num

lea di,fushugeshu

mov dl,[di] ;dl为负数计数器

mov bx,0

mov ax,0

delete_zheng:

mov al,[si]

cmp al,8

jb bianling

add si,2

jmp jieshu

bianling:

mov al,0

mov [si],al

inc si

mov al,[si]

mov al,0

mov [si],al

inc si

dec dl

jieshu:

loop delete_zheng

mov [di],dl ;将负数的个数存到fushugeshu中

;第二次删除占位的0

    lea si,nozero_num

mov cx,20

mov ch,0

lea di,fushu

delete_0_1:

mov bl,[si]

cmp bl,0 ;判断占位0

je nextchar

mov [di],bl

inc di

nextchar:

inc si

loop delete_0_1

;将字符转成16进制数并累加求和

lea di,fushugeshu

mov cl,[di]

mov ch,0

mov ax,0

mov bx,0 ;bx为累加和

mov dx,0

lea si,fushu

qiuhe:

push bx

push cx

mov cl,4

mov al,[si] ;al存高位

shl ax,cl

inc si

mov dl,[si] ;dl存低位

add ax,dx ;加和结果存到ax中

pop cx

pop bx

neg al ;转绝对值

add bx,ax ;累加到bx中

inc si

loop qiuhe

mov dl,2DH ;输出负号

mov ah,02H

int 21H

mov ax,bx ;将乘法结果存到ax中

mov bx,0

mov dx,0

mov cx,5

mov ch,0

lea si,divnum

divide:

mov bx,[si]

div bx

cmp ax,0

jne shuchu

je xiayiwei

shuchu:

push dx

mov dx,ax

add dl,30H

mov ah,02H

int 21H

pop dx

xiayiwei:

mov ax,dx

mov dx,0

add si,2

loop divide

    

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 键盘输入十个数,分别统计0到9,10到99,100以上的数的个数,并显示结果。

DATAS SEGMENT

    n1 db 6

        db ?

        db 6 dup(?)

    n2 db 6

        db ?

        db 6 dup(?)

    n3 db 6

        db ?

        db 6 dup(?)

    n4 db 6

        db ?

        db 6 dup(?)

    n5 db 6

        db ?

        db 6 dup(?)

    n6 db 6

        db ?

        db 6 dup(?)

    n7 db 6

        db ?

        db 6 dup(?)

    n8 db 6

        db ?

        db 6 dup(?)

    n9 db 6

        db ?

        db 6 dup(?)

    n10 db 6

        db ?

        db 6 dup(?)

    address db 10 dup(?)

    yiweishu db '0-9:$'

    liangweishu db '10-99:$'

    dayusanweishu db '100-65535:$'

     

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,n1

    mov ah,0AH

    int 21H

    lea di,address

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

    

    lea dx,n2

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,n3

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n4

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n5

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n6

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,n7

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di    

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,n8

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di    

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,n9

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di   

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

           

    lea dx,n10

    mov ah,0AH

    int 21H

    mov [di],dl

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

    

    mov ax,0

    mov bx,0 ;bh记一位数,bl记两位数

    mov cx,10

    mov ch,0

    mov dx,0 ;dh记两位数以上,后变为ah

lea si,address

chashu:

mov ah,0

mov al,[si]

inc al

mov di,ax

mov dl,[di]

cmp dl,1

je yiwei

cmp dl,2

je liangwei

ja sanwei

  yiwei:

    inc bh

    inc si

cmp cx,1

je shuchu

loop chashu

  liangwei:

    inc bl

    inc si

cmp cx,1

je shuchu

loop chashu

  sanwei:

    inc dh

    inc si

cmp cx,1

je shuchu

loop chashu

shuchu:

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

    

    mov ah,dh

    push ax

    lea dx,yiweishu

    mov ah,09H

    int 21H

    add bh,30H

    mov dl,bh

    mov ah,02H

    int 21H

    

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H    

    

    lea dx,liangweishu

    mov ah,09H

    int 21H

    add bl,30H

    mov dl,bl

    mov ah,02H

    int 21H    

    

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,dayusanweishu

    mov ah,09H

    int 21H

    pop ax

    add ah,30H

    mov dl,ah

    mov ah,02H

    int 21H

          

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 键盘输入一串二进制数1ah ,7ch,0bah,3ah,45h,63h求其和,并将结果显示在屏幕上。

DATAS SEGMENT

    n1  db 13

        db ?

        db 13 dup(?)

    n2  db 13

        db ?

        db 13 dup(?)

    n3  db 13

        db ?

        db 13 dup(?)

    n4  db 13

        db ?

        db 13 dup(?)

    n5  db 13

        db ?

        db 13 dup(?)

    n6  db 13

        db ?

        db 13 dup(?)

    code_2 db 12 dup(0)

    address db 6 dup(?)

    mulnum dw 2048,1024,512,256,128,64,32,16,8,4,2,1

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    mov ES,AX

    

    lea dx,n1

    mov ah,0AH

    int 21H

    lea di,address

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

    

    lea dx,n2

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

        

    lea dx,n3

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n4

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n5

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di  

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H

       

    lea dx,n6

    mov ah,0AH

    int 21H

    mov [di],dl

    inc di

    mov dl,0DH

    mov ah,02H

    int 21H

    mov dl,0AH

    mov ah,02H

    int 21H    

;转二进制数字

mov cx,6

mov ch,0

    mov ax,0

    mov bx,0

    mov dx,0

    lea si,address

turn_num:

push cx

mov al,[si]

mov di,ax

inc di ;di指向字符串长度

mov cl,[di] ;cx计数字符串长度

inc di ;di指向字符串首地址

  xunhuan1:

mov bl,[di]

sub bl,30H

mov [di],bl

inc di

loop xunhuan1

pop cx

inc si

loop turn_num

;补齐12位

mov cx,6

mov ch,0

    mov ax,0

    mov bx,0

    mov dx,0

    lea di,address

move_char:

push di

push cx

mov al,[di]

mov si,ax

inc si ;si指向字符串长度

mov cl,[si] ;cx计数字符串长度

mov ch,0

inc si ;si指向字符串首地址   

lea di,code_2 ;di指向code_2首地址

cmp cx,8

jne zhongji2 ;判断位数,位数为8补4个0,位数为12不补0

    add di,4

  zhongji2:

rep movsb

;转为16进制数

mov cx,12

mov ch,0

lea di,code_2 ;di指向code_2首地址

lea si,mulnum

  leijia:

    push bx

    mov bl,[di] ;bx存2进制数

    mov bh,0

    mov ax,[si] ;ax存2进制乘数

    mul bx

    pop bx

    add bx,ax ;累加结果在bx中

    inc di

    add si,2

    loop leijia

    

    pop cx

    pop di

    inc di

    loop move_char

  

   mov ax,0

   mov dx,0

shuchu:

;输出回车换行

mov dl,0DH

mov ah,02H

int 21H

mov dl,0AH

mov ah,02H

int 21H

;输出第1个数字

mov cx,4

mov ch,0

mov dh,bh

shr dh,cl ;得到高8位中的高位

and dh,0FH

cmp dh,09H

jbe shuzi1

ja  zimu1

shuzi1:

add dh,30H

jmp shuchu1

zimu1:

add dh,37H

jmp shuchu1

shuchu1:

mov dl,dh

mov ah,02H ;输出高8位中的高位

int 21H

;输出第2个数字

mov dh,bh

and dh,0FH ;得到高8位中的低位

cmp dh,09H

jbe shuzi2

ja  zimu2

shuzi2:

add dh,30H

jmp shuchu2

zimu2:

add dh,37H

jmp shuchu2

shuchu2:

mov dl,dh

mov ah,02H ;输出高8位中的低位

int 21H

;输出第3个数字

mov dl,bl

shr dl,cl ;得到低8位中的高位

and dl,0FH

cmp dl,09H

jbe shuzi3

ja  zimu3

shuzi3:

add dl,30H

jmp shuchu3

zimu3:

add dl,37H

jmp shuchu3

shuchu3:

mov ah,02H ;输出低8位中的高位

int 21H

;输出第4个数字

mov dl,bl

and dl,0FH ;得到低8位中的低位

cmp dl,09H

jbe shuzi4

ja  zimu4

shuzi4:

add dl,30H

jmp shuchu4

zimu4:

add dl,37H

jmp shuchu4

shuchu4:

mov ah,02H ;输出低8位中的低位

int 21H

mov dl,48H

mov ah,02H

int 21H    

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  1. 一个有符号字数组以0为结束标志,编程求这个数组的最大值、 最小值、平均值。

  1. 在BUFFER中定义了的十个带符号字,将其中的负数变成绝对值,并以十进制方式输出。

  1. 已知数组A包含20个互不相等的字型整数,数组B包含30个互不相等的字型整数,试编制一程序把在A中而不在B中出现的整数放于数组C中。

大作业4:

DATAS SEGMENT

    buf db 100

        db ?

        db 100 dup(?)   

    letter db 'The number of letter is:$'

    words db 'The number of word is:$'

    sentence db 'The number of sentence is:$'

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    

    lea dx,buf

    mov ah,0Ah

    int 21h

    lea di,buf

    inc di

    mov cx,[di]

    mov ch,0

    inc di

    mov ax,0;ah为单词计数器,al为字母计数器

    mov bx,0;bh为句子计数器,bl为字母数据寄存器

    mov dx,0;dl临时存字符

   

panduan:

    mov dl,[di]

    cmp dl,2EH

     je juzi

    cmp dl,'A'

    jb nextchar

    cmp dl,'z'

    ja nextchar

    cmp dl,'Z'

    jbe zimu

    cmp dl,'a'

    jae zimu

    jmp nextchar

juzi:

       inc bh

       jmp nextchar

zimu:

       inc bl

       jmp nextloop

nextchar:;碰到回车或非字母字符时,字母或句子结束

      cmp bl,1

      je zhongji1

      ja zhongji2

      jb nextloop

zhongji1:

      inc al

      mov bl,0

      jmp nextloop

zhongji2:

      inc ah

      mov bl,0

      jmp nextloop

nextloop:

      inc di

    loop panduan

;输出

     mov bl,ah;将单词计数转移到bl中

     push bx

     push ax

     mov dl,0DH;回车换行

     mov ah,02H

     int 21H

     mov dl,0AH

     mov ah,02H

     int 21H

     lea dx,letter;输出字母数量

     mov ah,09H

     int 21H

     pop ax

     add al,30H

     mov dl,al

     mov ah,02H

     int 21H

mov dl,0DH;回车换行

     mov ah,02H

     int 21H

     mov dl,0AH

     mov ah,02H

     int 21H

     lea dx,words;输出单词数量

     mov ah,09H

     int 21H

     pop bx

     add bl,30H

     mov dl,bl

     push bx

     mov ah,02H

     int 21H

mov dl,0DH;回车换行

     mov ah,02H

     int 21H

     mov dl,0AH

     mov ah,02H

     int 21H

     lea dx,sentence;输出句子数量

     mov ah,09H

     int 21H

     pop bx

     add bh,30H

     mov dl,bh

     mov ah,02H

     int 21H

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值