Вывести информацию BIOS - Assembler

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток... Задание целиком:
Изучить методы работы с функциями BIOS, структуру данных BIOS, функции DOS. Необходимо знать состав, назначение и длину выводимых данных в MS-DOS. Вывести на экран информацию BIOS по адресу: 0:413h
это походу объем памяти DOS?) не уверен

Решение задачи: «Вывести информацию BIOS»

textual
Листинг программы
.286
.MODEL Small
 
_DATA segment public 'DATA'
    write db "Information at adress 044A (Count of symbols in string) : $" ;текст о просьбе ввести число
_DATA ends
 
_TEXT segment public 'CODE'
Assume CS:_TEXT, DS:_DATA
;========================================;
IntegerOut  proc      ;процедура вывода чисел из ax на экран
    push    ax  ;сохранение регистров
    push    bx
    push    cx
    push    dx
    xor cx,cx   
    mov bx,10
om: inc cx      ;получаем цифры
    xor dx,dx
    div bx
    push    dx
    or  ax,ax
    jnz om    
om1:    pop dx     
    add dx,'0'
    mov ah,2
    int 21h 
    loop    om1
    pop dx    ;возврат регистров
    pop cx
    pop bx
    pop ax
    ret
IntegerOut  endp
;===============================;
 
_main proc far
 
mov AX, _DATA
mov DS,AX
 
mov dx, offset write ;выводим пояснительную строкуы
mov ah,09
int 21h
 
mov DX,0000h
mov ES,DX
mov DI,044Ah
mov AX,ES:[DI] ;получаем в AX информацию по адресу 044A
 
Call IntegerOut ; выводим ее на экран
 
mov ax,4c00h ; выход из программы.
int 21h
 
_main endp
_TEXT ends
End _main

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы