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

📄 dddddddd.asm

📁 用来实现对音乐的编译!用的是TASM编译器来实现在COM下的音乐效果
💻 ASM
字号:
STACK  SEGMENT STACk
       DB  200  DUP(0)
STACK  ENDS
DATA   SEGMENT
mess   db 'please input a mumber:(but result<256)$'
DATA   ENDS
CODE   SEGMENT
       ASSUME  CS:CODE,SS:STACK,DS:DATA
START: MOV  aX,DATA
       MOV  DS,aX
       lea  dx,mess
       mov ah,9
       int 21h
      sub ax,ax 
       mov ah,1
       int 21h
       and ax,0fh
       mov bl,al
       
       enter:
       mov dl,0dh    ;回车换行
       mov ah,2h
       int 21h
       mov dl,0ah
       int 21h
       sub ax,ax
       mov al,bl
       sub cx,cx
       mov cl,al
       dec cl
    s1:           ; mul格式是:AX=AL*SRC 
                 ;4*3=12. 12*2=24. 24*1
       mul  cl   ;  al*cl->aX  ,  
       loop s1   ; cl!=0, 转移到s1
                 ;结果放在 ah中
      
   ee: mov cx,4    ;输出寄存器AX中的内容
     i:push cx
       mov cl,4
       rol ax,cl
       push ax
       and ax,0fh
       add al,'0'
       mov dl,al
       mov ah,02
       int 21h
       pop ax
       pop cx
       loop i
       mov ah,1
       int 21h
       MOV AH,4CH
       INT 21H
       CODE   ENDS
       END  START




data    segment
value   dw      36h
data    ends
stack   segment stack
        db      200h dup(?)
tos     label   word
stack   ends
code    segment
        assume  cs:code,ds:data,ss:stack
main    proc    far
        mov     ax,stack
        mov     ss,ax
        mov     sp,offset tos
        push    ds
        xor     ax,ax
        push    ax
        mov     ax,data
        mov     ds,ax
        mov     cx,2
        mov     ax,value
        mov     bx,10
lp1:    xor     dx,dx
        div     bx
        add     dl,30h
        push    dx
        loop    lp1
        mov     cx,2
lp2:    pop     dx
        mov     ah,2
        int     21h
        loop    lp2
        ret
main    endp
code    ends
        end     main 

⌨️ 快捷键说明

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