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

📄 mon88.asm

📁 cpu86是用VHDL描述的8088IP核
💻 ASM
📖 第 1 页 / 共 5 页
字号:
    test        byte ptr 7[si],40H
    je          L$22
    cmp         word ptr -8[bp],0
    je          L$22
    mov         word ptr -0eH[bp],1
L$22:
    mov         al,byte ptr [si]
    xor         ah,ah
    mov         bx,ax
    add         bx,word ptr -0eH[bp]
    shl         bx,1
    push        word ptr _opnames[bx]
    mov         ax,offset L$456
    push        ax
    mov         ax,word ptr -3cH[bp]
    add         ax,di
    push        ax
    call        near ptr esprintf_
    add         sp,6
    add         di,ax
L$23:
    mov         bx,word ptr -3cH[bp]
    add         bx,di
    cmp         di,7
    jge         L$24
    mov         byte ptr [bx],20H
    inc         di
    jmp         L$23
L$24:
    mov         byte ptr [bx],0
    lea         bx,2[si]
    mov         word ptr -0aH[bp],bx
    mov         word ptr -0cH[bp],0
L$25:
    mov         al,byte ptr 1[si]
    xor         ah,ah
    cmp         ax,word ptr -0cH[bp]
    jle         L$32
    mov         word ptr -16H[bp],0
    mov         word ptr -14H[bp],0
    mov         bx,word ptr -0aH[bp]
    mov         al,byte ptr [bx]
    dec         al
    cmp         al,3dH
    ja          L$34
    mov         bx,ax
    shl         bx,1
    jmp         word ptr cs:L$6[bx]
L$26:
    mov         ax,word ptr -6[bp]
    shl         ax,1
    inc         ax
    inc         ax
L$27:
    push        ax
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_bytes_
L$28:
    push        word ptr -16H[bp]
    mov         ax,offset L$457
    jmp         near ptr L$48
L$29:
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_byte_
    jmp         L$28
L$30:
    mov         ax,word ptr -8[bp]
    shl         ax,1
    inc         ax
    inc         ax
    push        ax
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_bytes_
    push        word ptr -16H[bp]
    jmp         L$38
L$31:
    mov         ax,2
    jmp         L$27
L$32:
    jmp         near ptr L$63
L$33:
    mov         bx,word ptr -6[bp]
    shl         bx,1
    push        word ptr _dssi_regs[bx]
    mov         ax,offset L$459
    jmp         near ptr L$48
L$34:
    jmp         near ptr L$62
L$35:
    mov         bx,word ptr -6[bp]
    shl         bx,1
    push        word ptr _esdi_regs[bx]
    mov         ax,offset L$460
    jmp         near ptr L$48
L$36:
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_byte_
    mov         al,byte ptr -16H[bp]
    xor         ah,ah
    add         ax,word ptr -18H[bp]
L$37:
    push        ax
L$38:
    mov         ax,offset L$458
    jmp         near ptr L$48
L$39:
    mov         ax,word ptr -8[bp]
    shl         ax,1
    inc         ax
    inc         ax
    push        ax
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_bytes_
    mov         ax,word ptr -18H[bp]
    add         ax,word ptr -16H[bp]
    jmp         L$37
L$40:
    mov         ax,word ptr -8[bp]
    shl         ax,1
    inc         ax
    inc         ax
    push        ax
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-16H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_bytes_
    mov         ax,2
    push        ax
    lea         cx,-1aH[bp]
    mov         bx,word ptr -3eH[bp]
    lea         dx,-14H[bp]
    lea         ax,-18H[bp]
    call        near ptr get_bytes_
    push        word ptr -16H[bp]
    push        word ptr -14H[bp]
    mov         ax,offset L$461
    push        ax
    lea         ax,-3aH[bp]
    push        ax
    call        near ptr esprintf_
    add         sp,8
L$41:
    lea         ax,-3aH[bp]
    push        ax
    mov         ax,offset L$463
    push        ax
    mov         ax,word ptr -3cH[bp]
    add         ax,di
    push        ax
    call        near ptr esprintf_
    add         sp,6
    add         di,ax
    mov         al,byte ptr 1[si]
    xor         ah,ah
    dec         ax
    cmp         ax,word ptr -0cH[bp]
    jle         L$42
    mov         ax,offset L$465
    push        ax
    mov         ax,word ptr -3cH[bp]
    add         ax,di
    push        ax
    call        near ptr esprintf_
    add         sp,4
    add         di,ax
L$42:
    inc         word ptr -0cH[bp]
    inc         word ptr -0aH[bp]
    jmp         near ptr L$25
L$43:
    mov         ax,1
L$44:
    push        ax
    mov         ax,offset L$462
    jmp         L$48
L$45:
    mov         ax,3
    jmp         L$44
L$46:
    mov         bx,word ptr -0aH[bp]
    mov         al,byte ptr [bx]
    xor         ah,ah
    mov         bx,ax
    shl         bx,1
    push        word ptr _direct_regs-24H[bx]
L$47:
    mov         ax,offset L$463
L$48:
    push        ax
    lea         ax,-3aH[bp]
    push        ax
    call        near ptr esprintf_
    add         sp,6
    jmp         L$41
