📄 h215.asm
字号:
stack segment stack'stack'
dw 32 dup(?)
stack ends
data segment
IBFN DB 'INPUT BYTE BCD:$'
IBF DB 3,0,3 DUP(?)
OBF DB 4 DUP(?)
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX,OFFSET IBFN
MOV AH,9
INT 21H
MOV DX,OFFSET IBF
MOV AH,10
INT 21H
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
MOV DL,10
MOV AL,IBF+3;judge the number value
CMP AL,0DH
JE SMA10
AND AL,0FH
MOV BL,AL
MOV AL,IBF+2
AND AL,0FH
MUL DL
ADD AL,BL
JMP HERE;input number above 10
SMA10: MOV AL,IBF+2
AND AL,0FH
MUL AL
MOV OBF+2,'$'
DIV DL;change the value to decimal code
OR AH,30H
MOV OBF+1,AH
OR AL,30H
MOV OBF,AL
MOV DX,OFFSET OBF
MOV AH,9
INT 21H
JMP EXIT
HERE: MUL AL
MOV BX,2
MOV OBF[BX+1],'$'
AGAIN2: DIV DL
OR AH,30H
MOV OBF[BX],AH
MOV AH,0;necessary
DEC BX
AND AL,AL
JNZ AGAIN2
MOV DX,OFFSET OBF
MOV AH,9
INT 21H
EXIT: ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -