⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6.07.asm

📁 设有十个学生的成绩分别是76
💻 ASM
字号:
DATAS SEGMENT
    ;此处输入数据段代码  
    scores dw 76,69,84,90,73,88,99,63,100,80
    num dw 10
    S6 dw ?
    S7 dw ?
    S8 dw ?
    S9 dw ?
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
        dw 20 dup(?)
     tos label word
STACKS ENDS

CODES SEGMENT
main proc near
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
 ;set up SS & SP register
    mov ax,stacks
    mov ss,ax
    mov sp,offset tos
 ;set up stack for return
    push ds  ;save old data segment
    sub ax,ax  ;put zero in ax
    push ax   ;save it on stack
 ;set DS register to current data segment
    mov ax,datas
    mov ds,ax   ;into ds register
 ;put address into stack
    mov bx,offset scores
    push bx
    mov bx,offset num
    push bx
    mov bx,offset S6
    push bx
    
    call near  ptr conclusion
    ret
conclusion proc near
    push bp  ;save bp
    mov bp,sp  ;use bp to access parameter
    push ax
    push cx
    push si
    push di
    
    mov si,[bp+0ah]  ;get addr of scores
    mov di,[bp+06h]  ;get addr of num
    mov cx,[di]  ;cx<--(num)
    mov di,[bp+04h]   ;get addr of S6
    xor ax,ax
    
next:   
    mov dl,10
    mov ax,[si]   
    div dl
    cbw
    sub ax,6
    add ax,ax
    mov di,ax
    add S6[di],1
    ;mov di,ax
    ;add [di],1
    mov di,[bp+04h]    
    add si,2
    loop next
    
    pop di
    pop si
    pop cx
    pop ax
    pop bp
    ret 6
 conclusion endp 
 main endp   
CODES ENDS
END START


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -