Асемблер
| |
kleoo-svitulo | Дата: Неділя, 26.10.2008, 00:01 | Повідомлення # 1 |
Admin
Група: Администраторы
Повідомлень: 170
Статус: Offline
| Давайте поговорим про дану мову програмування...про її можливості та методи застосування... Викладаймо різні типи програм на даній мові і короткий опис її функції... ВИКЛАДУ ДЛЯ ПОЧАТКУ ЛАБОРАТОРКИ З Системного програмування (1.2.) Code Лаба 1
розбирання в командах(загально)
StackS SEGMENT PARA STACK 'Stack' StackS ENDS CodeS SEGMENT BYTE PUBLIC 'Code' ASSUME cs:CodeS, ss:StackS @BYTE PROC NEAR ; визначення типу процедури push bp ; занесення значення bp в АХ mov bp, sp ; переміщення значення sp в bp mov ax, [bp + 4] ; переміщення значення зміщення адреси [bp + 4] в ax mov di, [bp + 6] ; переміщення значення зміщення адреси [bp + 6] в di mov cl, 10 ; занесення значення 10 в cl xor dx, dx ; обнулення регістру dx @while:cmp al, cl ; перевірка чи al містить значення cl jb @exit ; якщо значення вірне то перехід на @exit xor ah, ah ; інакше обнуління ah div cl ; ділення cl на al or ah, 30h ; порівняння регістрів методом логічного або mov [di], ah ; переміщення ah в адресу [di] dec di ; зменшення di на 1 inc dx ; збільшення dx на 1 jmp short @while ; перехід на адресу мітки @while @exit: ; мітка виходу з програми or al, 30h ; порівняння регістрів методом логічного або mov [di], al ; переміщення al в адресу [di] inc dx ; збільшення dx на 1 mov cx, 3 ; занесення значення 3 в cx sub cx, dx ; віднімання dx від cx jz @real_exit ; умовний перехід на мітку @real_exit @zeros: dec di ; зменшення di на 1 mov [di], byte ptr '0' ; звернення до частини змінної loop @zeros ; перехід циклу до мітки @zeros @real_exit: mov ax, dx ; переміщення значення dx в ax pop bp ; виймання слів із стеку bp ret ; повернення з підпрограми @BYTE NDP ; завершення мітки @BYTE PUBLIC @BYTE ; визначення ідентифікатора мітки @BYTE Codes ENDS ; кінець сегмента END ; завершення програми Code Лаба 2
Ввід і вивід тексту на екран...
DANI SEGMENT SOSO DB 50 DANI ENDS COD SEGMENT ASSUME CS:COD; DS:DANI ORG 100H BEGIN: xor cx,cx xor dx,dx xor ax,ax xor bx,bx @ARNI: mov ah,1h int 21h cmp al,13 je @TAK mov soso[bx],al inc bx inc cx jmp @ARNI @TAK: xor bx,bx @Y: mov dl,10 mov ah,2 int 21h mov dl,13 mov ah,2 int 21h mov dl,soso[bx] mov ah,2 int 21h inc bx dec cx cmp cx,0 jne @Y @NO: mov ah,4ch int 21h COD ENDS END BEGIN
Все буде добре! Якщо тільки захотіти!!!
|
|
| |
connect | Дата: Неділя, 26.10.2008, 00:41 | Повідомлення # 2 |
Курсант
Група: Пользователи
Повідомлень: 6
Статус: Offline
| До речі, ось знайшов книжечку про те, як писати ВІРУСИ на асемблері. По ній можна курсову робити)))
Щастя - всього лиш хороше здоров'я, і погана пам'ять
|
|
| |
kleoo-svitulo | Дата: Неділя, 26.10.2008, 00:47 | Повідомлення # 3 |
Admin
Група: Администраторы
Повідомлень: 170
Статус: Offline
| Що точно? Це круто! А ти по чому писати думаєш?
Все буде добре! Якщо тільки захотіти!!!
|
|
| |
connect | Дата: Неділя, 26.10.2008, 01:03 | Повідомлення # 4 |
Курсант
Група: Пользователи
Повідомлень: 6
Статус: Offline
| Quote (connect) Що точно? Це круто! А ти по чому писати думаєш? Можливо на Сі, але це вже по обставинах.... P.S. Нарив ше прогу, яка по теорії має чистити пароль на біос: Code mov dx, 070h mov al, 02Eh out dx, al inc dx xor al, al out dx, al mov dx, 070h mov al, 02Fh out dx, al inc dx xor al, al out dx, al mov ax,4C00h int 21h
Щастя - всього лиш хороше здоров'я, і погана пам'ять
|
|
| |
kleoo-svitulo | Дата: Неділя, 26.10.2008, 02:22 | Повідомлення # 5 |
Admin
Група: Администраторы
Повідомлень: 170
Статус: Offline
| Ось надибав пару книжечок по Асемблеру: Code http://www.proklondike.com/file/Assembler/Piter_Abel_-_Assembler(RUS).rar В цій книзі має бути багато прикладів в вигляді готових колів програмок... Code http://www.proklondike.com/file/Assembler/VPirogov_-_Assembler_for_Windows(RUS).rar і -3-
Все буде добре! Якщо тільки захотіти!!!
|
|
| |
kleoo-svitulo | Дата: Понеділок, 29.12.2008, 01:36 | Повідомлення # 6 |
Admin
Група: Администраторы
Повідомлень: 170
Статус: Offline
| 4-та лаба Завдання. Написати програму для обрахування факторіалу в розмірі до 99. Code DANI SEGMENT SOS DB 40 DANI ENDS COD SEGMENT ASSUME CS:COD, DS:SISI ORG 100H BEGIN: xor ax,ax xor bx,bx xor dx,dx xor cx,cx @ARNI: mov ah,1 int 21h cmp al,13 je @SS mov bl,al xor bl,00110000 cmp al,13 je @SS mov bl,al xor bl,00110000 xor bx,bx mov bl,10 div bl add al,ah xor bx,bx mov cl,1 mov bl,al mov al,bl @Repit: dec al mol bl dec bl mov dx,ax xor ax,ax mov al,bl cmp al,0 je @SS jmp @Repit @SS: mov ah,9 int 21h mov ah,4ch int 21h COD ENDS END BEGIN
Все буде добре! Якщо тільки захотіти!!!
|
|
| |
|