L$49:
    mov         bx,word ptr -0aH[bp]
    mov         al,byte ptr [bx]
    xor         ah,ah
    mov         bx,ax
    shl         bx,1
    push        word ptr _ea_regs-32H[bx]
    jmp         L$47
L$50:
    lea         ax,-3aH[bp]
    push        ax
    lea         ax,-1aH[bp]
    push        ax
    push        word ptr -3eH[bp]
    mov         al,byte ptr -2[bp]
    xor         ah,ah
    lea         cx,-18H[bp]
    mov         bx,ax
    xor         dx,dx
    jmp         L$57
L$51:
    lea         ax,-3aH[bp]
    push        ax
    lea         ax,-1aH[bp]
    push        ax
    push        word ptr -3eH[bp]
    mov         al,byte ptr -2[bp]
    xor         ah,ah
    mov         dx,word ptr -8[bp]
    inc         dx
    lea         cx,-18H[bp]
    mov         bx,ax
    jmp         L$57
L$52:
    lea         ax,-3aH[bp]
    push        ax
    lea         ax,-1aH[bp]
    push        ax
    push        word ptr -3eH[bp]
    mov         al,byte ptr -2[bp]
    xor         ah,ah
    lea         cx,-18H[bp]
    mov         bx,ax
    mov         dx,1
    jmp         L$57
L$53:
    mov         al,byte ptr -2[bp]
    mov         cl,3
    mov         bx,ax
    sar         bx,cl
    xor         bh,bh
    and         bl,7
    shl         bx,1
    push        word ptr _ea_regs[bx]
    jmp         near ptr L$47
L$54:
    mov         al,byte ptr -2[bp]
    mov         cl,3
    mov         bx,ax
    sar         bx,cl
    xor         bh,bh
    and         bl,7
    shl         bx,1
    push        word ptr _ea_regs+10H[bx]
    jmp         near ptr L$47
L$55:
    lea         ax,-3aH[bp]
    push        ax
    lea         ax,-1aH[bp]
    push        ax
    push        word ptr -3eH[bp]
    mov         al,byte ptr -2[bp]
    xor         ah,ah
    lea         cx,-18H[bp]
    mov         bx,ax
L$56:
    mov         dx,2
L$57:
    mov         ax,word ptr -6[bp]
    call        near ptr dec_modrm_
    jmp         near ptr L$41
L$58:
    lea         ax,-3aH[bp]
    push        ax
    lea         ax,-1aH[bp]
    push        ax
    push        word ptr -3eH[bp]
    mov         bl,byte ptr -2[bp]
    xor         bh,bh
    lea         cx,-18H[bp]
    jmp         L$56
L$59:
    mov         al,byte ptr -2[bp]
    mov         cl,3
    mov         bx,ax
    sar         bx,cl
    xor         bh,bh
    and         bl,7
    shl         bx,1
    push        word ptr _seg_regs[bx]
    jmp         near ptr L$47
L$60:
    mov         al,byte ptr -2[bp]
    mov         cl,3
    mov         bx,ax
    sar         bx,cl
    xor         bh,bh
    and         bl,7
    shl         bx,1
    push        word ptr _cntrl_regs[bx]
    jmp         near ptr L$47
L$61:
    mov         al,byte ptr -2[bp]
    mov         cl,3
    mov         bx,ax
    sar         bx,cl
    xor         bh,bh
    and         bl,7
    shl         bx,1
    push        word ptr _debug_regs[bx]
    jmp         near ptr L$47
L$62:
    mov         bx,word ptr -0aH[bp]
    mov         al,byte ptr [bx]
    xor         ah,ah
    push        ax
    mov         ax,offset L$464
    push        ax
    add         di,word ptr -3cH[bp]
    push        di
    call        near ptr esprintf_
    add         sp,6
L$63:
    mov         cx,word ptr -18H[bp]
    mov         ax,cx
L$64:
    mov         sp,bp
    pop         bp
    pop         di
    pop         si
    pop         cx
    ret      
       
dec_modrm_:
    push        si
    push        di
    push        bp
    mov         bp,sp
    sub         sp,22H
    PUSH        DX
    mov         si,cx
    mov         di,word ptr 0aH[bp]
    mov         al,bl
    xor         ah,ah
    mov         cl,6
    sar         ax,cl
    xor         ah,ah
    mov         dl,al
    and         dl,3
    mov         dh,bl
    and         dh,7
    mov         word ptr -2[bp],0
    mov         al,dh
    mov         bx,ax
    shl         bx,1
    push        word ptr _ea_modes[bx]
    mov         ax,offset L$466
    push        ax
    lea         ax,-22H[bp]
    push        ax
    call        near ptr esprintf_
    add         sp,6
    cmp         dl,3
    jne         L$67
    
    mov         cl,4
    mov         ax,word ptr -24H[bp]
    shl         ax,cl
    add         bx,ax
  
    push        word ptr _ea_regs[bx]
L$65:
    mov         ax,offset L$463
L$66:
    push        ax
    push        word ptr 0cH[bp]
    call        near ptr esprintf_
    add         sp,6
    jmp         L$71

⌨️ 快捷键说明

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