📄 4.asm
字号:
stack segment stack 'stack'
dw 32 dup (?)
stack ends
data segment
DecIN db 7,0,8 dup(?)
HexOut 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 DecIn
mov ah,10
int 21H
mov cl,DecIn[1]
mov ch,0
mov SI,offset DecIn + 2
mov al,[SI]
CMP al,'-'
pushf
mov ax,0
mov bx,0
JNZ PLUS
INC SI
DEC cx
PLUS:
AGAIN:
mov bl,[SI]
sub bl,030H
CMP bl,00AH
JS SHUZI
sub bl,7
SHUZI:
mov dh,0
mov dl,10
Mul dx
add ax,bx
INC SI
LOOP AGAIN
mov SI,offset HexOut + 3
popf
mov cx,4
JNZ ZHENG
NEG ax
ZHENG:
mov bx,ax
and bl,00FH
CMP bl,0AH
JS NUM
add bl,7
NUM:
add bl,030H
mov [SI],bl
DEC SI
push cx
mov cl,4
shr ax,cl
pop cx
LOOP ZHENG
INC SI
mov dl,00AH
mov ah,2
int 21H
mov dx,SI
mov ah,9
INT 21H
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -