Привет! Помогите с программой нужно написать программу которая выводит рамку с псевдокодом в левом нижнем углу.
volvo
16.06.2009 1:50
А теперь, если можно. еще раз, только более доходчиво: что должно отображаться на экране? Рамка с каким псевдокодом? Ну, и про компилятор сразу: чем пользуешься? MASM/TASM/FASM/NASM/что-то еще?
Гость
16.06.2009 2:09
компилятор Tasm. Программа должна выводить пустую рамку в левом нижнем углу.
volvo
16.06.2009 14:11
Например, вот так:
data segment
size_X dw 40 size_Y dw 10
data ends
code segment assume cs: code, ds: data
DrawFrame proc push es mov ax, 0b800h mov es, ax ; Начало видеопамяти
push ax push bx push dx mov al, dh mov bl, 160 mul bl mov di, ax xor dh, dh add di, dx pop dx pop bx pop ax
push di ; в DI - смещение для символа, расположенного ; по координатам DH:DL mov ah, 7 ; В AH - атрибуты цвета (серый на черном) mov al, 201 ; Верхний левый угол... stosw ; Заносим два байта (атрибут/символ)
mov al, 205 ; Верхняя линия mov cx, size_X ; Ширина рамки rep stosw
mov al, 187 ; Верхний правый угол stosw
pop di add di, 160 ; Переходим на следующий ряд
mov cx, size_Y ; CX - высота окна next: push cx push di