procedure TfrmMain.FormCreateButton(Sender: TObject);
var
i, j: Integer;
Begin
for i := 1 to QueensCount do
for j := 1 to QueensCount do
Begin
grdChessBoard[i,j] := TButton.Create(Self);
with grdChessBoard[i,j] do
begin
Parent := frmMain;
Height := trunc((Height - QueensCount - 1) / QueensCount);
Width := trunc((Width - QueensCount - 1) / QueensCount);
Left := j* Width;
Top := i * Height;
//OnClick := если надо выполнять что-то при клике
Visible := True;
End
End
End;
org 100h
Start:
mov ah, 0ah
mov dx, firstNum
int 21h
mov ah, 02h
mov dx, 10
int 21h
mov bx, firstNum
call A1
mov ah, $08
int 21h
mov ax, 4c00h ;выход
int 21h
A1:
push si
push di
xor cx, cx
mov di, 10
mov cl, [bx+1]
mov si, 2
.A2:
xor dx, dx
mov dl, [bx+si]
sub dl, '0'
add ax, dx
mul di
inc si
loop .A2
pop si
pop di
call Show_AX
Show_AX:
push ax
push cx
push dx
push di
mov di, 10 ;di - основание с/c(системы счисления)
xor cx, cx ;cx - количество цифр в числе
@@Conv:
xor dx, dx
div di ;dl = num mod 10
add dl, '0' ;перевод в символьный формат
inc cx
push dx ;складываем в стeк
or ax, ax
jnz @@Conv
;вывод из стека на экран
@@Show:
pop dx ;dl = очередной символ
mov ah, $02 ;ah - функция вывода символа на экран
int 21h
loop @@Show
pop di
pop dx
pop cx
pop ax
mov ah, $08
int 21h
mov ax, 4c00h ;выход
int 21h
firstNum dw 6,0,6 dup(?)