Определение размера памяти компьютера

Автор Administrator   
01:08:2008 г.
Задача: 1. Напишите и выполните программу, которая определяет размер памяти компьютера (INT 12H), преобразует полученное значение в ASCII-формат и выводит результат на экран в следующем виде:
Размер памяти nnn байтов.

Листинг программы:


.model tiny
.code
.386
org 100h
start:
mov ah,9
mov dx,offset pr
int 21h
mov al,015h
out 070h,al
in al,071h
mov bl,al
mov al,016h
out 070h,al
in al,071h
mov bh,al
mov ax,bx
mov bx,10
xor di,di
l1:
xor dx,dx
div bx
add dl,030h
dec di
mov buf_end[di],dl
cmp ax,00h
jnz l1
lea dx,buf_end[di]
mov ah,09h
int 21h
mov ah,9
mov dx,offset pr2
int 21h
mov al,017h
out 070h,al
in al,071h
mov bl,al
mov al,018h
out 070h,al
in al,071h
mov bh,al
mov ax,bx
mov bx,10
xor di,di
l2:
xor dx,dx
div bx
add dl,030h
dec di
mov buf_end[di],dl
cmp ax,00h
jnz l2
lea dx,buf_end[di]
mov ah,09h
int 21h
int 20h
ret
buf db 16 dup (?)
buf_end db'$'
pr db 'Razmer bazovoi pamati: ','$'
pr2 db ' bait,razmer rasshirenoi pamati: ','$'
pr3 db ' bait','$'
end start


Результаты работы программы:

Razmer bazovoi pamati: 640 bait,razmer rasshirenoi pamati: 1024