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

📄 lk.asm

📁 mfc的插件 课程设计的东西希望大家喜欢
💻 ASM
字号:
INCLUDE IOSTREAM.LIB
DATAS SEGMENT
D DW 10000, 1000, 100, 10, 1
BUF1 DW 200 DUP(0)
BUF2 DB 0,0,0,0,0,"$"
BUF3 DB 800 DUP(0)
STR DB 'PLEASE INPUT A STRING:$'
STR1 DB 'NUMBER IS:$'
STR3 DB 'ADDESS IS:$'
STR4 DB 'NO DOLLAR IS HERE!$'
F DB -1
H DB 0
M DW 0
BUF4 DB 200 DUP(0)
TAB DB 200
    DB ?
    DB 200 DUP(0) 
COUNT EQU $-TAB
DATAS ENDS

STACKS SEGMENT
    DB 200 DUP(0)
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV ES,AX
    OUTPUT1 STR
    INPUT TAB
    LEA DI,TAB+2
    MOV CX,COUNT
    MOV AL,'$'
    CLD
    LEA SI,BUF1
    LEA BX,BUF4
    PUSH BX
    
LP:
    REPNE SCASB
    JNE NT
    INC H
    MOV [SI],DI
    INC SI
    INC SI
    LEA BX,TAB+2
    MOV M,DI
    SUB M,BX
    MOV DX,M
    MOV BX,0
    PUSH BX
    POP BX
    POP BX
    MOV [BX],DL
    INC BX
    PUSH BX
    JMP LP
NT:
    CMP H,0
    JE  ET1
    MOV AH,H
    MOV F,AH
    RETURN
    OUTPUT1 STR1
    CALL TEN
    RETURN
    OUTPUT1 STR3
    RETURN
    LEA SI,BUF1
    LEA BX,BUF4
    PUSH BX
LP3:
    CMP [BX],00H
    JZ ET
    PUSH BX
    POP BX
    POP BX
    MOV DL,BYTE PTR [BX]
    MOV F,DL
    PUSH SI
    CALL TEN
    POP SI
    INC BX
    PUSH BX
    MOV AH,2
    MOV DL,20H
    INT 21H
LP2:
    PUSH BX
    MOV BX,0
    MOV BX,[SI]
    DEC BX
    CALL BINTOHEX
    MOV AH,2
    MOV DL,20H
    INT 21H
    INC SI
    INC SI
    POP BX
    JMP LP3
ET:
    MOV AH,4CH
    INT 21H
ET1: 
    RETURN
    OUTPUT1 STR4
    JMP ET
BINTOHEX PROC
    MOV DI,0
    LEA DI,BUF3
    MOV CH,4
AGAIN:
    MOV CL,4
    ROL BX,CL
    MOV AL,BL
    AND AL,0FH
    ADD AL,30H
    CMP AL,3AH
    JL OPUT
    ADD AL,7H
OPUT:
    MOV [DI],AL
    INC DI
    DEC CH
    JNZ AGAIN
    MOV [DI],BYTE PTR 'H'
    MOV [DI+1],BYTE PTR '$'
    LEA DX,BUF3
    MOV AH,9
    INT 21H
    RET
BINTOHEX ENDP
TEN PROC
mov ax,0
mov al,F
mov     si, offset D
        mov     di, offset BUF2                    
        mov     cx,5   
aa:
        mov     dx,0            
        div     word ptr [si]  
        add     al,48           
        mov     byte ptr [di],al        
        inc     di                                
        add     si,2                           
        mov     ax,dx                        
        loop    aa
        mov     cx,4    
        mov     di, offset BUF2
bb:
        cmp     byte ptr [di],'0'  
        jne     print
        inc     di                           
        loop    bb
print:
        mov     dx,di                       
        mov     ah,9
        int     21h 
        RET
TEN ENDP
CODES ENDS
    END START

⌨️ 快捷键说明

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