Мне было поручено написать программу, которая отображает линейный адрес моего программы PSP. Я написал следующее:
ORG 256
mov dx,Msg
mov ah,09h ;DOS.WriteStringToStandardOutput
int 21h
mov ax,ds
mov dx,16
mul dx ; -> Linear address is now in DX:AX
???
mov ax,4C00h ;DOS.TerminateWithExitCode
int 21h
; ------------------------------
Msg: db 'PSP is at linear address $'
Я искал DOS api (используя список прерываний Ralph Brown) и не нашел ни одной функции для вывода числа! Я пропустил это, и что я могу сделать?
Я хочу показать число в DX:AX
в десятичном формате.