Не получается создать процедуру выводящую код символа в HEX формате, уже перерыл много форумов и никак, что делаю не так?
ideal
model small
stack 256
include "primer1.uno"
dataseg
simvol db ?
codeseg
extrn write_2:proc, write_10:proc, write_16:proc
start:
mov ax,@data
mov ds,ax
mov ah,1
int 21h
mov [simvol],al
probel
mov bl,[simvol]
call write_2
probel
mov dh,0
mov dl,[simvol]
call write_10
probel
mov dh,0
mov dl,[simvol]
call write_16
mov ax,4c00h
int 21h
end start
файл процедур PROC4.ASM
push dx
push si
mov ax,dx
mov si,10
mov cx,0
non_zero:
mov dx,0
div si
push dx
inc cx
cmp ax,0
jne non_zero
metka1:
pop dx
call wr_cifra
loop metka1
pop si
pop dx
pop cx
pop ax
ret
endp
proc wr_cifra
add dl,30h
mov ah,2
int 21h
ret
endp
proc write_16
push ax
push cx
push dx
push bx
mov ax,dx
mov si,16
mov cx,0
non_zero_w16:
mov dx,0
div si
push dx
inc cx
cmp ax,0
jne non_zero_w16
metka2:
pop dx
call wr_cifra
loop metka2
pop si
pop dx
pop cx
pop ax
ret
endp
end
файл макросов PRIMER1.UNO
macro probel
push ax
push dx
mov ah,2
mov dl," "
int 21h
pop dx
pop ax
endm