回 帖 发 新 帖 刷新版面

主题:求解汇编~~~

以下两段汇编是什么意思?请各位大哥帮帮小弟~~~

DATAS SEGMENT
DAT1 DB ?
DAT2  DB ?

DAT3  DB ?
DAT4  DB ? 
BUF DB 0DH,0AH,'IS A ALPHA! $'
BUF1 DB 0DH,0AH,'IS A DIGITAL! $'
BUF2 DB 0DH,0AH,'OTHER! $'
DATAS ENDS

STACKS SEGMENT STACK
    DB 200 DUP(?)
    
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV AH,01H
    INT 21H
    LEA BX,DAT1
    MOV [BX],AL
    
    CMP AL,61H
    JB  NEXT1
    CMP  AL,7AH
    JA  NEXT1
    SUB AL,20H
    LEA BX,DAT2
    
    MOV [BX],AL
    LEA DX,BUF
    MOV AH,9
    INT 21H
    JMP EXIT
    
NEXT1:CMP AL,30H
    JNB NEXT2
    CMP AL,39H
    JNA NEXT2
    
    LEA BX,DAT4
    MOV [BX],AL
    LEA DX,BUF2
    MOV AH,9
    INT 21H
    JMP EXIT
NEXT2:LEA BX,DAT3
    MOV [BX],AL
    LEA DX,BUF1
    MOV DX,9
    INT 21H
    JMP EXIT       
EXIT:    MOV AH,4CH
    INT 21H
    
CODES ENDS
    END START



DATAS SEGMENT
TABLE DB 0H,1H,4H,9H,16H,25H,36H,49H,64H,81H
RESULT DB ?
BUF  DB 0AH,0DH,'square='
BUF1 DB 4 dup(?)
 
DATAS ENDS

STACKS SEGMENT  STACK
    DB 200 DUP(?)
    
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    
    MOV AH,01H
    INT 21H
    
    SUB AL,30H
    
    LEA DI,TABLE
    
    MOV AH,0
    
    ADD DI,AX
    MOV AL,[DI]
    LEA BX,RESULT
    MOV [BX],AL
    LEA DI,BUF1
    MOV AL,RESULT
    MOV CL,4
    SHR AL,CL
    OR  AL,30H
    MOV [DI],AL
    INC DI
    MOV AL,RESULT
    AND AL,0FH
    OR  AL,30H
    MOV [DI],AL
    INC DI
    
    MOV BYTE PTR [DI],'$'
    MOV DX,OFFSET BUF
    MOV AH,9
    INT 21H
    
    
    
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START


回复列表 (共2个回复)

沙发

上面一个程序是判定输入的是数字还是小写字母,是数字输出IS A ALPHA!
……

下面一个程序是通过平方表求0~9的平方,以10进制输出。

板凳

看了全面的几句都知道是,:判断是数字,字母,还是其他的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册